地理坐标系变换是数据处理过程中常遇到的问题,今天就说下这方面的问题。
如果遇到这种情景:两份数据有不同的坐标系,想叠加在一起显示,作图或显示精度要求不高。
这种情况使用 ArcMap 的动态投影即可,ArcMap 的内部动投影机制会解决地理坐标系变换的问题。数据在显示的过程中,会实时的被转换,但不改变数据本身。
如果我们需要进行地理坐标系转换,我们知道 ArcGIS Desktop 中提供了 Project 工具。
此工具界面上有个至关重要的参数:Geographic Transformation。我们发现它的后面赫然写着 Optional 。依照使用其他工具的经验,这种打了 Optional 标志的参数,不就是可填可不填的意思吗?
但是,它真的让你随便的可填可不填吗? Naive! 图样图森破! 这个参数的填写与否,完全是受前面两个参数决定的,主要三种情景吧。
情景1:
不涉及到地理坐标系变换的坐标变换,这个参数完全不需要,而不是 optional 哦。
例如:从 GCS_Xian_1980 进行投影变换,转换为 Xian_1980_3_Degree_GK_CM_120E 投影坐标系。
整过转换中,仅使用了高斯克吕格投影变换,没有涉及到地理坐标变换。
情景2:
涉及到地理坐标系变换的坐标变换,并且ArcGIS 已知二者之间的变换方法,这个参数是必须的,在已知列表中做选择或者自定义。(自定义见:情景3)
例如:从 GCS_Beijing_1954,转换为 GCS_WGS_1984坐标系。
转换过程中涉及到地理坐标系变换,也就是进行了椭球体变换。
ArcGIS 中提供了6种已知转换方法,可以根据适用范围选择之。其中如何选择,此文不做介绍,请查看我的另一篇博客:http://blog.csdn.net/kikitamoon/article/details/12914477
情景3:
涉及到地理坐标系变换的坐标变换,并且ArcGIS 未知二者之间的变换方法,也就是ArcGIS没有提供转换方法,但是这个参数是必须的,需要自定义,这个参数前会亮绿灯,告诉用户,必须要填写。另外,上面情景2中,ArcGIS给出的方法,如果都不是自己需要的,也需要自定义。
例如:从 GCS_Beijing_1954,转换为 GCS_Xian_1980坐标系。
需要使用工具 Creat Custom Geographic transformation,创建一种转换方法,辅助 Project 工具。
这个工具的帮助如下,就不赘述了。
http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//001700000076000000
补充:
讲到这里全部的情形都涵盖了。有的同学会问,为什么会这样呢?ArcGIS为啥就不能都知道转换方法呢?为啥偏要我们自定义呢?好麻烦的耶%¥#@……
有些坐标系转换的参数是不公开的,属于涉密的内容,所以ArcGIS是没有权利知道变换方法的。例如与 Xian 80 有关的变换。原文:Some geographic coordinate systems do not have any publicly known transformations because that information is considered to have strategic importance to a government or company.
好了,至此,大致就知道这个参数什么时候不需要,什么时候需要,如果没有如何得到,这几个问题。
Project 工具中 Geographic Transformation 参数什么情况下是必填的。
另外,Project 是矢量数据的坐标系变换工具,如果数据源是栅格数据,需要使用 Project Rater 工具。
这篇博客主要写一下,有关自定义地理变换方法。
ArcGIS 中提供地理变换方法主要有这几种:Geocentric_Translation、Molodensky、Molodensky_Abridged、Position_Vector、Coordinate_Frame、Molodensky_Badekas、NADCON、HARN、NTV2、Longitude_Rotation、Unit_Change 和 Geographic_2D_Offset。可使用“创建自定义地理变换(Creat Custom Geographic Transformation)”工具来创建转换方法。地理坐标系包含了基于椭圆体的基准面,因此地理变换会更改基础椭圆体。在基准面间进行变换的方法很多,这些方法具有不同的精度和范围。
地理变换是针对地理坐标系的,也就是经纬度坐标进行转换,如果输入数据的坐标系中还包含了平面坐标系(投影),在使用 Project 工具的过程中会自动做相应的投影变换,转到地理坐标系,地理变换后,如果需要再转为相应的投影坐标系。
PS: 所有的自定义地理变换文件都将存储为扩展名为 .gtf 的文件,并存储在用户 Application Data 文件夹下的 ESRI\
下面我们来看看常用的转换方法吧,帮助中有介绍,我下面来个精简整理版的:
1)Geocentric_Translation
地心变换,也就是我们常说的三参数变换,是最简单的基准面变换方法。地心变换在 XYZ 或 3D 直角坐标系中对两个基准面间的差异情况进行建模。定义一个基准面使其中心为 0,0,0。相距一定距离定义另一个基准面(dx,dy,dz 或 ΔX,ΔY,ΔZ,单位为米)。
2)Coordinate Frame,Position Vector
这两种方法是我们常说的七参数变换,或者布尔沙模型。通过对三参数变换再增加四个参数可实现更复杂和精确的基准面变换。七个参数是指三个线性平移量 (dx,dy,dz)、绕各轴的三个角度旋转值 (rx,ry,rz) 和一个比例尺因子。旋转值以十进制秒为单位给定,而比例尺因子采用百万分率 (ppm)。
为什么七参数有上面两种方法?其实可以认为是一种模型,只是不同的国家对旋转量的正负号定义标准不同而已。
另外,莫洛金斯基–巴德卡斯(Molodensky_Badekas)方法是七参数方法的变型。它具有三个附加参数,用于定义旋转点的 XYZ 原点。
3)Molodensky,Molodensky_Abridged
莫洛金斯基方法直接在两种地理坐标系之间转换,实际上无需转换到 XYZ 系统。莫洛金斯基方法需要三个平移量 (dx,dy,dz) 以及两个旋转椭球体的长半轴 (Δa) 和扁率 (Δf) 的差。
这种方法,相对用的少,方程我就不粘了,详见帮助:
http://resources.arcgis.com/en/help/main/10.2/index.html#/na/003r00000012000000/
OK,今天就到这里了~