如何用用Python将地址标记在地图上


Posted in Python onFebruary 07, 2021

本文就将讲解,给你一个地址,如何用Python进行可视化,只需要两步:

  • 将地址转成经纬度
  • 根据经纬度在地图上标记点

一、将地址转成经纬度

首先我们需要将地理位置转成经纬度这种统一格式,方便代码去识别。完成这一个需求可以使用爬虫通过在线的经纬度转换网站来实现,也可以使用一些专业的API比如百度、高德等,这里我们使用百度地图开放平台。

使用API并不是直接就能调用,首先需要去申请一个地图可视化的AK,打开百度地图开放平台

http://lbsyun.baidu.com/

登陆之后依次点击控制台


创建应用


选择浏览器端,按照指示创建一个地图可视化应用,以申请到AK结束

如何用用Python将地址标记在地图上

之后启动Jupyter Notebook,只要不到十行代码就能将地址转成经纬度,直接看代码,没有什么特别需要解释的,利用地址和AK构造查询URL,之后使用requests请求并取出经纬度,代码拿走就能用?

import pandas as pd
import requests

AK = "替换为你申请的AK" 

def get_position(name,AK):
  url = f'http://api.map.baidu.com/geocoding/v3/?address={name}&output=json&ak={AK}'
  res = requests.get(url)
  val = res.json()
  retval = {'地址':name,'经度':val['result']['location']['lng'],'纬度':val['result']['location']['lat'],'地区标签':val['result']['level'],'是否精确查找':val['result']['precise']}
  longitude = retval['经度']
  latitude = retval['纬度']

  return(longitude,latitude)

我们来测试一下

如何用用Python将地址标记在地图上

可以看到,现在给它一个地址,就能返回经纬度,再返回地图验证一下经纬度,没有问题

如何用用Python将地址标记在地图上

当然如果需要一次性对多个地址处理,就可以使用pandas中的apply函数实现,此处不在赘述,另外需要注意的是,如果有大量地址需要处理就要再次去平台申请一个个人开发者,否则会有一定限制。我自己测试不难申请,填写基本信息并写一段200字小作文就行。

二、根据经纬度进行标记

现在有了经纬度就可以在地图上进行标记,工具有很多,我们选择pyecharts,并使用Geo地理坐标系,其实很简单就是先创建一个指定地图后根据经纬度往地图上添加点即可。

我们还是以上面的Apple西湖地址为例, 先导入相关库,之后使用Geo().add_schema(maptype="杭州")实例化一个杭州地图,再将我们的经纬度添加进去,最后使用.render_notebook()直接在notebook中渲染

from pyecharts.charts import Geo
from pyecharts import options
from pyecharts.globals import GeoType

g = Geo().add_schema(maptype="杭州")
g.add_coordinate(addr, longitude, latitude)
data_pair = [(addr,1)]
g.add('',data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=20)
g.set_series_opts(label_opts=options.LabelOpts(is_show=False))
g.set_global_opts(title_opts=options.TitleOpts(title="pyecharts地图标点测试"))

g.render_notebook()

效果如下

如何用用Python将地址标记在地图上

现在,我们就学会了如何利用Python对将一个地址位置信息进行可视化,如果是一个组地理位置呢?只要写一个循环,依次将每个地址都转成经纬度并添加到地图中就可以了!这里就不再过多讲解,相信只要先把上面的代码理解、执行后,多思考一下就可以完成,拜拜~

以上就是如何用用Python将地址标记在地图上的详细内容,更多关于Python将地址标记在地图上的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
May 15 Python
Python获取运行目录与当前脚本目录的方法
Jun 01 Python
Python文件处理
Feb 29 Python
Python使用openpyxl读写excel文件的方法
Jun 30 Python
Django 视图层(view)的使用
Nov 09 Python
python实现网页自动签到功能
Jan 21 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
在Python中表示一个对象的方法
Jun 25 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
Jul 20 Python
Python性能测试工具Locust安装及使用
Dec 01 Python
python 三种方法提取pdf中的图片
Feb 07 #Python
Python 转移文件至云对象存储的方法
Feb 07 #Python
Python调用SMTP服务自动发送Email的实现步骤
Feb 07 #Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 #Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 #Python
Pandas数据分析的一些常用小技巧
Feb 07 #Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 07 #Python
You might like
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
摘自启点的main.js
2008/04/20 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
python之wxPython应用实例
2014/09/28 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
Python Pandas 箱线图的实现
2019/07/23 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
Pytorch 实现权重初始化
2019/12/31 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
毕业生自荐书
2014/02/03 职场文书
老公给老婆的保证书
2014/04/28 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书
2014年保育员工作总结
2014/12/02 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书