利用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判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
python一键升级所有pip package的方法
Jan 16 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
Jul 27 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
Python登录系统界面实现详解
Jun 25 Python
浅谈python3中input输入的使用
Aug 02 Python
python3中的logging记录日志实现过程及封装成类的操作
May 12 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
Aug 07 Python
python基础之函数的定义和调用
Oct 24 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中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
js实现简单的倒计时
2021/01/28 Javascript
Python中subprocess模块用法实例详解
2015/05/20 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
Python实现京东秒杀功能代码
2019/05/16 Python
Django框架自定义session处理操作示例
2019/05/27 Python
selenium 安装与chromedriver安装的方法步骤
2019/06/12 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
财务会计实习报告体会
2013/12/20 职场文书
优乐美广告词
2014/03/14 职场文书
施工安全保证书
2015/05/09 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
Python turtle编写简单的球类小游戏
2022/03/31 Python