Skip To Content

esri_coordsys_DatumTransformation_set (AutoLISP)

Функция esri_coordsys_DatumTransformation_set задает преобразование датума в текущем чертеже. Если преобразование датума (из исходной в конечную систему координат) уже существует, оно перезаписывается. Функция вернет набор преобразований датума.

Синтаксис

(esri_coordsys_DatumTransformation_set FromCS ToCS transformationStep_properties)

Аргументы

  • FromCS | string | required | Корректный общепринятый идентификатор (WKID) или общепринятый текст (WKT) системы координат Esri в виде строки.
  • ToCS | string | required | Корректный общепринятый идентификатор (WKID) или общепринятый текст (WKT) системы координат Esri в виде строки.
  • transformationStep_properties | связанный список | required | Список шагов преобразования в виде связанных списков разделенных точками пар свойств шагов, как определено в следующей таблице:

    Связанная надписьТип значенияОписание значенияОбязательные или дополнительные
    "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_DatumTransformation_set 
  "2882" "3857" 
   (list 
     (list (cons "Direction" "Forward") (cons "Step" 1580))
   )  
)

Пример использования результата 1

Одноступенчатое преобразование датума задаётся в текущем чертеже, полное определение преобразования датума возвращается в виде связанного списка.

(("From" . "2882") ("To" . "3857") ("Transformation" ((("Direction" . "Forward") ("Step" . "1580")))))

Пример использования 2

Задайте составное преобразование датума в текущем чертеже между исходной и конечной системами координат, обозначенными WKID. Шаги преобразования датума, на которые ссылаются строковые значения WKID, предназначены для применения в обратном порядке.

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

    Преобразования датума нельзя установить или изменить, если чертеж содержит векторные веб-слои.

  • (nil ("Error" . "Missing required argument."))

    Не указан один или несколько обязательных аргументов.