Skip To Content

esri_coordsys_DatumTransformations_set (AutoLISP)

该函数用于设置当前工程图中的基准面变换。 如果基准面变换(起始坐标系和目标坐标系)已存在,则将覆盖该基准面变换。 该函数将返回基准转换集。

语法

(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."))

    未提供一个或多个必填参数。