浅析七参数坐标系转换在ArcGIS 中的应用
摘要:利用ArcGIS的投影变换功能进行坐标系转换,介绍了转换过程中怎样使用七参数模型、布尔莎七参数模型及计算方法,对于抬高投影面和任意中央子午线建立的地方坐标系,在转换过程中要注意哪些操作。
关键词:ArcGIS;坐标系;高斯投影;七参数模型
0 引言
随着“国家2000大地坐标系”(CGCS2000)在我国的推广应用,以前的测绘地理信息数据需要进行新旧坐标系的相互转换,其中,很多ArcGIS格式的数据需要进行转换,主要分为要素数据和栅格数据,方法是利用ArcGIS的投影与变换功能。最近在交流此问题时,有人说ArcGIS用七参数模型进行投影变换时,只要涉及地方坐标系就有问题,转换后数据误差很大,无法满足精度要求。通过研究发现,出现这种问题主要是对抬高投影面、任意中央子午线建立的地方坐标系进行数据转换时操作不当造成的。
本文结合网上共享的一款参数计算软件“COORD坐标转换软件”,阐述ArcGIS格式地方坐标系的要素数据或栅格数据的转换过程。
1 地理坐标系和投影坐标系
1)地理坐标系(Geographic coordinate system)是以经纬度为地图的存储单位。地理坐标系是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求我们找到这样的一个椭球体,该椭球体具有以下特点:可以量化计算,具有长半轴、短半轴、扁率。如ArcGIS的地理坐标系中关于“克拉索夫斯基_1940椭球”的描述就有以下参数:
Spheroid: Krasovsky _1940
Semimajor Axis: 6378245(长半轴)
Semiminor Axis: 6356863. 018773047(短半轴)
Inverse Flattening: 298.3(扁率)
然而,有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球定位。在坐标系统描述中,如北京1954坐标系还可以看到有这么一行:
Datum: D_Beijing_1954(大地基准面)
2)投影坐标系(Projection coordinate system)。以下是北京1954坐标系在中央子午线为105°的高斯投影参数。
Projection: Gauss_Kruger(高斯-克吕格投影,简称高斯投影)
False_Easting: 500000.0
False_Northing: 0.0
Central_Meridian: 105.0
Scale_Factor: 1.0
Latitude_Of_Origin: 0.0
Linear Unit: Meter(1.0)
Geographic Coordinate System:GCS_Beijing_1954
Angular Unit: Degree(0.0174532925199433)
Prime Meridian: Greenwich(0.0)
Datum: D_Beijing_1954
Spheroid: Krasovsky_1940
Semimajor Axis: 6378245.0
Semiminor Axis: 6356863.018773047
Inverse Flattening:298.3
从参数中可以看出,每一个投影坐标系统都会有Geographic Coordinate System。投影坐标系统实质上便是平面坐标系统,其地图单位通常为米。
将球面坐标转化为平面坐标的过程称为投影。虽然我们可以认为方里网是直角坐标,大地坐标就是球面坐标,但是在一幅地形图上经常见到方里网和经纬度网,我们很习惯地称经纬度网为大地坐标,这时的大地坐标不是球面坐标,它与方里网的投影是一样的(中国一般为高斯投影),也是平面坐标。
2 地方坐标系的定义
地方坐标系也称城市独立坐标系。地方坐标系是平面坐标系,严格的地方坐标系也是基于某种椭球的一种特殊投影,不管是高斯投影还是其他投影,在从球面坐标变成平面坐标的过程中都会存在变形误差,本文只讨论高斯投影的情况。用GPS建立平面控制网,要求每千米变形值不大于2.5cm,即相对误差1/40000。根据高斯投影的原理,变形值(R为平均曲率半径,y为偏离中央子午线的距离,H为距投影面高度)。离中央子午线的距离影响的变形值为正,越远变形值越大;距投影面的高度影响为负,也是越远影响越大。但正负可以抵消一部分。为了让变形值小于2.5cm的范围尽可能大,我们一般把中央子午线设在测区中央,投影面取测区平均高程面。这样建立的地方坐标系在测区起伏不大的情况下,在中央子午线左右两侧约40km范围基本可满足变形值小于2.5cm。
3 七参数计算
由于ArcGIS的投影变换是基于空间坐标系得来的,因此,只能选三参数或者七参数,为了得到精确的转换结果,我们选择七参数。在用COORD软件计算七参数时,选择布尔莎模型。布尔莎七参数模型如下:
式中:[△X0 △Y0 △Z0]T为3个平移参数;[εX εY εZ]T为3个旋转参数;m为1个尺度参数。
我们通过案例验证,用COORD软件计算的七参数,在ArcGIS中进行某地的地方坐标系转换。
COORD软件的高斯投影参数设置,既能设中央子午线,又能改变投影面高程;而ArcGIS的高斯投影只能设中央子午线。为了让COORD软件计算的七参数用于Arc-GIS中,如果地方坐标系改变了投影面高程,就需要进行变通处理。也就是先在COORD的椭球管理中新建一椭球,设长半轴和扁率,如果这两个参数在相关技术文档中能找到,直接使用即可。如果只知道参考椭球和投影面高,可以用膨胀法建立与参考椭球相似的椭球,即扁率不变,把长半轴加上投影面高(这里指大地高,如果不知道当地的平均高程异常,也可以用水准高代替)。本文以笔者承担的一个项目作为案例进行分析,某地方坐标系是基于西安1980,投影面高程为350m,大地高程异常约为-40m,膨胀法相当于长半轴加310m,即6378450,扁率不变为298.257,该地方坐标系命名为“某地1980”。
由于COORD有小缺陷,七参数计算时原坐标必须是经纬度格式,因此,要先把原坐标反投影成经纬度格式,这里椭球投影里选自定义高斯投影,只需设中央子午线和X、Y加常数,投影面高为0(因为是基于新的椭球了)。
进行七参数计算时如果不知道控制点在两套坐标中的大地高时可以空缺,相当于平面坐标先变换成假定高度空间坐标,最后再变换成平面坐标。案例中“某地1980”到CGCS2000(中央子午线为105°3°带投影),相应设置如图1所示。
图1:七参数计算
4 ArcGIS中的操作步骤
如果转换前后的坐标系都是标准的国家坐标系,不管是地理坐标系还是投影坐标系,可以直接在ArcGIS中选择,ArcGIS 10以后的版本都内置了北京1954、西安1980、CGCS2000坐标系以及它们所有含带号和不含带号的3°带、6°带投影坐标系。本文主要针对地方坐标系的数据转换,一般需要以下步骤。
1)新建地理坐标系。这一步的作用相当于COORD软件中的新建椭球。因此,必须和COORD中的参数一致,地方坐标系椭球设长半轴为6378450,已经加了310m,扁率为298.257。大家经常忽略这一步,导致转换结果不正确。
2)新建投影坐标系。这一步的作用相当于COORD软件的投影设置,选Gauss_Kruger投影方式,中央子午线和X、Y加常数和COORD软件设置一致,然后,选上一步新建的地理坐标系,即新椭球。为了防止出错,最好让新的投影坐标系和COORD软件中的命名保持一致,也命名为“某地1980”。
3)一般以前的ArcGIS地方坐标系数据的属性中都没有定义坐标系,或者选一个默认的高斯投影分带当成地方坐标系,因此,还需在ArcCatlog中为需要转换的要素或栅格数据的属性加上正确的坐标系,如“某地1980”。
4)ArcToolbox→数据管理工具→投影与变换→创建自定义地理(坐标)变换。这里输入坐标系选“某地1980”,输出坐标系选CGCS2000。七参数类型有两个,分别是“POSITION_VECTOR”和“COORDINATE_FRAME”,前者的角度参数逆时针旋转为负,后者的角度参数逆时针旋转为正,要选后者“COORDINATE_FRAME”。
5)ArcToolbox→数据管理工具→投影与变换→要素或栅格投影。只要选中“某地1980”坐标系的输入数据,并且把输出坐标系设为CGCS2000,上一步新建的变换关系就会自动列到“地理(坐标)变换(可选)”中。
5 精度比较
按照第3节计算的七参数分别用COORD软件和ArcGIS对测区的5个控制点进行转换,转换结果见表1。
表1:COORD软件与ArcGIS转换结果
6 结束语
从以上案例得出,COORD软件按布尔莎模型计算的七参数可用于ArcGIS的坐标转换,两种软件转换结果是吻合的。导致转换结果错误的原因一般是对于抬高投影面的地方坐标系,转换时没有建立地理坐标系(新椭球)。就像本文案例中在“某地1980”坐标系的应当先建立一个基于“西安1980”,抬高了投影面的相似椭球。
参考文献:(略)
来源:《测绘与空间地理信息》
声明:转载本文仅限行业学习交流之用,版权、著作权归原载平台及作者所有.