1 引言
上篇记录了GIS坐标系的一些知识,主要是地理坐标系和投影坐标系相关内容。坐标系的转换其实我一直以来都是比较懵的,什么四参数,七参数什么的都不太清楚。正好就此机会全部盘点一下。
2 三个坐标系
前面说过:数据的空间分析必须在统一空间参考下进行,否则结果并不可靠。所以,我们需要转换坐标。因为很多空间数据的操作都与ArcGIS有关,在讨论坐标系转换前我们需要了解三个坐标系:
2.1 真实坐标系
数据的真实坐标系是数据记录本身所对应的坐标系,加载数据后可以从Extent里面看出数据所记录的真实数据是怎么样的,下图就是一个地理坐标系的示意。(除非进行坐标系转换以及投影操作,数据真实坐标是不会改变)
2.2 属性坐标系
数据属性坐标系就是在数据属性中空间参考中显示的坐标系,通常来讲,数据的属性坐标系要与真实坐标系匹配,这样软件才能将数据显示到正确的位置上,但往往会出现下面这种情况,拿到的数据不是想要的坐标系,直接在CataLog里将其更改,但这种方式是不对的,真实的坐标没有改变,所以会出现位置错误等各种问题。
还有一种情况是UnKnown Spatial Reference,也就是不知道空间参考是什么,这个时候首先需要向数据提供者询问坐标系。有时候一些比较常见的也可以通过坐标特性猜一猜,比如分带规则。
真实坐标和属性坐标必须匹配才是对的。
2.3 地图坐标系
地图是由各个图层组成的,在arcgis pro中当我们新建一个Map,它默认会有一个坐标系,当我们添加第一个数据时它会将其设置为与第一个数据相同的坐标系。当后续加入数据,如果坐标系不匹配会警告,但仍可以将其加入,它会按照现在的地图坐标系形式显示。
比如:坐标系为CGCS2000的南京市,加入空白Map,显示如左图,现在我人为的将Map坐标系改为Web Mercator,显示如右图,明显被拉长了
又或者:坐标系为CGCS2000_G-K_117E投影坐标系加入空白Map显示在左图,但我人为的将Map改为CGCS2000_G-K_75E,显示右图,明显看到是个歪的,这是因为因为南京在中央经线117E这个分带里,所以左图很正,而当我改变地图坐标系,显示按照75E为中央经线来,南京离它很远,所以是歪的。
3 坐标系转换
此处提到的坐标系转换是真实坐标系的转换。上一篇文章提到投影坐标系是基于地理坐标系的,而地理坐标系是基于不同的椭球基准的。所以我们涉及以下几种需要转换坐标的场景。
3.1 不同椭球体之间的转换
图片来源GB_Fore老师博文
结合图中流程可以得出以下几点:
- 在同一个椭球基准下,投影平面坐标、大地球面坐标以及空间直角坐标是有严格意义上的数学公式关系
- 不同椭球基准下坐标转换依靠两个空间直角坐标的转换作为桥梁。这一点很好理解,因为两个xyz轴总是可以通过平移旋转缩放将其匹配到一起。
- 七参数模型是这种转换的一种方式
流程中具体步骤如下:
- 投影平面(X,Y)转大地球面(B,L,H)
首先第一步其实很少见到,因为一个投影坐标系需要基于地理坐标系,所以在地理坐标系下的数据是存在的。但有的时候就是直接拿到投影坐标系下的数据,这就比较麻烦了。
1)如果是常见的投影方式,那还好办,可以见ArcGIS支持的地图投影方式,直接在arcgis软件中将投影坐标反算出地理坐标就行。具体方式有很多,比如字段计算,project等。
2)如果是不常见的投影方式,多出现于本地坐标系,有自己的投影方式,即使知道地理坐标系的参数,也无法推出是怎么投影的。这种情况只能向数据提供者求助,一般需要购买。 - 大地球面(B,L,H)转空间直角(X,Y,Z)
大地球面转空间直角坐标系这个有固定公式,网上也有各种语言的源代码,比如:
江湖百晓生的记事本 - 空间直角转空间直角(不同椭球)
空间直角坐标系的互转可以通过基于方程的变换方法(ArcGIS官网),在ArcGIS中有:三参数方法、七参数方法、莫洛金斯基方法(直接大地坐标转换,无需转换到XYZ系统)。其中最为常见的是流程图中提到的是七参数方法。
七参数的计算需要至少三对已知坐标的控制点,如果有,可以通过公式计算得到,如果没有,向地方部分购买。 - 空间直角转大地球面
同2步骤 - 大地球面转投影平面
投影可以在ArcGIS中选择支持的投影方式,使用Project工具即可完成
3.2 相同椭球参考下的转换
在相同地理坐标系下,只存在投影方式不同的转换,相当于是(x,y)->(x,y)
- 首先如果是已知的投影方式,直接采用Project工具进行目标投影坐标系的转换。
- 如果是未知投影方式,买平面控制点坐标,然后进行四参数的转换,也就是两个平移参数,一个旋转参数,一个缩放参数。
(疑惑)这里需要考虑一个问题,即使椭球参考相同,基准面不同也是不同的地理坐标系,可以采用
大地坐标系–>平面直角坐标系–>平面直角坐标系–>大地坐标系
的方式,用四参数转换投影后平面坐标,再反解出大地坐标。
最后,这里的四参数方法也可以用于精度要求不高,范围不大的不同椭球体下的平面坐标直接互转,这是一种暴力方法。
参考
-
https://mp.weixin.qq.com/s/TWfiRm6ozilsLy8Xsle19Q
-
https://www.cnblogs.com/lyggqm/p/11109599.html
-
https://blog.csdn.net/u010534192/article/details/77196064
-
https://www.cnblogs.com/onsummer/p/7451128.html
-
https://zhuanlan.zhihu.com/p/157352494
-
https://blog.csdn.net/mymhj/article/details/103952411