# 高德地图坐标转换json页面样例:{"status":"1","info":"ok","infocode":"10000","locations":"29.995198,121.604743"}
import requests
import json
import pandas as pd
def url(lat,lng,ak):
url = 'https://restapi.amap.com/v3/assistant/coordinate/convert?locations='+str(lng)+','+str(lat)+'&coordsys=gps&output=json'+'&key='+ak
return url
# 访问API获取数据
def get_data(url):
try:
js_d = requests.get(url).text # 获取文本
data = json.loads(js_d) # 数据解析
if data['status'] == '1':
loc = data['locations']
else:
print('没获取到数据')
except:
print('出现错误!')
return loc
# 读取存放WGS84经纬坐标的文件
df = pd.read_csv("WGS84.csv")
ak = 'xxx' # 通过高德地图申请密钥
# 新建文件存放GCJ坐标
gcj = pd.DataFrame(columns = ['GCJ02_lng','GCJ02_lat'])
for i in range(0,df.shape[0]):
lat = df.at[i,'latitude']
lng = df.at[i,'longitude']
gd_url = url(lat,lng,ak)
loc = get_data(gd_url)
gd_lng,gd_lat = loc.split(',') # 经度,纬度
gcj.at[i,'GCJ02_lng'] = gd_lng
gcj.at[i,'GCJ02_lat'] = gd_lat
使用高德地图API进行坐标转换:WGS84→GCJ02
最新推荐文章于 2025-04-21 17:33:26 发布