突然看百度的转换坐标不爽了,这个是它官方的原话

目前国内主要有以下三种坐标系:
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
image.png

第二步:
百度bd09经纬度坐标 -> 百度bd09墨卡托坐标
转换的结果为:
lng: 13359717.200813645
lat: 3482487.038574929

到这儿是不是感觉啥问题都没有是吧
那我们使用
WGS84的平面墨卡托坐标 -> 百度bd09墨卡托坐标
lng: 13359574.534022972
lat: 3504048.820919616
image.png

百度是多干了什么还是少干了什么???
还是我哪儿搞错了???

参考:
http://lbsyun.baidu.com/index...
http://lbsyun.baidu.com/jsdem...


(^O^)
1 声望0 粉丝

引用和评论

0 条评论