使用python将地名转换成经纬度——调用高德地图API

本文介绍了如何申请高德地图API密匙并利用Python进行地址到经纬度的转换。首先,需要在高德开放平台注册成为开发者并创建应用获取Key。然后,参照官方文档理解接口参数,调用地理编码接口。最后,通过处理数据去重并批量转换,成功将地址转换为经纬度。
摘要由CSDN通过智能技术生成

一、申请高德地图密匙

  • 进入高德开放平台 link.

  • 注册成为开发者(个人开发者就行,需使用实名以及支付宝认证)

  • 首页—>开发支持—>Web服务—>Web服务API—>地址/逆地址编码(直接进入

  • 点击‘申请key’(或者直接从“控制台—我的应用”)—>创建新应用—>添加key
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、调用接口(官方文档内容,助于下文理解)

参考接口参数文档(见下图)发起HTTP/HTTPS请求,第一步申请的 Key 需作为必填参数一同发送。

  • 我们需要调用的API接口是地理编码(把地理信息转换成经纬度)的接口,接口如下:
    https://restapi.amap.com/v3/geocode/geo?parameters也可直接进入网页查看(直接进入
    在这里插入图片描述
    官方使用案例:
    在这里插入图片描述

三、地址转换为经纬度

1.处理数据—去重

import pandas as pd
people=pd.read_excel('D:/处理过的.xlsx')
#去除重复数据
#subset为依据的字段,inplace表明是在该表中进行处理
#keep表明有重复的数据保留第一个(first)和最后的(last)
可以使用Python的geopy库来根据地址查找经纬度。以下是实现步骤: 1. 安装geopy库。可以使用pip命令在命令行中安装:`pip install geopy` 2. 读取Excel文件中的地址信息。可以使用pandas库读取Excel文件中的数据,并将地址信息保存在一个列表中。 3. 使用geopy库中的geocoders对象来查找地址的经纬度。geopy库支持多种geocoder,包括谷歌地图、百度地图、OpenStreetMap等。在本例中,使用了Nominatim geocoder,它是一个免费的开源geocoder。 4. 将获取到的经纬度信息保存到Excel文件中。 下面是完整的代码实现: ```python import pandas as pd from geopy.geocoders import Nominatim # 读取Excel文件中的地址信息 df = pd.read_excel('address.xlsx') address_list = df['Address'].tolist() # 初始化Nominatim geocoder geolocator = Nominatim(user_agent='my-application') # 遍历地址列表,查找经纬度 lat_list = [] lon_list = [] for address in address_list: location = geolocator.geocode(address) if location is not None: lat_list.append(location.latitude) lon_list.append(location.longitude) else: lat_list.append(None) lon_list.append(None) # 将经纬度信息保存到Excel文件中 df['Latitude'] = lat_list df['Longitude'] = lon_list df.to_excel('address_with_latlon.xlsx', index=False) ``` 其中,address.xlsx是包含地址信息的Excel文件,Address是地址信息所在的列名。执行完上述代码后,会生成一个新的Excel文件address_with_latlon.xlsx,其中包含了每个地址对应的经纬度信息。如果某个地址无法查找到对应的经纬度,则相应的经纬度值为None。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值