利用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的几条建议分享
Feb 10 Python
10款最好的Web开发的 Python 框架
Mar 18 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
使用Python进行二进制文件读写的简单方法(推荐)
Sep 12 Python
Django ManyToManyField 跨越中间表查询的方法
Dec 18 Python
更新修改后的Python模块方法
Mar 03 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
基于python实现雪花算法过程详解
Nov 16 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
python cv2图像质量压缩的算法示例
Jun 04 Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 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来自动调用不同服务器上的flash
2006/10/09 PHP
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
require.js中的define函数详解
2017/07/10 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python入门及进阶笔记 Python 内置函数小结
2014/08/09 Python
python中常用的九种预处理方法分享
2016/09/11 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
Python新手学习装饰器
2020/06/04 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
最新远光软件笔试题面试题内容
2013/11/08 面试题
司机岗位职责
2015/02/04 职场文书
2015年教师节活动总结
2015/03/20 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL