利用python和百度地图API实现数据地图标注的方法


Posted in Python onMay 13, 2019

如题,先上效果图:

利用python和百度地图API实现数据地图标注的方法

主要分为两大步骤

使用python语句,通过百度地图API,对已知的地名抓取经纬度

使用百度地图API官网的html例程,修改数据部分,实现呈现效果

一、使用python语句,通过百度地图API,获取经纬度读取文件信息

import pandas as pd
data = pd.read_excel('test_baidu.xlsx')
data

利用python和百度地图API实现数据地图标注的方法

图中可以看出,原始数据并没有经纬度。

2. 构建抓取经纬度函数

import json
from urllib.request import urlopen, quote
import requests
def getlnglat(address):
 url = 'http://api.map.baidu.com/geocoder/v2/'
 output = 'json'
 ak = '你的百度地图ak' # 百度地图ak,具体申请自行百度,提醒需要在“控制台”-“设置”-“启动服务”-“正逆地理编码”,启动
 address = quote(address) # 由于本文地址变量为中文,为防止乱码,先用quote进行编码
 uri = url + '?' + 'address=' + address + '&output=' + output + '&ak=' + ak 
 req = urlopen(uri)
 res = req.read().decode() 
 temp = json.loads(res)
 lat = temp['result']['location']['lat']
 lng = temp['result']['location']['lng']
 return lat,lng # 纬度 latitude , 经度 longitude ,

3. 抓取经纬度

for indexs in data.index:
 get_location = getlnglat(data.loc[indexs,'圈定区域'])
 get_lat = get_location[0]
 get_lng = get_location[1]
 data.loc[indexs,'纬度'] = get_lat
 data.loc[indexs,'经度'] = get_lng

data

利用python和百度地图API实现数据地图标注的方法

已经自动查找到对应的经纬度(不排除部分搜索不准,但是大概看过,还是挺准的。)

4. 生成HTML适配的格式

data_html = pd.DataFrame(columns=['content'])

for indexs in data.index:
 data_html.loc[indexs,'content'] = '{' + \
          '"lat":' + str(data.loc[indexs,'纬度']) + ',' + \
          '"lng":' + str(data.loc[indexs,'经度']) + ',' + \
          '"quyu":' + '"' + str(data.loc[indexs,'圈定区域']) +'"' + \
          '}' + ','

data_html.to_csv ("data_html.csv",encoding="gbk")
data_html

利用python和百度地图API实现数据地图标注的方法

生成对应的格式,然后就copy出来了。

二、使用百度地图API官网的html例程,修改数据部分,实现呈现效果1. copy百度地图API官网的HTML例程

地址:http://developer.baidu.com/map/jsdemo.htm#c1_19

利用python和百度地图API实现数据地图标注的方法

2. 修改部分内容

放上自己的百度地图AK

修改一下地图初始化显示的中心和缩放的系数

放上自己需要显示的信息,记得把数据中最后一个的逗号删除

修改前:

利用python和百度地图API实现数据地图标注的方法

修改后:

利用python和百度地图API实现数据地图标注的方法

题外:

其实一开始是使用folium进行尝试的,因为可以直接生成html文件,只需要Python就行了,不需要再写HTML,但是遇到两个暂时无法解决的问题:

1、marker不能正常显示,官网的marker都不行

利用python和百度地图API实现数据地图标注的方法

2、openstreetmap的细致程度,比不上百度地图,这个有点致命。

利用python和百度地图API实现数据地图标注的方法

以上所述是小编给大家介绍的利用python和百度地图API实现数据地图标注的方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python实现系统状态监测和故障转移实例方法
Nov 18 Python
用python写asp详细讲解
Dec 16 Python
python使用Berkeley DB数据库实例
Sep 26 Python
python访问系统环境变量的方法
Apr 29 Python
解密Python中的描述符(descriptor)
Jun 03 Python
在Django的视图(View)外使用Session的方法
Jul 23 Python
Python操作MySQL数据库的方法
Jun 20 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
使用 Django Highcharts 实现数据可视化过程解析
Jul 31 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
Aug 17 Python
python Dijkstra算法实现最短路径问题的方法
Sep 19 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 #Python
为什么你还不懂得怎么使用Python协程
May 13 #Python
Python玩转加密的技巧【推荐】
May 13 #Python
11个Python3字典内置方法大全与示例汇总
May 13 #Python
python中的数据结构比较
May 13 #Python
Python中函数的基本定义与调用及内置函数详解
May 13 #Python
python实现弹跳小球
May 13 #Python
You might like
php图片加中文水印实现代码分享
2012/10/31 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
2013/06/17 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
js使用i18n实现页面国际化的方法
2017/05/09 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
Python FTP操作类代码分享
2014/05/13 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
python的else子句使用指南
2016/02/27 Python
Django Highcharts制作图表
2016/08/27 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
电子邮箱格式怎么写
2014/01/12 职场文书
致共产党员倡议书
2014/04/16 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL