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

时间:2018-05-03 18:15:18

标签: web-services web-scraping arcgis esri arcgis-online

我想从ArcGIS地图中删除数据。单击红色功能时,以下地图会弹出一个弹出窗口。如何以编程方式访问该数据?

链接:https://cslt.maps.arcgis.com/apps/MapSeries/index.html?appid=2c9f3e737cbf4f6faf2eb956fa26cdc5

1 个答案:

答案 0 :(得分:4)

注意:请尊重您访问的任何ArcGIS Online项目的访问和使用约束。如有疑问,请勿保存其他人的数据副本。

ArcGIS Online REST interface使得获取ArcGIS Online项目背后的数据变得相对简单。您需要使用可以发出HTTP请求并解析JSON文本的环境。大多数当前的编程语言都具有内置的这些功能,或者具有这些功能的库。

以下是您的代码可以遵循的一般工作流程。

  1. 使用应用ID和item data endpoint查看应用的JSON文字:

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

  2. 搜索webmap的文字,看到该应用使用以下网址:

    • d2b4a98c39fd4587b99ac0878c420125
    • 7b1af1752c3a430184fbf7a530b5ec65
    • c6e9d07e4c2749e4bfe23999778a3153
  3. 查看任何这些网络地图的项目数据端点:

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

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

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

  5. 然后只需where 0=0 outFields(或任何你想要的)和* f=html运行query

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

    如果您想查看人类可读的请求表单和结果,请使用q() <environment: namespace:base> save status runLast class Save workspace image? [y/n/c]: n <environment: namespace:parallel> select class class class class [1] x [2] [3] class class

    请注意,要素服务限制了每个请求可以获得的功能数量,因此您可能希望按几何或属性值进行过滤。 Read the documentation了解您可以使用要素服务查询执行的所有操作。

相关问题