如何用用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的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
Python中Numpy ndarray的使用详解
May 24 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
Aug 23 Python
python入门之基础语法学习笔记
Feb 08 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
利用python绘制数据曲线图的实现
Apr 09 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
Python加密技术之RSA加密解密的实现
Apr 08 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提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
javascript parseInt 函数分析(转)
2009/03/21 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
Vue自定义弹窗指令的实现代码
2018/08/13 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
python getopt 参数处理小示例
2009/06/09 Python
深入理解python多进程编程
2016/06/12 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
python方向键控制上下左右代码
2018/01/20 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
Python简易版停车管理系统
2019/08/12 Python
python队列原理及实现方法示例
2019/11/27 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
Python pymsql模块的使用
2020/09/07 Python
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
校园十佳歌手策划书
2014/01/22 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
开平碉楼导游词
2015/02/06 职场文书
文化大革命观后感
2015/06/17 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
详解python字符串驻留技术
2021/05/21 Python