如何用用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实现进程间通信简单实例
Jul 23 Python
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
python实现发送邮件及附件功能
Mar 02 Python
python 实现登录网页的操作方法
May 11 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
python如何获取apk的packagename和activity
Jan 10 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
Keras之fit_generator与train_on_batch用法
Jun 17 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
Aug 07 Python
python单向链表实例详解
May 25 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
?繁体转换的class
2006/10/09 PHP
PHP HTML代码串截取代码
2008/12/29 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
Python3爬虫学习入门教程
2018/12/11 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
详解django中Template语言
2020/02/22 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
网络教育自我鉴定
2013/11/01 职场文书
国税会议欢迎词
2014/01/16 职场文书
《桂林山水》教学反思
2014/02/08 职场文书
创先争优一句话承诺
2014/05/29 职场文书
励志演讲稿500字
2014/08/21 职场文书
大二学生自我检讨书
2014/10/23 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL