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

Google maps 什么';提供静态地图图像(即png、jpg等)的官方ESRI解决方案是什么?,google-maps,maps,esri,arcgis-server,Google Maps,Maps,Esri,Arcgis Server,我需要编写一个地图服务,返回一个单一的静态地图图像(png、jpg等)。在过去(即谷歌地图起飞前),这是ArcIMS等服务器软件的默认工作方式。现在,这些包默认提供平铺地图服务,在大多数情况下,平铺地图服务通常是合适的解决方案。但是,在本例中,我的要求是返回一个可以通过URL访问的图像 我知道谷歌地图解决方案是他们的。如果您正在创建一个简单的地图,这很好,但是我的地图将有多边形和点覆盖,并且可能添加为标记和编码多边形,在1024个字符的URL范围内 我可以访问ArcGIS服务器,可以创建一个包含

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

我知道谷歌地图解决方案是他们的。如果您正在创建一个简单的地图,这很好,但是我的地图将有多边形和点覆盖,并且可能添加为标记和编码多边形,在1024个字符的URL范围内

我可以访问ArcGIS服务器,可以创建一个包含上述数据的地图服务,但我不知道让服务返回单个图像的最佳方式是什么。我在ESRI联机帮助中发现的唯一一件事是能够将OGC Web地图服务(WMS)功能添加到地图服务中。你可以这样做,但我觉得这有点像黑客


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

如果我了解您希望正确执行的操作,您可以利用ArcGIS Server RESI API来执行此操作。使用REST API,您可以从ArcGIS Server地图服务请求单个图像,并指定边界框、图像大小、图像文件类型和许多其他参数,然后返回该大小、类型等的单个图像

地图服务可以是您在ArcGIS服务器(9.3或更高版本)上发布的地图服务。服务可以是缓存的,也可以是动态的。您还可以利用ArcGIS在线服务,甚至只是为了体验一下。例如,转到以下URL:

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

您可以通过查看请求的结果URL来了解实际URL参数。您可以在此处获取有关参数的信息(例如,用于导出操作):

现在您提到了创建一个web服务,所以要以编程方式实现这一点,您可以直接点击RESTAPI。或者,您可能希望创建自己的服务作为这些RESTAPI调用的包装器

希望这有助于我正确理解您的问题。

我刚刚创建了:

  • 一个自定义类,您可以在这里查看:
  • 与Google静态地图API类似的NodeJS脚本:
  • 干杯,
    劳尔

    谢谢戴夫。这看起来和我想要的很接近。理想情况下,我可以将REST URL直接嵌入到“img”标记的“src”属性中,粗略地看一下您发送的示例,它看起来像是API生成了图像,将其放置在服务器的文件夹中,然后返回URL。我将尝试w/my test services有一个参数/值f=image,图像字节直接流式传输到客户端,尽管我仍然不确定是否允许您将REST URL直接嵌入图像标记中。您的另一个选择是使用您自己的web服务或其他机制发出REST请求,然后嵌入生成的图像URL。请记住,这些图像会在指定的时间间隔(我认为默认为10分钟)从AGS服务器自动清理(删除)。因此,指向图像的链接仅在短时间内有效。祝你好运。它在f=image参数下工作。我只是将带有该参数的RESTAPI url嵌入到图像的src属性中。工作起来很有魅力。谢谢看起来WMS功能只是导出函数的包装器,用于接收WMS指定格式的URL。这是否属于它们的服务条款?例如,在谷歌地图中直接访问分幅是不被允许的。感谢您在GitHub上创建静态地图项目-它看起来很棒!如果您仍在维护此功能,我刚刚提交了一个解决方案,以修复一个已损坏的URL,因为它目前正在失败