ArcGIS REST API提供了简单、开放的结构来访问和使用ArcGIS Server发布的服务。ArcGIS REST API的资源和操作都是通过端点的层次结构来显示的。
1 查看ArcGIS REST API基本信息
使用浏览器访问Esri提供的公开服务
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services。
该服务地址下有多个目录,选择其中的一个(Demographics)打开。
出现3个服务端点,
Demographics/ESRI_Census_USA (MapServer)、
Demographics/ESRI_Population_World(GPServer) 和
Demographics/ESRI_Population_World(MapServer),继续查看其中一个。
Demographics/ESRI_Census_USA (MapServer)服务下有5个图层:
Census Block Points (0)、Census Block Group (1)、Counties (2)、Coarse Counties (3)、Detailed Counties (4)和states (5)。每个图层的详细信息如下。
2 使用Python的requests模块构建REST请求
requests库的使用比较简单,导入后使用get(url)方法,就可得到requests对象r,然后打印对象的文本内容。
import requests
arcgis_url = 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services?f=pjson'
r = requests.get(arcgis_url)
print(r.text)
使用json模块,将获取的json数据转为Python字典格式。
import requests
import json
arcgis_url = 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services?f=pjson'
r = requests.get(arcgis_url)
dict_data = json.loads(r.text)
print(dict_data)
先遍历一下每个文件夹为访问所有服务做好准备。
import requests
import json
arcgis_url = 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services?f=pjson'
r = requests.get(arcgis_url)
dict_data = json.loads(r.text)
for data in dict_data['folders']:
print(data)