gcj02 转 bd09 php,利用百度地图坐标转换API实现gcj02转bd09

百度地图坐标转换API

功能

将常用的非百度坐标转换成百度地图中使用的坐标,如:GPS设备获取的坐标、google地图坐标、soso地图坐标、amap地图坐标、mapbar地图坐标等

特点

以HTTP形式提供坐标转换服务

支持批量坐标转化,一次最多可转换100个坐标点。

转化后的坐标可以在百度地图JavaScript API、车联网API、静态图API、web服务API等产品中使用

服务地址

组成说明:

域名:api.map.baidu.com

服务名:geoconv

服务版本号:v1

服务参数说明

6d8e092a087a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

返回值说明

6d8e092a087a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

状态码说明

6d8e092a087a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

使用Python3.5编写脚本调用API实现坐标转换

import pandas as pd

from urllib.request import urlopen

import json

# 需要转换的坐标

datas = pd.DataFrame({'lng_gcj02':[120.67087,120.657803,120.659898,120.682615],

'lat_gcj02':[28.01759,28.010946,28.035593,27.994313]},

columns=['lng_gcj02','lat_gcj02'])

print('需要转换的gcj02经纬度数据如下:')

datas

6d8e092a087a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

def gcj02_to_bd09(datas):

# 在数据集中添加[lng_bd09 ,lat_bd09] 保存转换结果

datas['lng_bd09'] = 0

datas['lat_bd09'] = 0

for i in range(len(gcj02_lng_lat)):

coords = str(datas['lng_gcj02'][i])+','+str(datas['lat_gcj02'][i])

url = 'http://api.map.baidu.com/geoconv/v1/?coords='+coords+'&ak=9KtraRRDZT8xnAoVe3o41wGGgy4X3rMW'

try:

with urlopen(url,timeout=3) as html:

http_info = html.info()

raw_data = html.read().decode(http_info.get_content_charset())

data = json.loads(raw_data)

datas.iloc[i,2] = data['result'][0]['x']

datas.iloc[i,3] = data['result'][0]['y']

except:

print('转换失败:'+coords)

return datas

print('转换结果如下:')

gcj02_to_bd09(datas)

6d8e092a087a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值