wgs84转换为百度坐标要如何操作呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wgs84转换为百度坐标要如何操作呢?相关的知识,希望对你有一定的参考价值。
参考技术A 广州坐标系是地方坐标线,实质也是北京54的分支,与54的不同点就是高程起算点的不同。现在需要计算的步骤就是先转到54下,然后再转到84下。54转84的步骤复杂,用的较多的是7参数和3参数,也就是已知至少3个同一坐标点在两个坐标系下的准确坐标,通过计算得到相应的参数用于区域内的转换,可以gps实测后的大地基准点得到。《wgs84与北京54坐标系之间的转换》这篇文章很详细 参考技术B 转换坐标就找商客坐标拾取系统就好了,这个软件完全可以解决你的这个问题。本回答被提问者采纳GPS坐标(WGS84)转换百度坐标(BD09) python测试
基础知识坐标系说明:
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
参考文档:
http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition
功能接口主用调用WEB API
http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924&from=1&to=5&ak=你的密钥 //GET请求
python测试代码
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
File Name: geoconvTools
Description :
Author : 神秘藏宝室
date: 2018-06-07
-------------------------------------------------
Change Activity:
2018-06-07:
-------------------------------------------------
"""
import urllib
import hashlib
import requests
import json
class Geoconv(object):
my_ak = \'84eO3xjZlFLelrOGN-------------------------\'
my_sk = \'fFyAglwnmgxnYI6c---------------------------\'
def __init__(self):
pass
# GPS坐标转换为百度坐标
#解释:http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition
#API:http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924&from=1&to=5&ak=你的密钥 //GET
def wgs84tobd09(self,lon,lat):
queryStr = \'/geoconv/v1/?coords={},{}&from=1&to=5&ak={}\'.format(lon,lat,self.my_ak)
# print queryStr
# 对queryStr进行转码,safe内的保留字符不转换
encodedStr = urllib.quote(queryStr, safe="/:=&?#+!$,;\'@()*[]")
# 在最后直接追加上yoursk
rawStr = encodedStr + self.my_sk
# md5计算出的sn值
my_sn = hashlib.md5(urllib.quote_plus(rawStr)).hexdigest()
# print my_sn
url = \'http://api.map.baidu.com\' + queryStr + "&sn=" + my_sn
# print url
res = requests.get(url)
# print \'*\' * 10
# get收到的内容
json_str = res.content
# print json_str
dictData = json.loads(json_str)
# print dictData["result"][0]["x"]
# print dictData["result"][0]["y"]
return dictData["result"][0]["x"],dictData["result"][0]["y"]
if __name__ == \'__main__\':
LON = \'112.40832\'
LAT = \'34.636055\'
myconv = Geoconv()
print myconv.wgs84tobd09(LON,LAT)
最终输出结果,成功转换成百度坐标
(112.42110872813592, 34.641182049243476)
在百度地图上显示和我自己的GPS所在位置完全一致,说明GPS坐标已经成功转换为百度坐标
以上是关于wgs84转换为百度坐标要如何操作呢?的主要内容,如果未能解决你的问题,请参考以下文章
GPS坐标(WGS84)转换百度坐标(BD09) python测试
经纬度之间互相转换(高德转百度,高德转wgs84,百度转高德,百度转wgs84,wgs84转百度,wgs84转高德)