如何用用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实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
Python脚本实现虾米网签到功能
Apr 12 Python
图解Python变量与赋值
Apr 03 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
Apr 11 Python
python3+PyQt5泛型委托详解
Apr 24 Python
Python元组知识点总结
Feb 18 Python
django框架防止XSS注入的方法分析
Jun 21 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
python中图像通道分离与合并实例
Jan 17 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
整理Python中常用的conda命令操作
Jun 15 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
第十一节--重载
2006/11/16 PHP
用PHP实现多服务器共享SESSION数据的方法
2007/03/16 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
详解JavaScript中数组的相关知识
2015/07/29 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
[07:09]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant 选手采访
2021/03/11 DOTA
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
前台文员我鉴定
2014/01/12 职场文书
捐书寄语赠言
2014/01/18 职场文书
成人继续教育实施方案
2014/03/01 职场文书
工程部部长岗位职责
2015/02/12 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android