martes, 25 de octubre de 2016

Exportar Capas GIS a formato CAD

Una de las tareas más solicitadas por los usuarios de GIS, y una fuente inagotable de quebraderos de cabeza y discusiones, es la más que recurrente transformación de la información GIS en formato CAD. Sin entrar en detalles de si es necesario, o por el contrario una pérdida de tiempo, la realidad es que cada día nos encontramos con más de una petición para transformar de un formato a otro.

La primera aproximación que se puede hacer al problema es la utilización de las herramientas que incorpora por defecto ArcGIS (10.3 en este caso y sin la extensión "Data Interoperability"). Sería tan fácil como seleccionar la capa que se desea exportar, y con el botón derecho del ratón Exportar a formato CAD.





Seleccionaríamos la carpeta de salida y tendríamos nuestra capa en formato CAD. Si en lugar de exportar toda la capa, solo queremos una parte de ella, podemos utilizar cualquier herramienta de selección, y solo se exportará la parte seleccionada. También se puede seleccionar un conjunto de capas, que serán exportadas en un único archivo CAD. También se puede acceder a la misma herramienta por medio de ArcToolBox

Aunque esta funcionalidad puede resultar suficiente en muchos casos, en otros muchos no lo es, ya que el fichero de salida solo tendrá información de los elementos geométricos (puntos, líneas y polígonos), y nada referente a los atributos de dichas geometrías.

Llegados a este punto tenemos tres opciones. La primera sería acudir a algún Software externo que nos permita personalizar el fichero CAD de salida, como por ejemplo Xtools, o el ya mencionado en otras entradas FME. Este segundo permite una personalización completa del producto de salida, y si se dispone del Software y de los conocimientos necesarios, sería una opción más óptima que la que se va a detallar a continuación.

Le segunda sería desarrollar un script o programa utilizando Python u otro lenguaje de programación, por supuesto para ello tendríamos que saber programar. 

La tercera, como ya os podréis imaginar, es el uso de Model Builder para crear nuestra propia herramienta. Dependiendo del número de capas que queramos exportar, y de los atributos que queramos representar en el CAD de salida el modelo generado podría ser algo como esto:




A pesar de su horrible aspecto, la mayoría de las tareas en este proceso están repetidas para las diferentes capas que queremos exportar. 

La herramienta mostrada arriba no crea el fichero en formato CAD por sí misma, es un paso previo para preparar una Geodatabase con las capas en el formato adecuado para, posteriormente, usando la herramienta "Export to CAD", genere los archivos con la simbología y los niveles deseados. 

Los ficheros generados por la herramienta para crear archivos en formato CAD (AutoCAD en este ejemplo), vienen definidos no solo por la geometría del elemento de entrada, sino también por cierto atributos que definirán entre otras cosas, el color, el grosor, el tipo de línea, y si es un texto, o un elemento geométrico. 

Para ello la herramienta lee los atributos de la capa de origen y si encuentra algún campo "clave", entonces lee la información almacenada en él, para representarla de la forma definida. Estos campos que denomino clave son por ejemplo:
  • CadType: define el tipo de elemento de salida (Texto, Numero entero, decimal...)
  • TxtValue: en caso de que el tipo anterior haya sido definido como texto o número, el valor que pongamos aquí será el que se exportara en el fichero de salida como caracteres (números o letras). En este caso la entidad de origen, línea, punto o polígono será remplazada por el texto del campo (por ejemplo si tenemos los nombres de las calles en un fichero de líneas, solo se representara el texto). 

Para los elemento que queremos representar además de como texto, como entidad geométrica, por ejemplo el uso de una parcela rustica y el borde que la delimita, será necesario duplicar la entidad de entrada  para obtener por un lado el texto, y por el otro el polígono en este caso.

En caso de solo necesitar las geometrías, podremos modificar la simbología del fichero CAD, añadiendo más campos "clave", como por ejemplo:
  • Color: define el color de salida y tiene que ser definido como doble
  • LineWt: determinará el grosor de la línea. También ha de ser definido como doble.

Así pues y en términos generales partimos de una o varias capas GIS (shapefile, Geodatabase...), con la herramienta "Add Field" añadiremos los campos o atributos "clave" que consideremos necesarios y con la herramienta "Calculate Field" le asignaremos el valor que consideremos. Si por ejemplo el nombre de la calle está almacenado en un campo llamado "Street" simplemente tendremos que crear una expresión que referencie el campo TxtValue (el cual previamente habremos definido como CadType= Texto) al campo "Street". 

Todo lo anterior será almacenado en una Geodatabase que será el fichero de entrada en la herramienta "Export to CAD", que ahora si representara los niveles de la manera que defininmos previamente.

3 comentarios:

  1. Hola, como puedo descargar el toolbox para tomarlo como ejemplo?

    ResponderEliminar
  2. Well you haven't addressed the issue of exporting specific named text style. While most of it can be exported by LineWt, Color, etc. I have issue of specifying bold/italic/underline.

    ResponderEliminar
  3. Hola Emilio, no me queda claro como modificar el tool para añadir los campos Color y LineWt.

    ResponderEliminar