Skip to content

Commit 99bfcb2

Browse files
authored
New feature: tianditu poi download
New feature: tianditu poi download
1 parent 081d13b commit 99bfcb2

File tree

2 files changed

+358
-0
lines changed

2 files changed

+358
-0
lines changed

src/tianditu/ez_poi.py

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
#! /usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
# __file__: ez_poi
4+
import codecs
5+
import json
6+
7+
import pymongo
8+
import requests
9+
10+
ch = [
11+
['重庆市', (105.317233, 32.20341, 110.15890399999999, 28.164785)],
12+
['吉林省', (121.70807099999999, 46.289086, 131.29691499999998, 40.866085999999996)],
13+
['山东省', (114.819496, 38.264081, 122.58095, 34.382439)],
14+
['云南省', (97.531201, 29.224128999999998, 106.193344, 21.143404999999998)],
15+
['青海省', (89.42535, 39.196225, 102.967585, 31.698498999999998)],
16+
['广东省', (109.67578599999999, 25.521082, 117.189439, 20.240069)],
17+
['台湾省', (120.03159, 25.92869, 123.68842599999999, 22.033913)],
18+
['河北省', (113.49011999999999, 42.615044, 119.847155, 36.086891)],
19+
['辽宁省', (118.840222, 43.480922, 125.77733099999999, 38.723813)],
20+
['新疆维吾尔自治区', (73.490083, 49.171015, 96.38755499999999, 34.334315)],
21+
['四川省', (97.349425, 34.314332, 108.540736, 26.071161)],
22+
['西藏自治区', (78.3945, 36.481302, 99.112703, 26.854162)],
23+
['上海市', (120.878948, 31.882906, 121.97232, 30.690742999999998)],
24+
['北京市', (115.422051, 40.978643, 117.383319, 39.455766)],
25+
['山西省', (110.233774, 40.744949, 114.55133699999999, 34.605824)],
26+
['贵州省', (103.709509, 29.210865, 109.515198, 24.663422999999998)],
27+
['安徽省', (114.902723, 34.643266, 119.618952, 29.397806)],
28+
['福建省', (115.851227, 28.291657999999998, 120.432521, 23.619619999999998)],
29+
['天津市', (116.702361, 40.231457, 118.02968899999999, 38.555353)],
30+
['黑龙江省', (121.373582, 53.559993999999996, 134.775093, 43.423055)],
31+
['澳门', (113.529631, 22.216908, 113.59847699999999, 22.109875)],
32+
['甘肃省', (92.337831, 42.794543, 108.70577499999999, 32.596171999999996)],
33+
['江西省', (113.575677, 30.060626, 118.462119, 24.507299)],
34+
['广西壮族自治区', (104.519247, 26.327282999999998, 112.052286, 21.403121)],
35+
['内蒙古自治区', (97.171763, 53.333676, 126.03392799999999, 37.406219)],
36+
['江苏省', (116.36721, 35.084147, 121.924607, 30.760343)],
37+
['湖北省', (108.40990099999999, 33.273344, 116.131316, 29.050396)],
38+
['香港', (113.817101, 22.5683, 114.50240199999999, 22.136699)],
39+
['河南省', (110.375715, 36.355849, 116.645169, 31.407335)],
40+
['宁夏回族自治区', (104.28448499999999, 39.374607999999995, 107.645308, 35.251515999999995)],
41+
['海南省', (108.612764, 21.120027, 117.841697, 3.832541)],
42+
['湖南省', (108.88338499999999, 30.12277, 114.24835999999999, 24.648723999999998)],
43+
['陕西省', (105.49529899999999, 39.558169, 111.215559, 31.712722)],
44+
['浙江省', (118.02819799999999, 31.171412, 122.340047, 27.168632)]
45+
]
46+
47+
client = pymongo.MongoClient(host='localhost', port=27017)
48+
db = client.lvyou
49+
collection = db.tianditu_poi
50+
51+
52+
def poi_download(key, mapBound, sheng):
53+
print("start download", key, sheng)
54+
param = {
55+
'postStr': str(
56+
{'keyWord': key, 'level': '20', 'mapBound': mapBound, 'queryType': '7',
57+
'count': '20000', 'start': '0'}),
58+
'type': 'query',
59+
'tk': 'a4ee5c551598a1889adfabff55a5fc27'
60+
}
61+
62+
url = 'http://api.tianditu.gov.cn/search'
63+
64+
r = requests.get(url=url, params=param)
65+
66+
data = json.loads(r.text)
67+
data = data.get('pois')
68+
if data:
69+
for i in data:
70+
i['sheng'] = sheng
71+
i['queryType'] = '纯POI搜索'
72+
i['keyWord'] = key
73+
collection.insert(data)
74+
75+
76+
def tianditu_poi_download():
77+
path = 'poi_type.txt'
78+
keys = []
79+
80+
with codecs.open(path, 'r', encoding='utf-8') as f:
81+
for i in f.readlines():
82+
s = i.strip()
83+
keys.append(s)
84+
85+
for sheng in ch:
86+
mapBound = ','.join([str(_) for _ in sheng[1]])
87+
for key in keys:
88+
poi_download(key=key, mapBound=mapBound, sheng=str(sheng[0]))
89+
90+
print("download end !!!")
91+
92+
93+
if __name__ == '__main__':
94+
tianditu_poi_download()

