我如何从ArcGIS Online地图中获取数据?

18
1个回答

35
注意:请尊重您访问的任何ArcGIS Online项目的访问和使用限制。如果有疑问,请不要保存他人数据的副本。 ArcGIS Online REST接口使得获取ArcGIS Online项目背后的数据相对简单。您需要使用能够发出HTTP请求并解析JSON文本的环境。大多数当前的编程语言都已经内置了这些功能,或者有可用于这些功能的库。
以下是您的代码可以遵循的一般工作流程。
  1. 使用应用程序ID和项目数据终端查看应用程序的JSON文本:

    https://www.arcgis.com/sharing/rest/content/items/2c9f3e737cbf4f6faf2eb956fa26cdc5/data

  2. 搜索该文本以查找webmap,并查看应用程序使用以下Web地图:

    • d2b4a98c39fd4587b99ac0878c420125
    • 7b1af1752c3a430184fbf7a530b5ec65
    • c6e9d07e4c2749e4bfe23999778a3153
  3. 查看其中任何一个Web地图的项目数据终端:

    https://www.arcgis.com/sharing/rest/content/items/d2b4a98c39fd4587b99ac0878c420125/data

  4. operationalLayers列表指定可从中获取数据的要素图层URL。例如:

    https://services2.arcgis.com/gWRYLIS16mKUskSO/arcgis/rest/services/VHR_Areas/FeatureServer/0

  5. 然后仅使用where0=0(或您想要的任何内容)和outFields*运行查询

    https://services2.arcgis.com/gWRYLIS16mKUskSO/arcgis/rest/services/VHR_Areas/FeatureServer/0/query?where=0%3D0&outFields=%2A&f=json

    如果您想查看可读的请求表单和结果,请改用f=html

    请注意,要素服务有每个请求可以获取多少要素的限制,因此您可能需要通过几何或属性值进行过滤。阅读文档以了解可以使用要素服务查询做什么。


1
我很高兴我的回答有所帮助。 - Gary Sheppard
1
这个答案仍然有效吗?我正在寻找数据来源在此处。没有找到webmap,只有mapWidget,然后是datasets.dataSource.id - 看起来像这样:1200f3f1-8f72-4ea6-af16-14f19e9a4517 - 似乎不能与_/sharing/rest/content/items/<itemId>/data_请求一起使用。 - pax
5
是的,这个回答是有效的。你正在查看的项目是一个仪表板,它是一个不同于原帖中所询问的故事地图的结构。在仪表板项目数据中,有三个mapWidget对象,每个对象都有一个web地图项目ID作为itemId。您可以使用其中任何一个项目的数据(例如这里;其他两个对我来说几乎相同),并从这个答案的第3步开始操作。 - Gary Sheppard
2
这非常有帮助! - jlev
1
我在从仪表板检索数据方面遇到了一些问题,但这确实非常有帮助。 - Nacho R
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接