Skip To Content

CoordinateSystem.DatumTransformations (.NET)

Метод CoordinateSystem.DatumTransformations возвращает все определения преобразований датума в чертеже как коллекцию словарей.

Комбинация преобразований системы координат from и системы координат to, включенная в каждое определение преобразования датума, уникальна и действует как ключевые значения, которые отличают одно определение преобразования датума от другого на чертеже. Каждое определение преобразования датума включает коллекцию шагов для выполнения преобразования. Каждый шаг имеет направление, указывающее порядок применения шага преобразования системы координат.

Декларация

public IEnumerable<Dictionary<string, object>> Esri.ArcGISForAutoCAD.CoordinateSystem.DatumTransformations(Document doc)

Параметры

ТипИмяОписаниеОбязательный

Документ

doc

Документ AutoCAD, на основании которого следует действовать.

required

Возвращаемые значения

ТипОписание

IEnumerable<Dictionary<string, object>>

Коллекция определений преобразований датума в виде словарей. Каждый словарь определения преобразования датума имеет следующие ключи: From, To и Steps. Ключи From и To имеют строковые значения, представляющие системы координат. Значение ключа Steps представляет коллекцию словарей шагов преобразования системы координат. Каждый словарь преобразования имеет ключи Step и Direction. Ключ Step имеет значение шага в виде строки, а ключ Direction указывает порядок применения шага преобразования: "Forward" или "Reverse".

Замечания по условиям возникновения ошибок

Этот метод может выдать исключение или вернуть null, если параметр является некорректным или на чертеже отсутствуют преобразования датума.

Пример

Выведите определения преобразований датума в текущем чертеже.

// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;

// Get the datum transformations
var datumTransformations = Esri.ArcGISForAutoCAD.CoordinateSystem.DatumTransformations(doc);

// Print the datum transformation definitions
foreach (var dT in datumTransformations)
{
  doc.Editor.WriteMessage("\nFrom {0}: To {1}", dT["From"], dT["To"]);
  doc.Editor.WriteMessage("\nSteps: ");
  doc.Editor.WriteMessage("\n");
  foreach (var dict in dT["Steps"] as List<Dictionary<string, object>>)
  {
    foreach (var kvp in dict)
    {
      doc.Editor.WriteMessage("\t{0}: {1}\n", kvp.Key, kvp.Value.ToString());
    }
  }
}

/* Example output 
From 2882: To 3857
Steps:
 Direction: Forward
 Step: 1901
From 3857: To 4432
Steps:
 Direction: Reverse
 Step: 1173
 Direction: Forward
 Step: 1241
*/

См. также

esri_coordsys_DatumTransformations — функция AutoLISP, которая возвращает все определения преобразований датума в чертеже как список связанных списков.