1.注册智图GeoQ,获得api的key
2.分析url
url='http://api.geoq.cn/你的密钥/filterservice/regionfilter'
3.筛选条件
values={
"codes":"310000",#城市代码
"extent":[120.9327,30.6014,122.2339,31.8480],#查询空间范围
"inSR":4326,#坐标系编号,默认3857,返回结果也是3857的
"grid":"square",#网格形状
"radius":500,#网格半径,可以更小
"condition":{"pop":[0,1100000]}#筛选条件,照大的写
}
4.关键代码,本次使用python2,因为python3的requests库始终无法识别刷选条件最后一条condition的条件,该条件是GeoQ规定的条件。今个不使用神器pandas,就用自带的numpy来写,数值分别为经纬度,人口数,分组ID
req=urllib2.Request(url,values)
response = urllib2.urlopen(req)
t = response.read()
d = json.loads(t)
d1= d["result"]["features"]
x=[]
for i in range(len(d1)):
for j in range(len(d1[i]["geometry"]["rings"][0])):
x.append(你想要的数据)
a=np.array(x)
np.set_printoptions(precision=10)
np.savetxt("a.csv",a,delimiter=",")
5.使用ArcGIS处理结果,出图
13532492.93
3653382.137
6085
0
13531492.93
3653382.137
6085
0
13531492.93
3652382.137
6085
0
13532492.93
3652382.137
6085
0
13532492.93
3653382.137
6085
0
13532492.93
3653382.137
6085
0
13513492.93
3602382.137
145
1
13512492.93
3602382.137
145
1
13512492.93
3601382.137
145
1
互相交流GIS数据和技术,请加博主微信(w912917507)