利用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小技巧之批量抓取美女图片
Jun 06 Python
Python标准异常和异常处理详解
Feb 02 Python
Python中的pass语句使用方法讲解
May 14 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
python制作花瓣网美女图片爬虫
Oct 28 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
Django内容增加富文本功能的实例
Oct 17 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
Python根据服务获取端口号的方法
Sep 25 Python
Python 实现日志同时输出到屏幕和文件
Feb 19 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 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中uploaded_files函数使用方法详解
2011/03/09 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
php PDO异常处理详解
2016/11/20 PHP
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
python 二维数组90度旋转的方法
2019/01/28 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
教师自荐信
2013/12/10 职场文书
奥巴马演讲稿
2014/01/08 职场文书
运动会解说词100字
2014/01/31 职场文书
2014年机关植树节活动方案
2014/02/27 职场文书
企业诚信承诺书
2014/05/23 职场文书
求职信怎么写范文
2014/05/26 职场文书
2015年女工委工作总结
2015/07/27 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS
javascript对象3个属性特征
2021/11/17 Javascript