一、背景
- (正)地理编码指的是:将地理位置名称转换成经纬度;
- 逆地理编码指的是:将经纬度转换成地理位置信息,如地名、所在的省份或城市等
百度地图提供了相应的API,可以方便调用。相应的说明文档如下:
- 正地理编码
- 逆地理编码
具体API的参数可以查看相应的“服务文档”:
不过首次使用时需要申请,具体在控制台。申请AK的方式可参见其他文章。
二、源码
废话不多说,直接放源码。这里提供了Python调用这两个API的方法。
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Author: Wild Orange # @Email: jixuanfan_seu@163.com # @Date: 2020-06-21 16:06:14 # @Last Modified time: 2020-07-01 19:35:28 import requests AK='[这里填写自己申请的AK值]' def Pos2Coord(name): ''' @func: 通过百度地图API将地理名称转换成经纬度 @note: 官方文档 http://lbsyun.baidu.com/index.php"color: #ff0000">三、使用方法(1)正地理编码
比如获取学校的经纬度:
val=Pos2Coord('江苏省南京市江宁区秣陵街道东南大学九龙湖校区') print(val)输出结果:
{'lng': 118.81871976794395, 'lat': 31.88198449339288, 'conf': 80, 'comp': 57, 'level': '餐饮'}
可以看出,结果存在一定偏差。竟然把学校标记成了餐馆。。。我们可以具体到百度拾取坐标系统中看一下。结果定位到了学校西南角。
(2)逆地理编码
反过来,我们也可以根据经纬度查询地理位置信息。
val=Coord2Pos(118.81871976794395,31.88198449339288) print(val)输出结果:
{'address': '江苏省南京市江宁区苏源大道', 'province': '江苏省', 'city': '南京市', 'district': '江宁区', 'town': '秣陵街道', 'adcode': '320115', 'town_code': '320115011'}
解析出的地理位置信息是准确的,可以精确到乡镇级行政区划。
(3)一个有意思的例子
之前也看到了,在正地理编码中,如果提供的地理位置信息不精确,则返回的经纬度很可能存在较大偏差。有这样的需求:根据企业名称,获取其地理位置(经纬度),以及所在的省份、地级市、县级市等信息。
一种直接的思路是:直接将企业名称作为地理位置传给正地理编码API,获取其经纬度;再依据经纬度,利用逆地理编码,获取其所在的省份、地级市、县级市。
随便举个栗子,比如“金华银行股份有限公司”。
val=Pos2Coord('金华银行股份有限公司') print(val)结果:
{'lng': 119.65923457293306, 'lat': 29.10738796331567, 'conf': 70, 'comp': 100, 'level': '金融'}
我们看看定位到哪里了:
emm… 定位到一个广场的旁边。不过大致的位置还是准确的,毕竟还是在金华市内。如果精度要求不高,这个结果还是可以接受的。
那如果精度要求比较高呢?我们就需要获取非常准确的企业位置信息。百度企业信用提供了企业基本信息的查询。
可以看到,企业的地址为:浙江省金华市丹溪路1388号。
我们把这个地址代入API:
Pos2Coord('浙江省金华市丹溪路1388号')得到结果:
{'lng': 119.65161604390546, 'lat': 29.083163015462144, 'conf': 80, 'comp': 100, 'level': '门址'}
再看看定位到了哪里:
emm…好像看不出来。。我对这里也不熟。。直接到百度地图中看一下:
放到最大后,可以看到,坐标恰好落在“金华银行”上面。Perfect!
人工获取企业具体的地理位置似乎太麻烦了。有没有简单方法呢?可以查看我之前写的一篇文章:用Python爬虫获取百度企业信用中企业基本信息
最后通过逆地理编码获取省份、地级市、县级市信息。
Coord2Pos(119.65161604390546,29.083163015462144)输出结果:
{'address': '浙江省金华市婺城区双龙南街680号', 'province': '浙江省', 'city': '金华市', 'district': '婺城区', 'town': '西关街道', 'adcode': '330702', 'town_code': '330702007'}
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】