如何用用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 相关文章推荐
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 Python
pandas使用apply多列生成一列数据的实例
Nov 28 Python
python tkinter窗口最大化的实现
Jul 15 Python
python实现字典嵌套列表取值
Dec 16 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 Python
win10安装python3.6的常见问题
Jul 01 Python
Python面向对象特殊属性及方法解析
Sep 16 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 Python
Python打包为exe详细教程
May 18 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
生成sessionid和随机密码的例子
2006/10/09 PHP
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
简单通用的JS滑动门代码
2008/12/19 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
在vue项目中使用sass的配置方法
2018/03/20 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
原生JavaScript实现刮刮乐
2020/09/29 Javascript
使用Python操作excel文件的实例代码
2017/10/15 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
Opencv求取连通区域重心实例
2020/06/04 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
纠纷协议书
2014/04/16 职场文书
医学生求职信
2014/07/01 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
英文感谢信格式
2015/01/21 职场文书
稽核岗位职责范本
2015/04/13 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
2016暑期校本培训心得体会
2016/01/08 职场文书
深入理解pytorch库的dockerfile
2022/06/10 Python