Die Methode CoordinateSystem.DatumTransformationAdd fügt der aktuellen Zeichnung eine Datumstransformation hinzu. Wenn die Datumstransformation (from- und to-Koordinatensysteme) bereits vorhanden ist, wird sie überschrieben. Diese Methode gibt die Definition der hinzugefügten Datumstransformation zurück.
Hinweis:
Datumstransformationen können nicht hinzugefügt werden, wenn die Zeichnung Web-Feature-Layer enthält.
Deklaration
public Dictionary<string, object> Esri.ArcGISForAutoCAD.CoordinateSystem.DatumTransformationAdd(Document doc, string fromCS, string toCS, IEnumerable<(string Direction, string Step)> transformationSteps)
Parameter
| Typ | Name | Beschreibung | Erforderlich |
|---|---|---|---|
Dokument | doc | Das AutoCAD-Dokument, das bearbeitet werden soll. | Erforderlich |
Zeichenfolge | fromCS | Die gültige Well-known ID (WKID) eines Koordinatensystems oder der Well-Known Text (WKT) des Esri Koordinatensystems als Zeichenfolge. | Erforderlich |
Zeichenfolge | toCS | Die WKID oder der WKT des Esri Koordinatensystems als Zeichenfolge. | Erforderlich |
IEnumerable<Zeichenfolge Direction, Zeichenfolge Step> | transformationSteps | Eine Sammlung benannter Tupel, bei der der erste Wert der Wert Direction und der zweite Wert der Wert Step ist. Der Wert Direction ist die Richtung des Schritts, entweder "Forward" oder "Reverse", auf den der Transformationsschritt angewendet wird. Der Wert Step ist die WKID oder der WKT des Transformationsschritts als Zeichenfolge. | Erforderlich |
Rückgaben
| Typ | Beschreibung |
|---|---|
Dictionary<Zeichenfolge, Objekt> | Die Definition der hinzugefügten Datumstransformation als Wörterbuch. Das Wörterbuch enthält die folgenden Schlüssel: From, To und Steps. Die Schlüssel From und To haben Zeichenfolgenwerte, die die Koordinatensysteme darstellen. Der Wert des Schlüssels Steps ist eine Sammlung von Wörterbüchern mit Transformationsschritten für Koordinatensysteme. Jedes Wörterbuch mit Transformationsschritten enthält die folgenden Schlüssel Step und Direction. Der Schlüssel Step enthält den Wert des Schritts als Zeichenfolge, und der Schlüssel Direction gibt die Reihenfolge an, in der der Transformationsschritt angewendet wird, entweder "Forward" oder "Reverse". |
Anmerkungen zur Fehlermeldung
Diese Methode kann eine Ausnahme auslösen oder null zurückgeben, wenn ein Parameter ungültig ist oder Web-Feature-Layer in der Zeichnung vorhanden sind.
Verwendung
Beim Erstellen einer kombinierten Datumstransformation muss die Reihenfolge der einzelnen Schritte korrekt sein. Unten im Beispiel 2 ist zum Beispiel 108355 der erste Schritt und 108282 der zweite und letzte Schritt. Die Richtung muss als "Forward" oder "Reverse" angegeben werden.
ArcGIS for AutoCAD überprüft die angegebenen Transformationsschritte nicht. Wenn ein Teil der festgelegten Methode ungültig ist oder in der falschen Reihenfolge angewendet wird, stellt ArcGIS for AutoCAD die Layer möglicherweise nicht korrekt dar.
Beispiel 1
Hinzufügen einer einzelnen Datumstransformation zur aktuellen Zeichnung zwischen den durch die WKID bezeichneten Koordinatensystemen "from" und "to", angewendet in vorwärtsgerichteter Reihenfolge, und Ausgeben der Definition dieser Datumstransformation.// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
// Add the datum transformation
var transformationSteps = new List<(string, string)> { ("Forward", "1580") };
var newDT = Esri.ArcGISForAutoCAD.CoordinateSystem.DatumTransformationAdd(doc, "2882", "3857", transformationSteps);
// Print the datum transformation definition
doc.Editor.WriteMessage("\nFrom {0}: To {1}", newDT["From"], newDT["To"]);
doc.Editor.WriteMessage("\n");
foreach (var dict in newDT["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
Direction: Forward
Step: 1580
*/
Beispiel 2
Hinzufügen einer kombinierten Datumstransformation zur aktuellen Zeichnung zwischen den durch die WKID bezeichneten Koordinatensystemen "from" und "to", mit Schritten, die in rückwärtsgerichteter Reihenfolge angewendet werden, und Ausgeben der Definition dieser Datumstransformation.// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
// Add the datum transformation
var transformationSteps = new List<(string, string)> { ("Reverse", "108355"), ("Reverse", "108282") };
var newDT = Esri.ArcGISForAutoCAD.CoordinateSystem.DatumTransformationAdd(doc, "6425", "3857", transformationSteps);
// Print the datum transformation definition
doc.Editor.WriteMessage("\nFrom {0}: To {1}", newDT["From"], newDT["To"]);
doc.Editor.WriteMessage("\n");
foreach (var dict in newDT["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 6425: To 3857
Direction: Reverse
Step: 108355
Direction: Reverse
Step: 108282
*/
Weitere Informationen
esri_coordsys_DatumTransformations_set: Eine AutoLISP-Funktion, die eine Datumstransformation in der aktuellen Zeichnung festlegt.