Python是一种广泛使用的编程语言,其强大的库和框架使得实现地理信息处理变得非常简便。本文将介绍如何通过Python调用百度地图API实现经纬度转换和热力地图生成的全流程指南。无论是将经纬度坐标进行相互转换,还是根据经纬度数据生成热力地图,Python都可以轻松地完成这些任务。通过本文,读者将了解如何在Python环境中安装必要的库,如何申请百度地图API密钥,以及如何利用百度地图API进行经纬度转换和热力地图生成。让我们一起探索利用Python进行地理信息处理的奇妙之旅吧!
本文就是用这种手段,以一个简单的表格文件出发,在不知道相关地点经纬度的情况下,通过python调用百度地图API实现热力地图,这其中需要申请密钥、批量经纬度换算、转换成js数据、百度热力地图api相关参数的调整等等。
有需要Python学习资料的小伙伴吗?小编整理【一套Python资料、源码和PDF】,感兴趣者可以关注小编后私信学习资料(是关注后私信哦)反正闲着也是闲着呢,不如学点东西啦
(1)初始数据:csv格式的数据表格
初始数据为2017年1月70个大中城市新建住宅价格指数同比值,直接从国家统计局网站公布的数据copy过来(下图),数据已整理好,为两列(城市city、房价指数price),并保存为csv格式。在实际中,我们常常通过爬取网站上万条地区数据并存为csv格式来分析,在这里为简化流程,初始数据来源直接copy已有数据。
(2)城市转换成经纬度第一步:注册密钥
在百度地图api上相关位置的展现是以经纬度为基础的(这里暂不介绍百度地图坐标体系与其他地图的区别),如北京,其经度(longitude)为:116.395645,纬度(latitude)为:39.929986,在这里既需要通过百度的Geocoding API来获取不同城市的经纬度坐标,又要求将csv数据文件导入python,批量获取这70个城市的坐标信息。在做这些之前,需要注册百度地图api(首先你要用百度的账号)以获取免费的密钥,才能完全使用该api。
登录网址:http://lbsyun.baidu.com/,
首页点击申请密钥按钮,经过填写个人信息、邮箱注册等,成功之后在开放平台上点击“创建应用”,填写相关信息,在这里特别说明的是,在IP白名单框里,如果不清楚自己的IP地址,最好设置为:0.0.0.0/0,虽然百度提醒它会有泄露使用的风险,但是有时候你把你自己的IP地址输进去可能也不行。提交后,在你创建应用的访问应用(AK)那一栏就是你的密钥。
(3)城市转换成经纬度第二步:构造经纬度获取函数
注册密钥后就可以在百度Web服务API下的Geocoding API接口来获取你所需要地址的经纬度坐标并转化为json结构的数据,其网址为:
http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding,
网页中有相关说明,根据示例URL,采用python3软件,写出如下函数:
在这里特别要注意str_temp = ‘{“lat”:’ + str(lat) + ‘,”lng”:’ + str(lng) + ‘,”count”:’ + str(c) +’},’,这一行的命令,这是参照百度地图JavaScript API热力图制作的相应格式而生成的,生成的json数据格式为:{“lat”:39.92998577808024,”lng”:116.39564503787867,”count”:124.7},如下图所示,来自于网址:http://developer.baidu.com/map/jsdemo.htm#c1_15。
(5)生成热力地图
接下来就比较简单,我们先建立一个html文件,将http://developer.baidu.com/map/jsdemo.htm#c1_15 网址中源代码复制过来,首先将代码中的ak换成你自己的密钥;
然后将生成的point.json文件里的数据复制出来,在替换掉var points =[ ]里的内容,即可。这里要注意的是,由于百度地图JavaScript API热力图默认的是以天安门为中心的北京区域地图,而我们的数据是全国性的,所以这里还需要对热力图中“设置中心点坐标和地图级别”的部分进行修改(见下图),具体设置可以参考百度创建地图api中:
http://api.map.baidu.com/lbsapi/creatmap/ ,自己可以去调试出合适的中心点与地图级别。
最后,由于我们的大部分price数据(也就是points里的count)都超过了100(默认最大为100),还需要对热点图代码中的点最大值进行设定(这里设为140)。
保存后,用浏览器打开,即得到了2017年1月70个大中城市新建住宅价格指数同比的热力地图
有需要Python学习资料的小伙伴吗?小编整理【一套Python资料、源码和PDF】,感兴趣者可以关注小编后私信学习资料(是关注后私信哦)反正闲着也是闲着呢,不如学点东西啦
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载
Python调用百度地图API实现经纬度转换和热力地图生成全流程指南
立即下载