Skip To Content

CoordinateSystem.DatumTransformations (.NET)

CoordinateSystem.DatumTransformations 方法可以字典集合的形式返回工程图中的所有基准面变换定义。

每个基准面变换定义中包含的 from 坐标系和 to 坐标系的组合唯一,并且作为在工程图中区分一个基准面变换定义与另一个基准面变换定义的键值。 每个基准面变换定义均包括用于执行变换的步骤的集合。 每个步骤都具有一个方向,用于指示坐标系变换步骤的应用顺序。

声明

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

参数

类型名称描述必填

文档

doc

要进行操作的 AutoCAD 文档。

必填

返回

类型描述

IEnumerable<Dictionary<string, object>>

字典形式的基准面变换定义的集合。 每个基准面变换定义字典都有以下键:FromToStepsFromTo 键具有表示坐标系的字符串值。 Steps 键的值是坐标系变换步骤的字典集合。 每个变换步骤字典都有 StepDirection 键。 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 函数可以关联列表的列表形式返回工程图中的所有基准面变换定义。