突然看百度的转换坐标不爽了,这个是它官方的原话:
目前国内主要有以下三种坐标系:
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。
非中国地区地图,服务坐标统一使用WGS84坐标。
下面是它的坐标常量说明:
/*
- 坐标常量说明:
- COORDINATES_WGS84 = 1, WGS84坐标
- COORDINATES_WGS84_MC = 2, WGS84的平面墨卡托坐标
- COORDINATES_GCJ02 = 3,GCJ02坐标
- COORDINATES_GCJ02_MC = 4, GCJ02的平面墨卡托坐标
- COORDINATES_BD09 = 5, 百度bd09经纬度坐标
- COORDINATES_BD09_MC = 6,百度bd09墨卡托坐标
- COORDINATES_MAPBAR = 7,mapbar地图坐标
- COORDINATES_51 = 8,51地图坐标
- /
支持从其他坐标系转换到百度坐标系
开始搞事:
咱们随意造一个WGS84(EPSG:4326)下的坐标:
POINT(120 30)
转换为WGS84的平面墨卡托坐标(EPSG:3857)
POINT(13358338.8951928 3503549.84350437)
转换使用的是postgis
SELECT ST_AsText(ST_Transform(st_geometryfromtext('POINT(120 30)',4326),3857));
现在执行两个转换:
第一步:
WGS84坐标 -> 百度bd09经纬度坐标
转换的结果为:
lat: 30.00388749304762
lng: 120.01107571256166
第二步:
百度bd09经纬度坐标 -> 百度bd09墨卡托坐标
转换的结果为:
lng: 13359717.200813645
lat: 3482487.038574929
到这儿是不是感觉啥问题都没有是吧
那我们使用
WGS84的平面墨卡托坐标 -> 百度bd09墨卡托坐标
lng: 13359574.534022972
lat: 3504048.820919616
百度是多干了什么还是少干了什么???
还是我哪儿搞错了???
参考:
http://lbsyun.baidu.com/index...
http://lbsyun.baidu.com/jsdem...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。