Ab ArcGIS Pro 3.6 ist die Möglichkeit, eine CAD-Ebene zu transformieren und eine World-Datei (*.wld3) direkt im Produkt zu erstellen, ohne das unten beschriebene Add-in, verfügbar.
Die Hilfe zu diesem Werkzeug finden Sie im Thema: Modell-zu-Welt-Transformation.
Für ArcGIS Pro-Versionen vor 3.6 steht ein Add-in zur Verfügung, das dieselbe Funktionalität für die räumliche Platzierung von CAD-Datensätzen mit modifizierten Projektionen bietet. (Siehe unten „Was ist eine modifizierte Projektion?")
Das Add-in heißt Transform CAD Layer, und ist hier
verfügbar. Ob es sich um das integrierte Werkzeug (ab Version 3.6) oder das Add-in handelt, diese Werkzeuge werden verwendet, um eine CAD-Ebene durch Eingabe eines Skalierungsfaktors, einer Rotation, lokaler Koordinaten und entsprechender Rasterkoordinaten zu transformieren.
Verwendung des Transform CAD Add-in-Werkzeugs
Nachdem Sie das Add-in installiert haben, folgen Sie den untenstehenden Schritten, um das Werkzeug zur Transformation des CAD-Datensatzes zu verwenden.
1. Wählen Sie im Katalogfenster die Polylinienklasse aus und ziehen Sie sie per Drag & Drop auf die Karte.
2. Die Projektion der CAD-Ebene muss definiert sein, falls dies noch nicht geschehen ist. Dies muss die Projektion sein, auf der die Transformationsparameter basieren; andernfalls wird die CAD-Ebene nicht korrekt platziert. Wählen Sie dazu eine der CAD-Ebenen in der CAD-Gruppierung im Inhaltsverzeichnis aus.
3. Das kontextbezogene Menüband für die CAD-Ebene wird verfügbar und zeigt die CAD-Daten Registerkarte an.
4. Klicken Sie auf die Schaltfläche Projektion definieren und verwenden Sie das erscheinende GP-Werkzeug, um die Projektion für die CAD-Datei festzulegen.
5. Wenn das Add-in erfolgreich installiert wurde, erscheint eine Schaltfläche namens „Transformieren“ in der Ausrichtung Gruppe auf der CAD-Daten Registerkarte.
6. Klicken Sie auf die Schaltfläche Transformieren.
7. Der Dialog Transform CAD Layer wird angezeigt.
8. Geben Sie die Parameter für lokale Koordinaten, Rasterkoordinaten, Skalierung und Rotationswerte ein.
9. Aktivieren Sie das Kontrollkästchen Korrekturen von Boden zu Raster aktualisieren, wenn Sie die Skalierungs- und Rotationswerte als Einstellungen für die Boden-zu-Raster-Korrektur der Karte verwenden möchten.
10. Klicken Sie auf OK, um die CAD-Ebene basierend auf Ihren eingegebenen Transformationsparametern zu transformieren.
Hinweis: Die von Ihnen eingegebenen Werte werden beim nächsten Öffnen des Dialogs gespeichert.
Klicken Sie auf die Schaltfläche Zurücksetzen, um alle Transformationsparameter auf ihre Ausgangswerte zurückzusetzen.
Was ist eine modifizierte Projektion?
Der Begriff „modifizierte Projektion“ ist möglicherweise nicht geläufig; andere Bezeichnungen sind lokales Datumsebene, technisches Koordinatensystem, Bodenkoordinatensystem oder einfach „Oberfläche“ bzw. „Boden“.
Wenn Sie eine CAD-Datei von einem Vermesser oder Ingenieur erhalten, stimmt diese oft räumlich nicht mit Ihren anderen GIS-Daten überein. Sie kann einige tausend Fuß nordöstlich versetzt sein oder meilenweit südwestlich liegen und scheint in einem willkürlichen lokalen Koordinatensystem zu sein. Wenn jedoch der Vermesser eine modifizierte Projektion verwendet, werden normalerweise Transformationsparameter bereitgestellt, die zeigen, wie die Projektion modifiziert wurde. Dadurch ist es möglich, diese Parameter zu verwenden, um die CAD-Zeichnung an ihrem projizierten Rasterstandort zu platzieren, ohne manuell Georeferenzierungslinks auswählen zu müssen.
Hier ein Beispiel für eine einfache Modifikation in den Anmerkungen eines Unterteilungsplans aus Houston, Texas:
In dieser Anmerkung sind alle Kriterien für die Umrechnung zwischen Boden- Koordinaten und Raster- Koordinaten enthalten. Es gibt einen Verweis auf die modifizierte Projektion und Informationen darüber, dass es sich um „Oberflächen“-Koordinaten handelt. Der kombinierte Skalierungsfaktor ist angegeben; es wird keine Rotation erwähnt und kein Ursprung spezifiziert.
Da kein Ursprung explizit angegeben ist, wird der Ursprung 0,0 des State Plane-Koordinatensystems angenommen. Für diese Beschreibung befindet sich der entsprechende ursprüngliche Bodenkoordinatenstandort der CAD-Datei nordöstlich des projizierten Rasterkoordinatenstandorts. Da das Add-in den Konventionsweg verwendet, mit dem Skalierungsfaktor zu multiplizieren, müsste hier wegen des Wortlauts "teilen" der Kehrwert als Skalierung verwendet werden; also 1/1.00013 = 0.99987, und er wird wie folgt eingegeben:
Hier ein weiteres Beispiel mit den Zeichnungseinstellungen einiger AutoCAD-Daten.
Für diese Zeichnung lauten die entsprechenden Einträge zur Umrechnung in den Rasterstandort mit dem Transform CAD Layer Add-in wie folgt:
Warum werden modifizierte Projektionen verwendet?
Modifizierte Projektionen wie diese werden für großmaßstäbige Verzerrungsarme Projektionen verwendet. Die am Boden gemessenen Entfernungen stimmen mit den Entfernungen im digitalen Koordinatenraum der Kartensoftware überein, ohne dass ein Skalierungsfaktor oder eine Rotation angewendet werden muss.
Der Grund für ihren Erfolg liegt darin, dass sie einen vergleichsweise viel kleineren Bereich der Erdoberfläche abdecken als die zugrunde liegende Projektion; daher ist es nützlich und praktisch, für kleine Standorte wie Baustellen oder Grundstücksteilungen ein flaches Koordinatensystem zu verwenden.
Der kombinierte Skalierungsfaktor basiert auf zwei Komponenten: der Verzerrung durch die Projektion und der Skalierung durch die Höhe – ausführlicher beschrieben im Hilfethema Boden-zu-Raster-Korrektur.
Code
Die CAD-Transformationsfunktionalität verwendet eine ÄhnlichkeitTransformation. The code for this add-in is available on GitHub from the community samples repository, Transform CAD Layer code.
Here’s a code snippet of the similarity transformation used to generate the vectors written to the world file:
var pFrom1 = new Coordinate2D(dOriginX, dOriginY);
var pTo1 = new Coordinate2D(dGridX, dGridY);
var dDeltaX = dGridX - dOriginX;
var dDeltaY = dGridY - dOriginY;
var pFrom2 = new Coordinate2D(pFrom1.X + (10000 / dMetersPerUnit),
pFrom1.Y + (10000 / dMetersPerUnit));
var Rotated = GeometryEngine.Instance.Rotate(pFrom2.ToMapPoint(),
pFrom1.ToMapPoint(), dRotation * Math.PI / 180);
MapPoint RotatedAndScaled = (MapPoint)GeometryEngine.Instance.Scale(Rotated,
pFrom1.ToMapPoint(), dScaleFactor, dScaleFactor);
var RotatedScaledTranslated = new Coordinate2D(RotatedAndScaled.X + dDeltaX,
RotatedAndScaled.Y + dDeltaY);
if (WriteWorldFile(sTargetWldFile, pFrom1, pTo1, pFrom2,
RotatedScaledTranslated))
{ ...
Video demonstration: Using the Transform CAD Add-in
References
Format of world files used for CAD datasets: World files for CAD datasets.
CAD coordinates systems: CAD geospatial coordinates
Ground to grid correction: Ground to grid correction
Transform features: Transform features
Add-in Releases
https://arcg.is/0qru58 (3.2 and higher)
https://arcg.is/1bb9Lq (3.0 and higher)
https://arcg.is/1vnymX (2.6, 2.7, 2.8, and 2.9)
Thank you to the Esri Community
Thanks to those who sent their CAD datasets and transformation parameters:
@Geographic_Mythos, @StevenLowman , @Mark_Hotz, @Matt_Trebesch @LaurenConnor , HeatherWidlund