• 售前

  • 售后

热门帖子
入门百科

怎样用用Python将地址标志在地图上

[复制链接]
此路难行谎 显示全部楼层 发表于 2021-10-25 18:37:45 |阅读模式 打印 上一主题 下一主题
本文就将讲解,给你一个地点,怎样用Python举行可视化,只必要两步:
      
  • 将地点转成经纬度  
  • 根据经纬度在舆图上标记点
一、将地点转成经纬度


起首我们必要将地理位置转成经纬度这种统一格式,方便代码去辨认。完成这一个需求可以利用爬虫通过在线的经纬度转换网站来实现,也可以利用一些专业的API比如百度、高德等,这里我们利用百度舆图开放平台。
利用API并不是直接就能调用,起首必要去申请一个舆图可视化的AK,打开百度舆图开放平台
  1. http://lbsyun.baidu.com/
复制代码
登岸之后依次点击控制台

创建应用

选择浏览器端,按照指示创建一个舆图可视化应用,以申请到AK结束

之后启动Jupyter Notebook,只要不到十行代码就能将地点转成经纬度,直接看代码,没有什么特别必要表明的,利用地点和AK构造查询URL,之后利用requests请求并取出经纬度,代码拿走就能用?
  1. import pandas as pd
  2. import requests
  3. AK = "替换为你申请的AK"
  4. def get_position(name,AK):
  5.   url = f'http://api.map.baidu.com/geocoding/v3/?address={name}&output=json&ak={AK}'
  6.   res = requests.get(url)
  7.   val = res.json()
  8.   retval = {'地址':name,'经度':val['result']['location']['lng'],'纬度':val['result']['location']['lat'],'地区标签':val['result']['level'],'是否精确查找':val['result']['precise']}
  9.   longitude = retval['经度']
  10.   latitude = retval['纬度']
  11.   return(longitude,latitude)
复制代码
我们来测试一下

可以看到,如今给它一个地点,就能返回经纬度,再返回舆图验证一下经纬度,没有题目

当然如果必要一次性对多个地点处理,就可以利用pandas中的apply函数实现,此处不在赘述,另外必要留意的是,如果有大量地点必要处理就要再次去平台申请一个个人开发者,否则会有一定限定。我自己测试不难申请,填写根本信息并写一段200字小作文就行。
二、根据经纬度举行标记


如今有了经纬度就可以在舆图上举行标记,工具有很多,我们选择pyecharts,并利用Geo地理坐标系,实在很简朴就是先创建一个指定舆图后根据经纬度往舆图上添加点即可。
我们还是以上面的Apple西湖地点为例, 先导入相干库,之后利用Geo().add_schema(maptype="杭州")实例化一个杭州舆图,再将我们的经纬度添加进去,末了利用.render_notebook()直接在notebook中渲染
  1. from pyecharts.charts import Geo
  2. from pyecharts import options
  3. from pyecharts.globals import GeoType
  4. g = Geo().add_schema(maptype="杭州")
  5. g.add_coordinate(addr, longitude, latitude)
  6. data_pair = [(addr,1)]
  7. g.add('',data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=20)
  8. g.set_series_opts(label_opts=options.LabelOpts(is_show=False))
  9. g.set_global_opts(title_opts=options.TitleOpts(title="pyecharts地图标点测试"))
  10. g.render_notebook()
复制代码
结果如下

如今,我们就学会了怎样利用Python对将一个地点位置信息举行可视化,如果是一个组地理位置呢?只要写一个循环,依次将每个地点都转成经纬度并添加到舆图中就可以了!这里就不再过多讲解,相信只要先把上面的代码明白、执行后,多思考一下就可以完成,拜拜~
以上就是怎样用用Python将地点标记在舆图上的具体内容,更多关于Python将地点标记在舆图上的资料请关注脚本之家别的相干文章!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作