利用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中使用PIL模块处理图像的教程
Apr 29 Python
Python 爬虫的工具列表大全
Jan 31 Python
Python 编码处理-str与Unicode的区别
Sep 06 Python
numpy.transpose对三维数组的转置方法
Apr 17 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
Python的垃圾回收机制详解
Aug 28 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
Pandas实现dataframe和np.array的相互转换
Nov 30 Python
python 弧度与角度互转实例
Apr 15 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
python分布式爬虫中消息队列知识点详解
Nov 26 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
Cannot modify header information错误解决方法
2008/10/08 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
js仿微信抢红包功能
2020/09/25 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
vue实现文件上传功能
2018/08/13 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
Python中的并发编程实例
2014/07/07 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
python频繁写入文件时提速的方法
2019/06/26 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
会计专业自荐信
2013/12/02 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
教学评估实施方案
2014/03/16 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
领导干部考核评语
2015/01/04 职场文书
小班下学期个人总结
2015/02/12 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
2015最新民情日记范文
2015/06/26 职场文书
Python matplotlib多个子图绘制整合
2022/04/13 Python