ArcGIS REST web_map_as_json definitionExpression - PullRequest
0 голосов
/ 28 июня 2018

Я использую Javascript, чтобы вызвать REST для функции ExportWebMap на сервере ArcGIS 10.5, который возвращает изображение карты. Возвращается изображение карты, но оно показывает ВСЕ точки, когда мне нужна только одна. Я думаю, что мое defitinitionExpression игнорируется. Я просмотрел документы и форумы, но не вижу своей ошибки.

URL КАРТЫ ДЛЯ ЗАПРОСА: я могу успешно запросить MapServer, чтобы получить одну точку по OBJECTID

https://<baseUrl>/<arcserver>/rest/services/<project>/<map>/MapServer/export 

REST URL:

https://<baseUrl>/<arcserver>/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task/execute

Вот мои параметры, когда я публикую на Экспорт веб-карту

Layout_Template: MAP_ONLY,
Format: PNG32,
f: json
Web_Map_as_JSON:
{
    "mapOptions":
    {
        "showAttribution":false,
        "extent":
        {
            "xmin":-118.85360990096176,
            "ymin":33.99062491328014,
            "xmax":-118.75318799544432,
            "ymax":34.04042561067984,
            "spatialReference":
            {
                "wkid":4326
            }
        },
        "spatialReference":
        {
            "wkid":4326
        }
    },
    "operationalLayers":
    [
        {
            "id":null,
            "title":"All Wells",
            "opacity":1,
            "url":"https://<baseUrl>/<arcserver>/rest/services/<project>/<map>/MapServer",
            "layers":
            {
                "id":0,
                "layerDefinition":
                {
                    "definitionExpression":"OBJECTID=27100"
                }
            }
        }
    ],
    "baseMap":
    {
        "title":"Street Basemap",
        "baseMapLayers":
        [
            {
                "url":"https://services.arcgisonline.com/arcgis/rest/services/ESRI_StreetMap_World_2D/MapServer",
                "opacity":1
            }
        ]
    },
    "exportOptions":
    {
        "dpi":96,
        "outputSize":[250,210]
    }
}

1 Ответ

0 голосов
/ 29 июня 2018

Решено путем изменения рабочего слоя с картографического сервера на сервер объектов и перемещения layerDefinition. Насколько я понимаю, картографический сервер может делать то, что я хотел, но может быть опция конфигурации сервера, о которой я не знаю.

Web_Map_as_JSON:
{
    "mapOptions":
    {
        "showAttribution":false,
        "extent":
        {
            "xmin":-118.85360990096176,
            "ymin":33.99062491328014,
            "xmax":-118.75318799544432,
            "ymax":34.04042561067984,
            "spatialReference":
            {
                "wkid":4326
            }
        },
        "spatialReference":
        {
            "wkid":4326
        }
    },
    "operationalLayers":
    [
        {
            opacity: 1,
            url: "https://<baseUrl>/<arcserver>/rest/services/<project>/<map>/FeatureServer/0",
            layerDefinition: {
                definitionExpression: "OBJECTID=27100"
            }
        },
    ],
    "baseMap":
    {
        "title":"Street Basemap",
        "baseMapLayers":
        [
            {
                "url":"https://services.arcgisonline.com/arcgis/rest/services/ESRI_StreetMap_World_2D/MapServer",
                "opacity":1
            }
        ]
    },
    "exportOptions":
    {
        "dpi":96,
        "outputSize":[250,210]
    }
}
...