该函数用于设置当前工程图中的基准面变换。 如果基准面变换(起始坐标系和目标坐标系)已存在,则将覆盖该基准面变换。 该函数将返回基准转换集。
语法
(esri_coordsys_DatumTransformations_set FromCS ToCS transformationStep_properties)
参数
- FromCS | 字符串 | 必填 | 字符串形式的 Esri 坐标系的有效 WKID(熟知坐标系 ID)或 WKT。
- ToCS | 字符串 | 必填 | 字符串形式的 Esri 坐标系的有效 WKID(熟知坐标系 ID)或 WKT。
transformationStep_properties | 相关列表 | 必填 | 变换步骤的列表,作为两个点对步骤属性的关联列表,如下表中定义:
相关标注 值类型 值描述 必填或可选 "Direction" string
应用变换步骤的步骤方向,可以为“Forward”或“Reverse”。
必填
"Step"
string
变换步骤的 WKID 或 WKT。
必填
用法
当创建复合基准面变换时,每个步骤的顺序必须正确。 对于以下示例 2,108355 为第一步,108282 为第二步和最后一步。 方向必须以字符串“Forward”或“Reverse”的形式提供,并且不区分大小写。
ArcGIS for AutoCAD 不会验证提供的变换步骤。 如果设置方法的任何部分无效或者应用顺序错误,则 ArcGIS for AutoCAD 可能会错误地绘制图层。
注:
创建熟知文本 (WKT) 作为 AutoLISP 字符串参数时,该字符串必须包含相应转义字符,以在文本字符串内包含必要的引号。 以下为示例:
坐标系:
"PROJCS[\"NAD_1983_HARN_StatePlane_Florida_West_FIPS_0902_Feet\",GEOGCS[\"GCS_North_American_1983_HARN\",DATUM[\"D_North_American_1983_HARN\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",656166.6666666665],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",-82.0],PARAMETER[\"Scale_Factor\",0.9999411764705882],PARAMETER[\"Latitude_Of_Origin\",24.33333333333333],UNIT[\"Foot_US\",0.3048006096012192],AUTHORITY[\"EPSG\",2882]]"
基准面变换
"GEOGTRAN[\"WGS_1984_(ITRF00)_To_NAD_1983\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GCS_North_American_1983\",DATUM[\"D_North_American_1983\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"Coordinate_Frame\"],PARAMETER[\"X_Axis_Translation\",0.9956],PARAMETER[\"Y_Axis_Translation\",-1.9013],PARAMETER[\"Z_Axis_Translation\",-0.5215],PARAMETER[\"X_Axis_Rotation\",0.025915],PARAMETER[\"Y_Axis_Rotation\",0.009426],PARAMETER[\"Z_Axis_Rotation\",0.011599],PARAMETER[\"Scale_Difference\",0.00062],OPERATIONACCURACY[0.1]]"
示例用法 1
尝试在当前工程图中由 WKID 表示的起始坐标系和目标坐标系之间设置单步基准面变换。 步骤列表包含单个基准面变换步骤,该步骤将引用 WKID 并且应按正向顺序应用。(esri_coordsys_DatumTransformations_set
"2882" "3857"
(list
(list (cons "Direction" "Forward") (cons "Step" 1580))
)
)
结果示例用法 1
在当前工程图中设置单步基准面变换,并以关联列表的形式返回基准面变换的完整定义。
(("From" . "2882") ("To" . "3857") ("Transformation" ((("Direction" . "Forward") ("Step" . "1580")))))
示例用法 2
尝试在当前工程图中由 WKID(熟知 ID)表示的起始坐标系和目标坐标系之间设置复合基准面变换。 将指示以相反顺序应用 WKID 字符串值引用的基准面变换步骤。(esri_coordsys_DatumTransformations_set
"6425" "3857"
(list
(list (cons "Direction" "Reverse") (cons "Step" 108355))
(list (cons "Direction" "Reverse") (cons "Step" 108282))
)
)
结果示例用法 2
在当前工程图中设置两步复合基准面变换,并以关联列表的形式返回基准面变换的完整定义。
(("From" . "6425") ("To" . "3857") ("Transformation" ((("Direction" . "Reverse") ("Step" . "108355")) (("Direction" . "Reverse") ("Step" . "108282")))))
返回值
- 将设置基准面变换并以关联列表的形式返回基准面变换的完整定义。
- 如果该函数失败,则该函数将返回一个列表,其中第一个值为 nil,然后是一个包含键值 "Error" 的关联列表以及字符串形式的关联错误消息:(nil ("Error" . "<message>"))。
失败的返回值
出于以下任一原因,可能出现失败的返回值:
- (nil ("Error" . "Failed"))
提供的 WKID 或 WKT 无效。
- (nil ("Error" . "This document contains existing web feature layers. Datum transformations cannot be modified when web feature layers present."))
当工程图包含现有 web 要素图层时,将无法设置或修改基准面变换。
- (nil ("Error" . "Missing required argument."))
未提供一个或多个必填参数。