如何用用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字符串替换示例
Apr 24 Python
实例说明Python中比较运算符的使用
May 13 Python
利用python爬取软考试题之ip自动代理
Mar 28 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
BP神经网络原理及Python实现代码
Dec 18 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
python中的global关键字的使用方法
Aug 20 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
Python 开发工具通过 agent 代理使用的方法
Sep 27 Python
python爬虫筛选工作实例讲解
Nov 23 Python
python使用正则表达式匹配txt特定字符串(有换行)
Dec 09 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
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
destoon实现VIP排名一直在前面排序的方法
2014/08/21 PHP
php单例模式的简单实现方法
2016/06/10 PHP
javascript整除实现代码
2010/11/23 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
Python实现的一个简单LRU cache
2014/09/26 Python
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
基于Python实现扑克牌面试题
2019/12/11 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
《老山界》教学反思
2014/04/08 职场文书
加入学生会演讲稿
2014/04/24 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
见习报告怎么写
2014/10/31 职场文书
2015入党自荐书范文
2015/03/05 职场文书
教师调动申请报告
2015/05/18 职场文书
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