一个GIS科班出生的研究生,把已还到课本的基础GIS知识,准备重新学习,并结合这几年下来自身在行业中GIS的应用,总结一些实用的GIS知识点。一备不时之需,二为积累沉淀,三则是年龄越大,记性越差,加上脑子和计算机一样,一重启,内存清空。
首先来看坐标系,实用一点,Web地图坐标系,在这里我把它们划分为三类:
1.谷歌地图、高德地图、腾讯地图,Web Mercator(3857) + 中国坐标按国测局要求加密(谷歌国外不加密,下面有表述) GCJ02(国测局火星坐标)
2.百度地图、搜狗地图,Web Mercator (3857) + 中国坐标按国测局要求加密 + 自己二次加密 (如百度的bd09)
3.TDT地图(所有地图数据版本都以文章发表时间点2015年7月3日为准),两套服务,一为:http://t0.tianditu.com/vec_c/wmts?request=GetCapabilities&service=wmts,4490:国家大地2000;二为:http://t0.tianditu.com/vec_w/wmts?request=GetCapabilities&service=wmts,900913:Web Mercator (关于Web Mercator ,如何从900913,演变为3785,又和ESRI的102113一起改名为:3857。这里就不展开,请百度相关资料。提一句:900913=google)
到这里,请先阅读这篇:http://blog.3snews.net/space.php?do=blog&id=28181&uid=47188&bsh_bid=533381983
与上述地址重复的内容将不展开,可先通过上述地址补习Web Mercator投影相关知识。
接下来,主要通过一些实验来一起讨论几个话题,不一定正确,仅供参考。
1.TDT的神奇
神奇在哪?刚才提到TDT地图也有Web Mercator 的地图服务,但是它有没有进行中国坐标按国测局要求加密(GCJ02)呢?
实验一:从Google Earth(翻墙)获取已知WGS84坐标点:清华东门(校训所在位置转换为度后:116.326592,39.994992)
先看谷歌地图(翻墙):
由于谷歌地图js api的示例,没找到拾取坐标的例子,只好变相的用:
https://developers.google.com/maps/documentation/javascript/examples/marker-simple这个例子,把里面的坐标改成前面谷歌地图采的坐标(嫌放大麻烦可以,设置zoom在15左右),运行后:
标记位置和校训位置的偏移,显而易见。
再看高德地图:
高德坐标标记示例:http://lbs.amap.com/api/javascript-api/example/e/0506-2/
输入坐标,运行后:
标记位置和谷歌地图没区别,同样的偏移,印证了两者是同样坐标系。
其它地图就不上图了,百度和搜狗肯定偏移的不同,有兴趣可以试下。
然后,来看天地图,标记坐标较麻烦,所以用了天地图的这个示例:http://api.tianditu.com/api-new/examples.html (事件/鼠标划过时触发事件)
有偏移么?好吧。有,大概5米左右。
神奇?想不出别的字眼来形容。难道国测局的加密要求有两套算法,两套标准?
下一篇:Web地图坐标系——谷歌的无奈
版权声明:本文为博主原创文章,未经博主允许不得转载。