python人口数据_python获取人口数据(500m网格)GeoQ智图api

本文介绍了如何通过Python调用GeoQ API获取500米网格的人口数据,详细步骤包括注册GeoQ获取API key,设置查询参数如城市代码、空间范围和筛选条件,然后使用urllib2库请求数据并用numpy处理结果,最终保存到CSV文件中,以供ArcGIS进一步处理和出图。
摘要由CSDN通过智能技术生成

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

6a9488580282d67b28b98f5a8dd0ddb6.png

互相交流GIS数据和技术,请加博主微信(w912917507)

500232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值