A partir de ArcGIS Pro 3.6, la capacidad de transformar una capa CAD y crear un archivo world (*.wld3) está disponible directamente en el producto sin necesidad del complemento descrito a continuación.
Puedes consultar la ayuda sobre esta herramienta en el tema: Transformación de modelo a mundo.
Para versiones de ArcGIS Pro anteriores a la 3.6, hay un complemento disponible que proporciona esta misma funcionalidad para la colocación espacial de conjuntos de datos CAD que están en proyecciones modificadas. (Ver más abajo "¿Qué es una proyección modificada?")
El complemento se llama Transformar capa CAD, y está disponible aquí.
Ya sea la herramienta integrada (3.6 y superior) o el complemento, estas herramientas se usan para transformar una capa CAD ingresando un factor de escala, rotación, coordenadas locales y las correspondientes coordenadas de cuadrícula.
Uso de la herramienta Transformar CAD Add-in
Después de instalar el complemento, sigue los pasos a continuación para usar la herramienta y transformar el conjunto de datos CAD.
1. En el panel Catálogo, selecciona y arrastra la clase Polilínea al mapa.
2. La proyección para la capa CAD debe definirse si aún no lo está. Esta debe ser la proyección en la que se basan los parámetros de transformación; de lo contrario, la capa CAD no se colocará correctamente. Para hacerlo, selecciona una de las capas CAD en el grupo CAD en la tabla de contenido.
3. La cinta contextual para la capa CAD estará disponible y mostrará la pestaña Datos CAD .
4. Haz clic en el botón Definir proyección y usa la herramienta GP que aparece para establecer la proyección del archivo CAD.
5. Si el complemento se instaló correctamente, entonces habrá un botón llamado “Transformar” presente en el grupo Alineación en la pestaña Datos CAD .
6. Haz clic en el botón Transformar.
7. Aparece el cuadro de diálogo Transformar capa CAD.
8. Ingresa los parámetros para coordenadas locales, coordenadas de cuadrícula, escala y valores de rotación.
9. Marca la casilla Actualizar correcciones de tierra a cuadrícula si deseas usar los valores de escala y rotación como configuraciones de corrección tierra a cuadrícula del mapa.
10. Haz clic en el botón Aceptar para transformar la capa CAD según los parámetros de transformación ingresados.
Nota: Los valores que escribas se recordarán la próxima vez que uses este cuadro de diálogo.
Haz clic en el botón Restablecer para devolver todos los parámetros de transformación a sus valores iniciales.
¿Qué es una proyección modificada?
Puede que no reconozcas el término “proyección modificada” y estés más familiarizado con alguno de sus otros nombres: plano local del datum, sistema de coordenadas de ingeniería, sistema de coordenadas terrestres o simplemente “superficie” o “tierra”.
Al recibir un archivo CAD de un topógrafo o ingeniero, es común encontrar que no se alinea espacialmente con el resto de tus datos GIS. Puede estar desplazado unos pocos miles de pies hacia el noreste, o puede estar a millas hacia el suroeste y parecer estar en un sistema local arbitrario. Sin embargo, si el topógrafo usa una proyección modificada, esta información generalmente se proporciona como parámetros de transformación que indican cómo se modifica la proyección, haciendo posible usar estos parámetros para colocar el dibujo CAD en su ubicación proyectada sin necesidad de seleccionar manualmente enlaces georreferenciados.
Aquí hay un ejemplo simple de una modificación en las notas de un plano parcelario de Houston, Texas:
En esta nota están presentes todos los criterios para convertir entre coordenadas terrestres y coordenadas . Se hace referencia a la proyección que se está modificando e información que las coordenadas son “Superficie”. Se proporciona el factor combinado de escala, no se menciona rotación ni origen especificado.
Como la nota no proporciona explícitamente el origen, se implica que es 0,0 del sistema State Plane. Para esta descripción particular arriba, la ubicación correspondiente del archivo CAD en sus coordenadas terrestres originales está al noreste respecto a la ubicación proyectada en cuadrícula. Como el complemento usa la convención de multiplicar por el factor escala, para este ejemplo la escala a usar sería su inverso, ya que dice "dividir"; por lo tanto 1/1.00013 = 0.99987, y se ingresa así:
Aquí hay otro ejemplo mostrando las configuraciones del dibujo usadas para algunos datos AutoCAD.
Para este dibujo, las entradas equivalentes para convertir a la ubicación en cuadrícula usando el complemento Transformar capa CAD son las siguientes:
¿Por qué se usan proyecciones modificadas?
Las proyecciones modificadas como estas se usan para proyecciones a gran escala con baja distorsión. Las distancias medidas sobre el terreno coinciden con las distancias en el espacio digital del software cartográfico sin tener que aplicar factor escala ni rotación.
La razón por la cual tienen éxito es porque cubren un área mucho más pequeña comparada con la proyección original, por lo que usar un plano plano para modelar un sistema basado en tierra es útil y práctico para ubicaciones pequeñas como sitios ingenieriles o subdivisiones parcelarias.
El factor combinado de escala se basa en dos componentes: distorsión causada por la proyección y escala causada por elevación, como se describe más detalladamente en el tema de ayuda Corrección tierra a cuadrícula.
Código
La funcionalidad de transformación CAD usa una similitud. El código para este complemento está disponible en GitHub desde el repositorio community samples, Código Transformar capa CAD.
Aquí hay un fragmento del código de la transformación por similitud usada para generar los vectores escritos al archivo 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))
{ ...
Demostración en video: Uso del complemento Transformar CAD Add-in
Referencias
Formato de archivos world usados para conjuntos CAD: Archivos world para conjuntos CAD.
Sistemas coordenados CAD: Coordenadas geoespaciales CAD
Corrección tierra a cuadrícula: Corrección tierra a cuadrícula
Transformar entidades: Transformar entidades
Versiones del complemento
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