ArcGIS REST web_map_as_json 定义表达式
ArcGIS REST web_map_as_json definitionExpression
我正在使用 Javascript 对 ArcGIS 10.5
服务器上的 ExportWebMap
函数进行 REST 调用,其中 returns 是一张地图图像。返回了地图图像,但当我只想要一个点时它会显示所有点。我认为我的 defitinitionExpression 被忽略了。我查看了文档和论坛,但没有发现我的错误。
MAP QUERY URL: 我可以通过OBJECTID
成功查询MapServer
得到一个点
https://<baseUrl>/<arcserver>/rest/services/<project>/<map>/MapServer/export
休息 URL:
https://<baseUrl>/<arcserver>/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task/execute
这是我 post 导出 Web 地图时的参数
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]
}
}
已通过将业务图层从地图服务器更改为要素服务器并移动 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]
}
}
我正在使用 Javascript 对 ArcGIS 10.5
服务器上的 ExportWebMap
函数进行 REST 调用,其中 returns 是一张地图图像。返回了地图图像,但当我只想要一个点时它会显示所有点。我认为我的 defitinitionExpression 被忽略了。我查看了文档和论坛,但没有发现我的错误。
MAP QUERY URL: 我可以通过OBJECTID
MapServer
得到一个点
https://<baseUrl>/<arcserver>/rest/services/<project>/<map>/MapServer/export
休息 URL:
https://<baseUrl>/<arcserver>/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task/execute
这是我 post 导出 Web 地图时的参数
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]
}
}
已通过将业务图层从地图服务器更改为要素服务器并移动 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]
}
}