À partir d'ArcGIS Pro 3.6, la possibilité de transformer une couche CAD et de créer un fichier world (*.wld3) est disponible directement dans le produit sans utiliser le module complémentaire décrit ci-dessous.
Vous pouvez consulter l'aide sur cet outil dans le sujet : Transformation du modèle vers le monde.
Pour les versions d'ArcGIS Pro antérieures à la 3.6, un module complémentaire est disponible qui offre cette même fonctionnalité pour le positionnement spatial des ensembles de données CAD dans des projections modifiées. (Voir ci-dessous « Qu'est-ce qu'une projection modifiée ?")
Le module complémentaire s'appelle Transformer la couche CAD, et est disponible ici.
Que ce soit l'outil intégré (3.6 et plus) ou le module complémentaire, ces outils sont utilisés pour transformer une couche CAD en saisissant un facteur d'échelle, une rotation, des coordonnées locales et les coordonnées de grille correspondantes.
Utilisation de l'outil Transform CAD Add-in
Après avoir installé le module complémentaire, suivez les étapes ci-dessous pour utiliser l'outil afin de transformer l'ensemble de données CAD.
1. Dans le volet Catalogue, sélectionnez et faites glisser la classe Polyligne sur la carte.
2. La projection de la couche CAD doit être définie si ce n'est pas déjà fait. Cela doit être la projection sur laquelle les paramètres de transformation sont basés, sinon la couche CAD ne sera pas correctement positionnée. Pour ce faire, sélectionnez l'une des couches CAD dans le groupe de couches CAD dans la table des matières.
3. Le ruban contextuel pour la couche CAD devient disponible et présente l'onglet Données CAD .
4. Cliquez sur le bouton Définir la projection et utilisez l'outil GP qui apparaît pour définir la projection du fichier CAD.
5. Si le module complémentaire a été installé avec succès, alors un bouton appelé « Transformer » sera présent dans le groupe Alignement sur l'onglet Données CAD .
6. Cliquez sur le bouton Transformer.
7. La boîte de dialogue Transformer la couche CAD apparaît.
8. Saisissez les paramètres pour les coordonnées locales, les coordonnées de grille, l'échelle et les valeurs de rotation.
9. Cochez la case Mettre à jour les corrections sol à grille si vous souhaitez utiliser les valeurs d'échelle et de rotation comme paramètres de correction sol à grille de la carte.
10. Cliquez sur le bouton OK pour transformer la couche CAD en fonction des paramètres de transformation que vous avez saisis.
Remarque : Les valeurs que vous saisissez sont mémorisées lors de votre prochaine utilisation de cette boîte de dialogue.
Cliquez sur le bouton Réinitialiser pour remettre tous les paramètres de transformation aux valeurs initiales.
Qu'est-ce qu'une projection modifiée ?
Vous ne connaissez peut-être pas le terme « projection modifiée » et êtes peut-être plus familier avec l'un de ses autres noms : plan local de référence, système de coordonnées d'ingénierie, système de coordonnées au sol ou simplement « surface » ou « sol ».
Lorsque vous recevez un fichier CAD d'un géomètre ou d'un ingénieur, il est courant qu'il ne s'aligne pas spatialement avec le reste de vos données SIG. Il peut être décalé de quelques milliers de pieds vers le nord-est, ou se trouver à plusieurs kilomètres au sud-ouest et sembler être dans un système local arbitraire. Cependant, si le géomètre utilise une projection modifiée, ces informations sont généralement fournies sous forme de paramètres de transformation indiquant comment la projection est modifiée, ce qui permet d'utiliser ces paramètres pour placer le dessin CAD à son emplacement projeté dans la grille sans avoir besoin de sélectionner manuellement des liens géoréférencés.
Voici un exemple d'une modification simple dans les notes d'un plan lotissement à Houston, Texas :
Dans cette note, tous les critères sont présents pour convertir entre les coordonnées au sol et les coordonnées de grille. Il y a une référence à la projection modifiée et une information indiquant que les coordonnées sont des coordonnées « Surface ». Le facteur d'échelle combiné est fourni, il n'y a pas de rotation mentionnée ni d'origine spécifiée.Comme la note ne fournit pas explicitement l'origine, l'origine 0,0 du système State Plane est implicite. Pour cette description particulière ci-dessus, l'emplacement correspondant du fichier CAD dans ses coordonnées au sol originales se trouve au nord-est par rapport à l'emplacement projeté dans la grille. Comme le module complémentaire utilise la convention consistant à multiplier par le facteur d'échelle, pour cet exemple l'échelle à utiliser serait l'inverse, puisque le texte indique "diviser" ; donc
1/1.00013 = 0.99987, et elle est saisie comme suit :
Voici un autre exemple montrant les paramètres du dessin utilisés pour certaines données AutoCAD.
Pour ce dessin, les entrées équivalentes pour convertir vers l'emplacement dans la grille en utilisant le module complémentaire Transformer la couche CAD sont les suivantes :
Pourquoi utilise-t-on des projections modifiées ?
Les projections modifiées comme celles-ci sont utilisées pour des projections à grande échelle avec peu de distorsion. Les distances mesurées au sol correspondent aux distances dans l'espace numérique des coordonnées du logiciel cartographique sans avoir besoin d'appliquer un facteur d'échelle ni une rotation.
La raison pour laquelle elles fonctionnent bien est qu'elles couvrent une zone beaucoup plus petite à la surface terrestre comparée à la projection dont elles dérivent ; ainsi utiliser un plan plat pour modéliser un système de coordonnées basé au sol est utile et pratique pour des sites petits comme un site d'ingénierie ou un lotissement parcellaire.
Le facteur d'échelle combiné est basé sur deux composantes : la distorsion causée par la projection et l'échelle causée par l'altitude, comme décrit plus en détail dans le sujet d'aide Correction sol à grille.
Code
La fonctionnalité de transformation CAD utilise une transformation par similarité. Le code pour ce module complémentaire est disponible sur GitHub depuis le dépôt des exemples communautaires, .
Voici un extrait du code de la transformation par similarité utilisée pour générer les vecteurs écrits dans le fichier world :
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))
{ ...
Démonstration vidéo : Utilisation du module complémentaire Transform CAD Add-in
Références
Format des fichiers world utilisés pour les ensembles de données CAD : Fichiers world pour ensembles de données CAD.
Systèmes de coordonnées CAD :
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