src/tianditu/poi_type.txt

Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
汽车服务相关
2+
加油站
3+
其它能源站
4+
加气站
5+
汽车养护/装饰
6+
洗车场
7+
汽车俱乐部
8+
汽车救援
9+
汽车配件销售
10+
汽车租赁
11+
二手车交易
12+
充电站
13+
汽车销售
14+
大众特约销售
15+
本田特约销售
16+
奥迪特约销售
17+
通用特约销售
18+
宝马特约销售
19+
日产特约销售
20+
雷诺特约销售
21+
梅赛德斯-奔驰特约销售
22+
丰田特约销售
23+
斯巴鲁特约销售
24+
标致雪铁龙特约销售
25+
三菱特约销售
26+
菲亚特约销售
27+
法拉利特约销售
28+
现代特约销售
29+
起亚特约销售
30+
福特特约销售
31+
捷豹特约销售
32+
路虎特约销售
33+
保时捷特约销售
34+
东风特约销售
35+
吉利特约销售
36+
奇瑞特约销售
37+
克莱斯勒特约销售
38+
荣威销售
39+
名爵销售
40+
江淮销售
41+
红旗销售
42+
长安汽车销售
43+
海马汽车销售
44+
北京汽车销售
45+
长城汽车销售
46+
纳智捷销售
47+
广汽传祺销售
48+
货车销售
49+
东风货车销售
50+
中国重汽销售
51+
一汽解放销售
52+
福田卡车销售
53+
陕西重汽销售
54+
北奔重汽销售
55+
江淮货车销售
56+
华菱星马销售
57+
成都大运汽车销售
58+
梅赛德斯-奔驰卡车销售
59+
德国曼恩销售
60+
斯堪尼亚销售
61+
沃尔沃卡车销售
62+
观致销售
63+
汽车维修
64+
汽车综合维修
65+
大众特约维修
66+
本田特约维修
67+
奥迪特约维修
68+
通用特约维修
69+
宝马特约维修
70+
日产特约维修
71+
雷诺特约维修
72+
梅赛德斯-奔驰特约维修
73+
丰田特约维修
74+
斯巴鲁特约维修
75+
标致雪铁龙特约维修
76+
三菱特约维修
77+
菲亚特特约维修
78+
法拉利特约维修
79+
现代特约维修
80+
起亚特约维修
81+
福特特约维修
82+
捷豹特约维修
83+
路虎特约维修
84+
保时捷特约维修
85+
东风特约维修
86+
吉利特约维修
87+
奇瑞特约维修
88+
克莱斯勒特约维修
89+
荣威维修
90+
名爵维修
91+
江淮维修
92+
红旗维修
93+
长安汽车维修
94+
海马汽车维修
95+
北京汽车维修
96+
长城汽车维修
97+
纳智捷维修
98+
广汽传祺维修
99+
货车维修
100+
东风货车维修
101+
中国重汽维修
102+
一汽解放维修
103+
福田卡车维修
104+
陕西重汽维修
105+
北奔重汽维修
106+
江淮货车维修
107+
华菱星马维修
108+
成都大运汽车维修
109+
梅赛德斯-奔驰卡车维修
110+
德国曼恩维修
111+
斯堪尼亚维修
112+
沃尔沃卡车维修
113+
观致维修
114+
摩托车服务相关
115+
摩托车销售
116+
摩托车维修
117+
餐饮相关场所
118+
中餐厅
119+
外国餐厅
120+
快餐厅
121+
休闲餐饮场所
122+
咖啡厅
123+
茶艺馆
124+
冷饮店
125+
糕饼店
126+
甜品店
127+
购物相关场所
128+
商场
129+
便民商店/便利店
130+
家电电子卖场
131+
超级市场
132+
花鸟鱼虫市场
133+
家居建材市场
134+
综合市场
135+
文化用品店
136+
体育用品店
137+
特色商业街
138+
服装鞋帽皮具店
139+
专卖店
140+
特殊买卖场所
141+
个人用品/化妆品店
142+
生活服务场所
143+
旅行社
144+
信息咨询中心
145+
售票处
146+
邮局
147+
物流速递
148+
电讯营业厅
149+
事务所
150+
人才市场
151+
自来水营业厅
152+
电力营业厅
153+
美容美发店
154+
维修站点
155+
摄影冲印店
156+
洗浴推拿场所
157+
洗衣店
158+
中介机构
159+
搬家公司
160+
彩票彩券销售点
161+
丧葬设施
162+
婴儿服务场所
163+
体育休闲服务场所
164+
运动场馆
165+
高尔夫相关
166+
娱乐场所
167+
度假疗养场所
168+
休闲场所
169+
影剧院
170+
医疗保健服务场所
171+
综合医院
172+
专科医院
173+
诊所
174+
急救中心
175+
疾病预防机构
176+
医药保健销售店
177+
动物医疗场所
178+
住宿服务相关
179+
宾馆酒店
180+
旅馆招待所
181+
风景名胜相关
182+
公园广场
183+
风景名胜
184+
商务住宅相关
185+
产业园区
186+
楼宇
187+
住宅区
188+
政府及社会团体相关
189+
政府机关
190+
外国机构
191+
民主党派
192+
社会团体
193+
公检法机构
194+
交通车辆管理
195+
工商税务机构
196+
科教文化场所
197+
博物馆
198+
展览馆
199+
会展中心
200+
美术馆
201+
图书馆
202+
科技馆
203+
天文馆
204+
文化宫
205+
档案馆
206+
文艺团体
207+
传媒机构
208+
学校
209+
科研机构
210+
培训机构
211+
驾校
212+
交通服务相关
213+
机场相关
214+
火车站
215+
港口码头
216+
长途汽车站
217+
地铁站
218+
轻轨站
219+
公交车站
220+
班车站
221+
停车场
222+
过境口岸
223+
出租车
224+
轮渡站
225+
索道站
226+
金融保险服务机构
227+
银行
228+
银行相关
229+
自动提款机
230+
保险公司
231+
证券公司
232+
财务公司
233+
公司企业
234+
知名企业
235+
公司
236+
工厂
237+
农林牧渔基地
238+
道路附属设施
239+
警示信息
240+
收费站
241+
服务区
242+
红绿灯
243+
路牌信息
244+
地名地址信息
245+
普通地名
246+
自然地名
247+
交通地名
248+
门牌信息
249+
市中心
250+
标志性建筑物
251+
热点地名
252+
公共设施
253+
报刊亭
254+
公用电话
255+
公共厕所
256+
紧急避难场所
257+
事件活动
258+
公众活动
259+
突发事件
260+
室内设施
261+
通行设施
262+
建筑物门
263+
临街院门
264+
虚拟门

0 commit comments

Comments
 (0)