什么是提供静态地图图像(即png,jpg等)的官方ESRI解决方案?

时间:2011-04-05 22:14:56

标签: google-maps maps esri arcgis-server

我需要编写一个返回单个静态地图图像(png,jpg等)的地图服务。在过去(即Google Maps起飞之前),这是ArcIMS等服务器软件的默认工作方式。现在,这些包默认提供平铺地图服务,在大多数情况下通常是适当的解决方案。但是,在这种情况下,我的要求是返回一个可以通过URL访问的单个图像。

我知道Google Maps解决方案是他们的static map API。如果你正在创建一个简单的地图,这可以正常工作,但我的地图将有多边形和点叠加,并且可能在1024个字符URL的范围内添加为标记和编码多边形。

我可以访问ArcGIS Server,并且可以创建包含上述数据的地图服务,但我不知道让服务返回单个图像的最佳方法是什么。我在ESRI在线帮助中找到的唯一功能是能够将OGC Web地图服务(WMS)功能添加到地图服务中。你可以request the map as an image,但这对我来说似乎有点像黑客。

有没有人知道是否有更好/更正式的方式?

2 个答案:

答案 0 :(得分:7)

如果我了解您要正确执行的操作,则可以使用ArcGIS Server RESI API执行此操作。使用REST API,您可以从ArcGIS Server地图服务请求单个图像,并指定边界框,图像大小,图像文件类型和许多其他参数 - 然后您将获得单个图像尺寸,类型等。

地图服务可以是您在ArcGIS Server(9.3或更高版本)上发布的地图服务。该服务可以缓存或动态。您也可以使用ArcGIS Online服务,甚至只是为了感受它。例如,请转到以下URL:

http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer

在页面底部的“支持的操作”下,转到导出地图。在“图像大小”文本框中输入大小(例如:1200,1200)以及任何其他参数,然后单击“导出图像”。

通过查看请求的结果URL,您可以了解实际URL参数。您可以在此处获取有关参数的信息(例如,对于导出操作): http://help.arcgis.com/en/arcgisserver/10.0/apis/rest/export.html

现在您提到了创建Web服务,因此要以编程方式执行此操作,您可以直接点击REST API。或者,您可能希望创建自己的服务作为这些REST API调用的包装。

希望这有帮助,我理解你的问题。

答案 1 :(得分:3)

我刚刚创建:

  1. 一个自定义类让你这样做,你可以看看这里: https://github.com/esri-es/Static-Maps-API-ArcGIS
  2. 与Google Static Maps API类似的NodeJS脚本: https://github.com/esri-es/Static-Map-Service-ArcGIS
  3. 干杯, 劳尔