使用高德地图API进行坐标转换:WGS84→GCJ02

# 高德地图坐标转换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
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值