对互联网中常见地图的坐标系探讨

摘要:
然而,有些地方是地方坐标系,测绘局需要提供机密插件进行处理。

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

目前项目中使用百度地图、高德地图、谷歌中国地图、天地图的需求越来越多,这里我跟大家一起对各地图使用的坐标系做一个简单的探讨。

2.百度地图——BD-09

百度地图是在GCJ-02坐标系上,又自己对坐标加密了一次,它官方文档里说叫BD-09,目前从GPS坐标转到百度坐标有接口提供,反过来不提供。

当然,目前反转方法在我们实际项目中已经解决,精确度可以达到0.5M以内。

2.1百度瓦片获取思路

百度地图的投影还是标准的Web横轴墨卡托投影,所以其切图的坐标原点、范围都是可以计算出来的。瓦片大小、基本URL也都可以通过监听百度的URL获取。需要注意的是,百度地图的瓦片行列号和负载地址在不同级别上都会有所不同,其变化规则如下:

瓦片的行列号是每增加一个级别便会进行一个规则的偏移,其偏移算法如下:

     对互联网中常见地图的坐标系探讨第1张                                            

2.2本地坐标系图层与百度底图叠加的探讨

2.2.1 强行对瓦片数据进行纠偏

在最新的arcBruTile0.7中已经支持对百度地图的添加。可以加载了百度瓦片后,通过寻找百度地图上与本地地图上的控制点对进行强行纠偏。

缺点是栅格图像纠偏形变是很难避免的,而且工作量也大,并且很难自动化。

2.2.2 将矢量数据转换为百度坐标系——以天津90坐标系为例

a.获取WGS84到天津90坐标系上的7参数。

b.通过建立控制点库(已研发),利用工具(已研发)将天津90坐标系数据自动转换为WGS84坐标系数据。

c.再建立WGS84与百度坐标系之间的控制点库(已研发),将WGS84数据再转换为百度坐标系数据。

d.叠加后测试。

2.2.3结果展示

                                            对互联网中常见地图的坐标系探讨第2张

对互联网中常见地图的坐标系探讨第3张

3.高德地图和谷歌中国地图——GCJ-02

3.1地图坐标系的探讨

高德地图和谷歌地图均是使用的GCJ-02坐标系,以下为测试例子:

 对互联网中常见地图的坐标系探讨第4张

具体来说GCJ-02坐标系与WGS84坐标系偏移一般在100M上下,这种处理技术,是通过一种方法将一张地图修改为另外一张地图,修改完成之后,地图上的点,会发生大到几百米,小到几十米的偏移。如果你用几何上坐标转换的方法想复原原地图,难度很大,因为处理技术的处理映射函数是非线性的。网上有很多两个坐标之间的转换方法,但是精确度一般般,在10M左右。

在国内,GCJ-02带来的偏移最大有700米左右,偏移的绝对值可以参考下图(最红处接近700 m,最蓝处大约 20 米):

 对互联网中常见地图的坐标系探讨第5张

3.2本地坐标系数据叠加到GCJ-02坐标系上

3.2.1转换流程

由于本地数据并不会是大范围的,所以其局部偏移上可以通过线性方法暂时逼近。

a.本地坐标数据转换为WGS84坐标数据。

b.对本地WGS84坐标数据进行Web横轴墨卡托投影。

c.将投影后的数据叠加到高德或者谷歌中国地图上。

d.进行线性偏移。

3.2.2结果展示

 对互联网中常见地图的坐标系探讨第6张

4.天地图——CGCS2000

4.1坐标系研究

天地图上不同省份使用的坐标系可能不同,目前来看我经手过的浙江、四川均为标准的国标2000坐标系。但是有些地方为当地坐标系,还需测绘局提供保密插件进行处理。

国标2000坐标系与WGS84坐标系偏差不大,因为CGCS2000坐标系与WGS84坐标系的原点、尺度、定向及定向演变的定义都是相同的,参考椭球的参数略有不同而已。相同的坐标点,在CGCS2000与WGS84下,经度是相同的,只在纬度上存有0.11mm上下的区别,可以忽略掉。

4.2 本地坐标系矢量数据叠加到天地图上

a.将本地数据转换为WGS84或者国标2000坐标系数据。

b.叠加到天地图上。

4.3结果展示

 对互联网中常见地图的坐标系探讨第7张

                                                                  -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                      如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                      对互联网中常见地图的坐标系探讨第8张

免责声明:文章转载自《对互联网中常见地图的坐标系探讨》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇session存储到MongoDB图片右上角添加删除下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

高德MKMapView的mapView: viewForAnnotation:不调用的问题

项目中用到给高德地图添加标注的问题,但是mapView:viewForAnnotation:方法就是不调用,现总结如下: mapView实例的代理没有设置 代理方法mapView:viewForAnnotation:的方法名不对 设置的经纬度有误 我的错误就是第三种,把经纬度写反了,导致不掉用,遮盖就类似一个View的hidden属性是Yes,或者透明...

下载特定区域内百度街景照片数据

下载特定区域内百度街景照片数据 本文是在康博的博文的基础上再整理的。 01 下载路网数据 基本上都是使用 Open Street Map (OSM) 的路网数据。下载 OSM 数据的方法有很多,这里就不再赘述。 我个人是使用 OpenStreetMap Data Extracts 下载了整个中国的数据,然后用研究区的边界数据进行了裁剪。具体是使用了 Arc...

Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配

cesiumjs中可定制多种图层,可以使用互联网上很多地图提供商的图层数据,也可以使用自己的地图数据。Cesium支持多种标准化格式的GIS瓦片服务,可以把栅格图层绘制到地球的表面——cesiumjs的地图图层本质上是一些瓦片数据,这些图层的亮度、对比度、色相均可以动态调整。 对于地图瓦片数据,OGC(Open Geospatial Consortium开...

爬取高德天气所有城市的天气

1、打开网站:https://www.amap.com/ 2、按F12进入开发者界面,如下图 3、点击Network--XHR--刷新,如下图 4、找到存放天气的文件 如何获取图中adcode,因为adcode为获取每个城市天气的标识。 ①复制adcode在上个图中的左下方文件中的Preview找到对应城市的adcode ②上图文件数据格式是j...

# vue 使用 cesium 接入 gltf 模型

vue 使用 cesium 接入 gltf 模型 这个其实说简单也简单,但是说复杂也不容易搞。尤其是转化成vue语法或者是在vue项目接入的时候会有些许的坑,我在接入的时候也是有很多问题,好在最后把模型加进去了,在这里稍微整理一下,然后这篇博文的代码都是我自己实现成功的,如果需要的话可以相互学习一下。第一次整,也许不是最优编程,交流嘛。 cesium中文文...

mapbox 接入高德矢量地图实战

Mapbox 作为现如今比较流行的地图框架为我们提供了漂亮的个性化地图,在平常的使用过程中可以方便的接入高德/谷歌等矢量切片地图。由于Mapbox地图数据来源于Open Street Map等国外厂商,中国地图POI/道路等信息都不全,造成在实际项目中使用很不精细。对比国内互联网地图厂商,百度和高德都提供了自有格式的矢量地图,如何解析其数据,再将数据PBF...