如何用用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+Django在windows下的开发环境配置图解
Nov 11 Python
详解Python中用于计算指数的exp()方法
May 14 Python
Python实现将DOC文档转换为PDF的方法
Jul 25 Python
浅析Python中的for 循环
Jun 09 Python
详解Python中的分组函数groupby和itertools)
Jul 11 Python
python中scikit-learn机器代码实例
Aug 05 Python
python 从文件夹抽取图片另存的方法
Dec 04 Python
详解从Django Rest Framework响应中删除空字段
Jan 11 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
Python搭建代理IP池实现接口设置与整体调度
Oct 27 Python
Python数据正态性检验实现过程
Apr 18 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
我的论坛源代码(八)
2006/10/09 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
jquery 表单下所有元素的隐藏
2009/07/25 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
2017/05/20 jQuery
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
python getopt详解及简单实例
2016/12/30 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
python类中super() 的使用解析
2019/12/19 Python
Python阶乘求和的代码详解
2020/02/14 Python
python中tab键是什么意思
2020/06/18 Python
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
Ruby如何定义一个类
2012/10/08 面试题
公司捐款倡议书
2014/05/14 职场文书
医药销售自荐书
2014/05/29 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
2014年食堂工作总结
2014/11/20 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
道德与公民自我评价
2015/03/09 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
python turtle绘图命令及案例
2021/11/23 Python