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 |