使用场景
- 地理编码:将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。
- 结构化地址举例:北京市朝阳区阜通东大街6号转换后经纬度:116.480881,39.989410
- 地标性建筑举例:天安门转换后经纬度:116.397499,39.908722
- 逆地理编码:将经纬度转换为详细结构化的地址,且返回附近周边的POI、AOI信息。
- 例如:116.480881,39.989410 转换地址描述后:北京市朝阳区阜通东大街6号
地理编码
地理编码API服务地址以及接口调用示例:
实现代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author:Zhoooo
@file:data.py
@time:2023/7/17
Python调用高德地图web服务API实现地理/逆地址编码
"""
import requests
import json
import csv
def geocode(address):
params = {'address':address,
'key':'<your key>',
'city':'宜春市'
}
url = 'https://restapi.amap.com/v3/geocode/geo'
res = requests.get(url, params)
# 输出结果为json,将其转为字典格式
result = json.loads(res.text)
# 或者直接调用json的方法,返回python下的字典数据
# result = res.json()
# print(result)
res = result['geocodes'][0]['location']
return res
if __name__=='__main__':
with open("file/data.csv", 'r') as f:
r = csv.reader(f, delimiter=',')
for row in r:
address = row[0]
# 单条地址进行转换编码
# address = "江西省宜春市袁州区官园街道锦绣大道星星充电站"
# 多条地址进行转换编码
res = geocode(address)
print(res)