Python有关folium库在地图上批量标记地点的示例(基于高德地图)

 目录

一、本文章实现功能

二、代码及使用方法

        1. 本文所使用的python库

        2. 由具体地名获得其对应高德标准经纬度

        3. 将百度标准经纬度转换成高德标准经纬度

        4. pandas库将excel中的经纬度等信息导入

        5. folium库生成地图图层

        6. folium库将高德标准经纬度对应的点位标注在Leaflet(网页)上

        7. folium库将两个高德标准经纬度所连路段标注在Leaflet(网页)上

        8. 保存生成的地图为html

三、总结及补充说明


一、本文章实现功能

1. 根据地名查找对应的高德标准经纬度
2. 将百度标准经纬度转换成高德标准经纬度
3. 将excel中的经纬度等信息导入
4. 将高德标准经纬度对应的点位标注在Leaflet(网页)上
5. 将两个高德标准经纬度所连路段标注在Leaflet(网页)上

二、代码及使用方法

1. 本文所使用的python库
import folium
from folium.plugins import FloatImage
import pandas
import requests
import math

下载库:在cmd中输入以下代码或在pycham中下载。(File - Settings - Project:untitled - Poject Interpreter - "+" - 搜索库名)

pip install folium
pip install pandas
pip install requests

2. 由具体地名获得其对应高德标准经纬度
def gd_map(addr):
    para = {'key': 'xxxxxxxxxxxxxxxxxxx', 'address': addr}  # key填入自己在高德开放平台上申请的key
    url = 'https://restapi.amap.com/v3/geocode/geo?'  # 高德地图地理编码API服务地址
    result = requests.get(url, para)  # GET方式请求
    result = result.json()
    lon_lat = result['geocodes'][0]['location']  # 获取经纬度
    lon_lat = lon_lat.split(",")  # 把经纬度以","为界分割
    lon = float(lon_lat[0])  # 获取的经纬度格式为[经度,纬度]
    lat = float(lon_lat[1])
    print(addr, "的高德标准经纬度为: (", lon, ",", lat, ")")
    return lon, lat  # 返回经纬度(float)
addr = '杭州市杭州东站'  # 输入想要查询的文字地址(尽量详细)
lon, lat = gd_map(addr)  # 调用函数
函数名 gd_map
传入数据 查询地址addr(str)
返回数据 经度lon(float),纬度lat(float)

首先要自己注册一个高德地图开放平台的开发者账号并进行认证(官方网址:高德开放平台 | 高德地图API) ,登陆后点击右上角头像旁边的“控制台”,进入高德控制台页面。点击左侧”应用管理“及下面的”我的应用“,点击右上角的”创建新应用“,设置好名称和类型。

 在我的应用中找到刚刚创建的应用,点击”添加key“。

之后在”服务平台“中勾选”Web服务“,我们主要需要的是其中的地理编码API。

然后把key下面的一串字符串复制下来,填入代码中第二行的'key'=' '内即可。

查询时在倒数第二行的addr = ' '内输入想查询的地点,该函数会返回其对应的经度lon(float)以及纬度lat(float)。

示例:addr = '杭州市杭州东

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值