Метод 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, которая возвращает все определения преобразований датума в чертеже как список связанных списков.