如何用用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 相关文章推荐
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 Python
Python中的模块导入和读取键盘输入的方法
Oct 16 Python
Python使用dis模块把Python反编译为字节码的用法详解
Jun 14 Python
Python判断列表是否已排序的各种方法及其性能分析
Jun 20 Python
通过Python实现自动填写调查问卷
Sep 06 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
浅析python协程相关概念
Jan 20 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
Python定义函数功能与用法实例详解
Apr 08 Python
Python assert关键字原理及实例解析
Dec 13 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
python从ftp获取文件并下载到本地
Dec 05 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 addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
AngularJS中重新加载当前路由页面的方法
2018/03/09 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
python中的多重继承实例讲解
2014/09/28 Python
python 调用HBase的简单实例
2016/12/18 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
python爬虫实现获取下一页代码
2020/03/13 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
年度考核自我鉴定
2014/03/19 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
师范生见习自我总结
2015/06/23 职场文书
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL