适用于爬取一个省、市、县、区等各个行政级别的行政区划数据,数据精确到区
级别。
以湖南省为例:
# -*- coding:utf-8 -*-
import arcpy
import urllib2
import sys
import json
import math
# 申请:高德API的开发者KEY
# 版本要求:ArcGis 10.2 Python 2.7
# 输入:输入省的名称 存储路径 文件名称
# 输出:该省的行政区划的shp 字段 city citycode district adcode
# 获取行政区划范围内的乡镇区划列表 并插入数据
def get_ad(name):
url = "http://restapi.amap.com/v3/config/district?extensions=base&subdistrict=3&key="+key+"&keywords="+name
# extensions说明:all只返回当前查询的district边界坐标点
# subdistrict说明:1表示下一级行政区(到市),2表示下两级行政区(到乡镇区县),3表示下三级行政区(到街道)
try:
req = urllib2.Request(url)
res_data = urllib2.urlopen(req)
res = res_data.read()
data = json.loads(res)
# 返回查询字段的行政区列表
city_list = data['districts'][0]['districts']
for city in city_list:
district_list = city['districts']
districts = {
} # 存储district列表
for district in district_list:
districts[district['adcode'].encode('utf-8')] = district['name'].encode('utf-8')
# 添加数据
set_polyline(districts, city['name'].encode('utf-8'), city['citycode'].encode('utf-8'))
except urllib2.HTTPError, e:
if hasattr(e, "code"):
print e.code
if hasattr(e, "reason"):
print<