您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > ArcGIS中的地理坐标系转换方法参数
ArcGIS中的地理坐标系转换方法参数地理坐标系变换是数据处理过程中常遇到的问题,今天就说下这方面的问题。如果遇到这种情景:两份数据有不同的坐标系,想叠加在一起显示,作图或显示精度要求不高。这种情况使用ArcMap的动态投影即可,ArcMap的内部动投影机制会解决地理坐标系变换的问题。数据在显示的过程中,会实时的被转换,但不改变数据本身。如果我们需要进行地理坐标系转换,我们知道ArcGISDesktop中提供了Project工具。此工具界面上有个至关重要的参数:GeographicTransformation。我们发现它的后面赫然写着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种已知转换方法,可以根据适用范围选择之。其中如何选择,此文不做介绍,请查看我的另一篇博客::Geographic(datum)transformations:well-knownIDs,accuraciesandareasofuse情景3:涉及到地理坐标系变换的坐标变换,并且ArcGIS未知二者之间的变换方法,也就是ArcGIS没有提供转换方法,但是这个参数是必须的,需要自定义,这个参数前会亮绿灯,告诉用户,必须要填写。另外,上面情景2中,ArcGIS给出的方法,如果都不是自己需要的,也需要自定义。例如:从GCS_Beijing_1954,转换为GCS_Xian_1980坐标系。需要使用工具CreatCustomGeographictransformation,创建一种转换方法,辅助Project工具。这个工具的帮助如下,就不赘述了。创建自定义地理(坐标)变换(DataManagement)摘要可创建一种变换方法,用于在两个地理坐标系或基准面之间对数据进行转换。对于任何参数要求进行地理变换的工具,都可使用此工具的输出作为变换方法。用法所有的自定义地理变换文件都将存储为扩展名为.gtf的文件,并存储在用户ApplicationData文件夹下的ESRI\ArcGISproduct\ArcToolbox\CustomTransformations文件夹中。如果CustomTransformations文件夹不存在,此工具会自动创建。如果ApplicationData文件夹为只读或已隐藏,则输出会创建到用户临时文件夹下的ArcToolbox\CustomTransformations中。ApplicationData和temp文件夹的位置或名称取决于操作系统。在所有Windows操作系统中,ApplicationData文件夹均位于%appdata%中,而用户的Temp文件夹则位于%temp%中。在命令窗口中输入%appdata%将返回AppData文件位置。输入%temp%将返回临时文件夹位置。在Unix系统中,tmp和ApplicationData文件夹分别位于用户主目录下的$TMP和$HOME中。在终端键入/tmp将返回该位置。对于任何使用地理变换的地理处理工具,都可查看默认储存位置中的所有自定义变换,这些自定义变换会在对话框的地理变换参数下拉列表中显示为有效的变换选项。自定义变换文件不能进行编辑。它们为二进制文件,用来储存版本和字符串长度信息,如果在地理处理框架之外进行编辑,可能会被损坏。要更新该文件,需要创建一个新的自定义地理(坐标)变换并覆盖现有文件。语法CreateCustomGeoTransformation_management(geot_name,in_coor_system,out_coor_system,custom_geot)参数说明数据类型geot_name自定义变换方法的名称。所有的自定义地理变换文件都将存储为扩展名为.gtf的文件,并存储在用户ApplicationData文件夹下的ESRI\ArcGISproduct\ArcToolbox\CustomTransformations文件夹中。如果CustomTransformations文件夹不存在,此工具会自动创建。如果ApplicationData文件夹为只读或已隐藏,则输出会创建到用户临时文件夹下的ArcToolbox\CustomTransformations中。ApplicationData和temp文件夹的位置或名称取决于操作系统。在所有Windows操作系统中,ApplicationData文件夹均位于%appdata%中,而用户的Temp文件夹则位于%temp%中。在命令窗口中输入%appdata%将返回AppData文件位置。输String入%temp%将返回临时文件夹位置。在Unix系统中,tmp和ApplicationData文件夹分别位于用户主目录下的$TMP和$HOME中。在终端键入/tmp将返回该位置。in_coor_system起始地理坐标系。CoordinateSystemout_coor_system最终地理坐标系。CoordinateSystemcustom_geot将METHOD和PARAMETER的值嵌入针对自定义变换GEOGTRAN的字符串中。设置方法的名称时,可供选择的方法有Geocentric_Translation、Molodensky、Molodensky_Abridged、Position_Vector、Coordinate_Frame、Molodensky_Badekas、NADCON、HARN、NTV2、Longitude_Rotation、Unit_Change和Geographic_2D_Offset。每种方法都有一组特定的参数,您可以通过在自定义地理变换的整个字符串表示内的参数名称旁输入文本来编辑参数值。请参阅以下Python实例中的示例。String代码实例CreateCustomGeoTransformation示例(Python独立脚本)以下独立脚本使用CreateCustomGeoTransformation函数创建一个具有特定用途的自定义转换。输出是在默认目录下创建的*.gtf文件。#Name:CreateCustomGeographicTransformation.py#Description:Createsacustomgeographictransformationinthedefaultdirectory.#importsystemmodulesimportarcpy#setthevariablesgeoTransfmName=cgt_geocentric2#createaspatialreferenceobjectforGCS_TokyoinGCS=arcpy.SpatialReference(Tokyo)#createaspatialreferenceobjectforGCS_WGS_1984outGCS=arcpy.SpatialReference(WGS1984)customGeoTransfm=GEOGTRAN[METHOD['Geocentric_Translation'],PARAMETER['X_Axis_Translation',''],PARAMETER['Y_Axis_Translation',''],PARAMETER['Z_Axis_Translation','']]arcpy.CreateCustomGeoTransformation_management(geoTransfmName,inGCS,outGCS,customGeoTransfm)环境补充:讲到这里全部的情形都涵盖了。有的同学会问,为什么会这样呢?ArcGIS为啥就不能都知道转换方法呢?为啥偏要我们自定义呢?好麻烦的耶%¥#@……有些坐标系转换的参数是不公开的,属于涉密的内容,所以ArcGIS是没有权利知道变换方法的。例如与Xian80有关的变换。另外,Project是矢量数据的坐标系变换工具,如果数据源是栅格数据,需要使用ProjectRater工具。这篇博客主要写一下,有关自定义地理变换方法。ArcGIS中提供地理变换方法主要有这几种:Geocentric_Translation、Molodensky、Molodensky_Abridged、Position_Vector、Coordinate_Frame、Molodensky_Badekas、NADCON、HARN、NTV2、Longitude_Rotation、Unit_Change和Geographic_2D_Offset。可使用“创建自定义地理变换(CreatCustomGeographicTransformation)”工具来创建转换方法。地理坐标系包含了基于椭圆体的基准面,因此地理变换会更改基础椭圆体。在基准面间进行变换的方法很多,这些方法具有不同的精度和范围。地理变换是针对地理坐标系的,也就是经纬度坐标进行转换,如果输入数据的坐标系中还包含了平面坐标系(投影),在使用Project工具的过程中会自动做相应的投影变换,转到地理坐标系,地理变换后,如果需要再转为相应的投影坐标系。PS:所有的自定义地理变换文件都将存储为扩展名为.gtf的文件,并存储在用户ApplicationData文件夹下的ESRI\ArcGISproduct\ArcToolbox\CustomTransformations文件夹中。自定义变换文件不能进行编辑。它们为二进制文件,用来储存版本和字符串长度信息,如果在ArcGIS之外进行自行编辑,可能会被损坏。下面我们来看看常用的转换方法吧,帮助中有介绍,我下面来个精简整理版的:1)Geocentric_Translation地心变换,也就是我们常说的三参数变换,是最简单的基准面变换方法。地心变换在XYZ或3D直角坐标系中对两个基准面间的差异情况进行建模。定义一个基准面使其中心为0,0,0。相距一定距离定义另一个基准面(dx,dy,dz或ΔX,ΔY,ΔZ,单位为米)。图示:方程:2)CoordinateFrame,PositionVector这两种方法是我们常说的七参数变换,或者布尔沙模型。通过对三参数变换再增加四个参数可实现更复杂和精确的基准面变换。七个参数是指三个线性平移量(dx,dy,dz)、绕各轴的三个角度旋转值(rx,ry,rz)和一个比例尺因子。旋转值以十进制秒为单位给定,而比例尺因子采用百万分率(ppm)。图示:方程:为什么七参数有上面两种方法?其实可以认为是一种模型,只是不同的国家对旋转量的正负号定义标准不同而已。坐标框架旋转变换(coordinateframe),美国和澳大利亚的定义,逆时针旋转为正;位置矢量变换(positionvector),欧洲的定义,逆时针旋转为负。另外,莫洛金斯
本文标题:ArcGIS中的地理坐标系转换方法参数
链接地址:https://www.777doc.com/doc-2898239 .html