Python 高德API 地理编码批量转换
2021/8/16 20:06:38
本文主要是介绍Python 高德API 地理编码批量转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
地理编码:
把文字的坐标转换为经纬度
例如:XX省XX市XX区XX路XX号 转换为该地对应的经纬度
python实现
1、读取包含地址信息的原文件
import pandas as pd data = pd.read_csv(r'文件路径\表名.csv',encoding='gbk')
读取的内容为:
2、利用高德API进行地理编码转换
import requests import gcjtowgs # 别人写的gcj转wgs的python文件 my_key_list = ['XXX','XXX'] Lng_all = [] Lat_all = [] level_all = [] for i in range(0,len(data)): print(i) if i < 3000: my_key = my_key_list[0] else: my_key = my_key_list[1] try: # 防止某个文字地址没有获取到经纬度坐标信息 address = data['注册地址'].iloc[i] url = 'https://restapi.amap.com/v3/geocode/geo?address='+address+'&output=json&key='+my_key+'' html = requests.get(url) html.close() info = html.json() # 读取坐标(高德为火星坐标系gcj) Lng_gcj = info['geocodes'][0]['location'].split(',')[0] Lat_gcj = info['geocodes'][0]['location'].split(',')[1] # 将gcj火星坐标转换为wgs84坐标 wgs = gcjtowgs.gcj02towgs84(float(Lng_gcj),float(Lat_gcj)) Lng_all.append(wgs[0]) Lat_all.append(wgs[1]) # 读取level信息,以便后续判断返回的经纬度坐标数据是否准确 level_all.append(info['geocodes'][0]['level']) except: Lng_all.append('') Lat_all.append('') level_all.append('')
3、将数据增加到原表格中
data['Lng'] = Lng_all data['Lat'] = Lat_all data['level'] = level_all
新表为:
4、将新表写入csv文件
data.to_csv(r'路径\新文件名.csv',index=None,encoding='gbk')
这篇关于Python 高德API 地理编码批量转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享