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坐标已经成功转换为百度坐标

GPS坐标(WGS84)转换百度坐标(BD09) python测试的更多相关文章
- 基于python的WGS84转百度坐标
from urllib.request import urlopen, quote import json def wgs84tobaidu(x,y): data=str(x)+','+str(y); ...
- 地图坐标Base64转换数字坐标
测试地图源码==百读Demo<html> <head> </head> <body> <script type="text/javasc ...
- GPS坐标换算为百度坐标
最近在做一个关于手机定位的小应用,需求是这样的,用户通过手机(Wp8)进行二维码扫描操作并且记录用户的当前位置,在PC上可以查看用户所在地图的位置,做法就是在用户扫描条码时,通过手机GPS获取当前在地 ...
- GPS转换为百度坐标
原文地址:http://www.cnblogs.com/zhaohuionly/archive/2013/06/18/3142623.html 最近在做一个关于手机定位的小应用,需求是这样的,用户通过 ...
- GPS坐标换算为百度坐标(转)
最近在做一个关于手机定位的小应用,需求是这样的,用户通过手机(Wp8)进行二维码扫描操作并且记录用户的当前位置,在PC上可以查看用户所在地图的位置,做法就是在用户扫描条码时,通过手机GPS获取当前在地 ...
- GPS坐标互转:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图)(转载)
WGS-84:是国际标准,GPS坐标(Google Earth使用.或者GPS模块)GCJ-02:中国坐标偏移标准,Google Map.高德.腾讯使用BD-09:百度坐标偏移标准,Baidu Map ...
- BD09坐标(百度坐标) WGS84(GPS坐标) GCJ02(国测局坐标) 的相互转换
BD09坐标(百度坐标) WGS84(GPS坐标) GCJ02(国测局坐标) 的相互转换 http://www.cnphp6.com/archives/24822 by root ⋅ Leave a ...
- java中WGS84坐标(ios)转换BD-09坐标(百度坐标)
iPhone的GPS定位(CLLocationManager)获得的经纬坐标是基于WGS-84坐标系(世界标准),Google地图使用的是GCJ-02坐标系(中国特色的火星坐标系),百度的经纬坐标在G ...
- 百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换(JS版代码)
/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09).国测局坐标(火星坐标,GCJ02).和WGS84坐标系之间的转换 */ //定义一些常量 ...
随机推荐
- ubuntu 12.04LTS下jdk 6安装记录
这两天突然对ubuntu产生了兴趣,决定来折腾一下,:-) 由于开发一般都是在java上进行,所以第一步就是得把环境搭建好,折腾了一会儿,现在把过程记录一下. Step 1 下载jdk6 地址是 ht ...
- MII、GMII、RMII、SGMII、XGMII、XAUI、Interlaken
MII即媒体独立接口,也叫介质无关接口.它是IEEE-802.3定义的以太网行业标准.它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图1).数据接口包括分别用于发送器和接收器的两条独立信道 ...
- Java并发编程(十四)并发容器类
同步容器将所有对容器状态的访问都串行化,以实现线程安全性.这种方法的代价是严重降低并发性,当多个线程竞争容器的锁时,吞吐量将严重减低. 另一个方面,并发容器是针对多个线程并发访问设计的.在java 5 ...
- Python Socket 网络编程 (服务器端编程)
服务器端主要做以下工作: 打开 socket 绑定到特定的地址以及端口上 监听连接 建立连接 接收/发送数据 上面已经介绍了如何创建 socket 了,下面一步是绑定. 绑定 socket 函数 bi ...
- 推荐个WIN7下小巧的可转录声音的软件-Audio Record Wizard V6.99
之前是XP上用的是 WaveCN 2.0.0.5,但这个软件好久没更新了,不支持WIN7 最终找到了Audio Record Wizard V6.99,尽管没 WaveCN 2.0.0.5好用,但也全 ...
- C++中的return返回值:return0 or return -1?
C++98 中定义了如下两种 main 函数的定义方式: int main( ) int main( int argc, char *argv[] ) (参考资料:ISO/IEC 14882(19 ...
- HttpURLConnectionClient
package com.utils; import com.pay.util.AES; import org.apache.log4j.Logger; import javax.net.ssl.Htt ...
- 获取字符串已utf-8表示的字节数
private static int utf8Length(String string) { /** Returns the number of bytes required to write thi ...
- 1020 逆序排列(DP)
1020 逆序排列 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序 ...
- WPF中DPI的问题
先搞清楚一下几个概念: DPI:dots per inch ,每英寸的点数.我们常说的鼠标DPI,是指鼠标移动一英寸的距离滑过的点数:打印DPI,每英寸的长度打印的点数:扫描DPI,每英寸扫描了多 ...