Vanaf ArcGIS Pro 3.6 is het mogelijk om een CAD-laag te transformeren en een world-bestand (*.wld3) te maken direct in het product, zonder gebruik te maken van de hieronder beschreven add-in.
U kunt de hulp over deze tool zien in het onderwerp: Model naar Wereld Transformatie.
Voor ArcGIS Pro-versies eerder dan 3.6 is er een add-in beschikbaar die dezelfde functionaliteit biedt voor de ruimtelijke plaatsing van CAD-datasets die zich in gewijzigde projecties bevinden. (Zie hieronder "Wat is een gewijzigde projectie?")
De add-in heet Transform CAD Layer, en is beschikbaar hier.
Of het nu de standaard tool is (3.6 en hoger) of de add-in, deze tools worden gebruikt om een CAD-laag te transformeren door een schaalfactor, rotatie, lokale coördinaten en bijbehorende rastercoördinaten in te voeren.
Gebruik van de Transform CAD Add-in tool
Nadat u de add-in hebt geïnstalleerd, volgt u onderstaande stappen om de tool te gebruiken om de CAD-dataset te transformeren.
1. Selecteer in het Catalogusvenster de Polyline-klasse en sleep deze naar de kaart.
2. De projectie voor de CAD-laag moet worden gedefinieerd als dit nog niet is gebeurd. Dit moet de projectie zijn waarop de transformatieparameters zijn gebaseerd, anders wordt de CAD-laag niet correct geplaatst. Selecteer hiervoor een van de CAD-lagen in de CAD-groepslaag in de inhoudstabel.
3. Het contextuele lint voor de CAD-laag wordt beschikbaar en toont het CAD Data tabblad.
4. Klik op de knop Define Projection en gebruik de GP-tool die verschijnt om de projectie voor het CAD-bestand in te stellen.
5. Als de add-in succesvol is geïnstalleerd, verschijnt er een knop genaamd “Transform” in de Alignment groep op het CAD Data tabblad.
6. Klik op de Transform-knop.
7. Het dialoogvenster Transform CAD Layer verschijnt.
8. Voer de parameters in voor lokale coördinaten, rastercoördinaten, schaal- en rotatiewaarden.
9. Vink het vakje aan Update ground to grid corrections als u de schaal- en rotatiewaarden wilt gebruiken als grond-naar-raster correctie-instellingen van de kaart.
10. Klik op OK om de CAD-laag te transformeren op basis van uw ingevoerde transformatieparameters.
Opmerking: De waarden die u invoert worden onthouden bij het volgende gebruik van het dialoogvenster.
Klik op de knop Reset om alle transformatieparameters terug te zetten naar hun beginwaarden.
Wat is een gewijzigde projectie?
U herkent misschien niet direct de term “gewijzigde projectie” en bent wellicht meer vertrouwd met een van zijn andere namen: lokaal datumvlak, engineering coördinatensysteem, grondcoördinatensysteem of simpelweg “oppervlak” of “grond”.
Wanneer u een CAD-bestand ontvangt van een landmeter of ingenieur, komt het vaak voor dat dit niet ruimtelijk uitlijnt met uw overige GIS-gegevens. Het kan enkele duizenden voeten naar het noordoosten verschoven zijn, of mijlen ver naar het zuidwesten liggen en lijkt zich in een willekeurig lokaal coördinatensysteem te bevinden. Echter, als de landmeter een gewijzigde projectie gebruikt, worden deze gegevens meestal geleverd als transformatieparameters die aangeven hoe de projectie is aangepast, waardoor het mogelijk is deze parameters te gebruiken om de CAD-tekening op zijn geprojecteerde rasterlocatie te plaatsen zonder handmatig geo-referentielinks te hoeven selecteren.
Hier is een voorbeeld van een eenvoudige wijziging in de notities van een verkavelingsplan uit Houston, Texas:
In deze notitie zijn alle criteria aanwezig voor conversie tussen grond- coördinaten' en raster- coördinaten. Er wordt verwezen naar de projectie die wordt aangepast en informatie dat het coördinaten betreft van het “oppervlak”. De gecombineerde schaalfactor wordt gegeven, er wordt geen rotatie genoemd en geen oorsprong gespecificeerd.
Aangezien in de notitie niet expliciet een oorsprong wordt gegeven, wordt aangenomen dat dit 0,0 is van het State Plane-coördinatensysteem. Voor bovenstaande beschrijving bevindt zich de corresponderende locatie van het CAD-bestand in zijn oorspronkelijke grondcoördinaten ten noordoosten van de geprojecteerde rastercoördinaatlocatie. Omdat de add-in conventioneel vermenigvuldigt met de schaalfactor, zou voor dit voorbeeld juist de inverse schaal moeten worden gebruikt omdat er staat "delen"; dus 1/1.00013 = 0.99987, en dit wordt als volgt ingevoerd:
Hier is nog een voorbeeld met tekeninstellingen gebruikt voor sommige AutoCAD-gegevens.
Voor deze tekening zijn de equivalente invoerwaarden om naar rasterlocatie te converteren met behulp van de Transform CAD Layer add-in als volgt:
Waarom worden gewijzigde projecties gebruikt?
Gewijzigde projecties zoals deze worden gebruikt voor grootschalige projecties met lage vervorming. Afstanden gemeten op het terrein komen overeen met afstanden in digitale coördinatieruimte van software zonder dat er schaalfactoren of rotaties hoeven te worden toegepast.
De reden dat ze succesvol zijn is dat ze een relatief veel kleiner oppervlak van de aarde bestrijken dan waaruit ze zijn afgeleid, waardoor het gebruik van een vlak vlak voor modellering van een grondgebaseerd coördinatensysteem nuttig en praktisch is voor kleine locaties zoals een ingenieurslocatie of kavelverkaveling.
De gecombineerde schaalfactor is gebaseerd op twee componenten: vervorming veroorzaakt door projectie en schaal veroorzaakt door hoogte, zoals uitgebreider beschreven in het helponderwerp Ground to grid correction.
Code
De CAD-transformatiefunctie maakt gebruik van een similaritytransformatie. De code voor deze add-in is beschikbaar op GitHub vanuit het community samples repository, Transform CAD Layer code.
Hier is een codefragment van de similarity-transformatie die wordt gebruikt om vectoren te genereren die naar het world-bestand worden geschreven:
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))
' { ...',' field_'91':' ',' field_'92':' ',' field_'93':' ',' field_'94':' ', ' field_'95':'Video demonstratie: ', ' field_'96':' ', ' field_'97':'Gebruik van Transform CAD Add-in', ' field_'98':' ', ' field_'99':'
', ' field_'100':' ', ' field_'101':'Referenties', ' field_'102':'Formaat van world-bestanden gebruikt voor CAD-datasets: ', ' field_'103':'World-bestanden voor CAD-datasets', ' field_'104':'.', ' field_'105':'CAD-coördinatensystemen: ', ' field_'106':'CAD geospatiale coördinaten', ' field_'107':'Grond-naar-raster correctie: ', ' field_'108':'Ground to grid correction', ' field_'109':'Transformatie functies: ', ' field_'110':'Transform features', ' field_'111':' ', ' field_'112':'Add-in releases', ' field_'113':'https://arcg.is/0qru58', ' field_'114':' (3.2 en hoger)', ' field_'115':'https://arcg.is/1bb9Lq', ' field_'116':' (3.0 en hoger)', ' field_'117':'https://arcg.is/1vnymX', ' field_'118':' (2.6, 2.7, 2.8 en 2.9)', ' field_'119':' ', ' field_'120':'Dank aan Esri Community ', ' field_'121':'Dank aan degenen die hun CAD-datasets en transformatieparameters hebben gestuurd:', ' field_'122':'@Geographic_Mythos', ' field_'123':', ' field_'124':'@StevenLowman', ' field_'125':' , ', ' field_'126':'@Mark_Hotz', ' field_'127':', ' field_'128':'@Matt_Trebesch', ' field_'129':' ', ' field_'130':'@LaurenConnor', ' field_'131':', HeatherWidlund', ' field_'132':''}}}
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