jueves, 4 de abril de 2013

Cómo convertir los atributos de un shape a textos CAD


En varias ocasiones me han preguntado cómo pasar los atributos de fichero shape a anotaciones en un fichero CAD. Hace tiempo yo mismo realicé varias consultas en foros de SIG opensource, en concreto gvSIG, pero sin solución. En gvSIG, Kosmo y Qgis probé a editar los  atributos de capas de etiquetas convertidas a puntos  para que se ajustara a los campos que propios de un fichero DXF. Tras la exportación a tipo CAD el resultado fue nulo, al menos al intentar abrirlo con software LibreCAD.

En su día, mi problema se solucionó porque en mi puesto de trabaja tenían licencias de Geomedia y esta conversión de shape a CAD con anotaciones funcionaba bastante bien. Sé también que con ArcGIS este trabajo se realiza sin problemas.

Este tema volvió a mi mente hace pocas semanas, a través de un correo electrónico de un lector. Recuperando el tema por donde lo dejé, y por pura cabezonería, he seguido buscando en Internet sobre el tema. La solución vino de la mano de un programa gratuito llamado DXFAutor que encontré en la web Free Geography Tools.

La conversión con DXFAutor es simple y sencilla. Tras la descarga e instalación, el programa:

  • Se carga el shape a convertir (File>Loada Data Set) en el programa. En mi caso he probado con el shape tipo área del catastro que representa los polígonos  de rústica de la provincia de Córdoba (MASA.shp). 

  • Tras elegir la opción File>Convert to DXF file,  el sistema nos permitirá exportar elementos gráficos, anotaciones y bloques.
  • Para los gráficos, podremos dar nombre a la capa (ej. masa_catastro), seleccionar un color y un estilo de línea.
  • En la exportación de anotaciones, editaremos la capa  (ej. masa_txt), asignaremos el tamaño del texto, el color y se elegirá el/los atributos del shape a convertir (yo he seleccionado el número de polígono re rústico que está en el atributo MASA). Comentar que el sistema sitúa el texto en el centro de cada objeto gráfico. Esto puede causar algunos errores de desplazamiento deberemos arreglar a posteriori.
  • Por último podemos crear bloques CAD asociados a un elemento gráfico y combinando varios atributos del shape.
  • Seleccionamos la carpeta donde se guardará el archivo DXF y…listo.
Fichero CAD final con referencias catastrales

Seguro que alguno de vosotros podrá completar esta entrada con otras maneras de hacer este tipo de trabajo, incluso con algunos de los SIG libres actuales. El debate  está abierto y se agradecen las aportaciones.

18 comentarios:

  1. y para hacer lo contrario? de CAD a SHAPE? DONDE LAS ANOTACIONES ME QUEDEN COMO ATRIBUTOS EN EL SHAPE?
    Gracias

    ResponderEliminar
    Respuestas
    1. Saludos Gerson

      Tu pregunta da para un par de entradas en el blog, pero te resumo mi opinión.

      Usando Desktop GIS abiertos (gvsig, kosmo, qgis) el trabajo empieza en convertir el CAD a shapes según geometrías. Los datos textuales se guardarán en a capa puntual y el texto se escribirá en la columna "Text". A partir de este momento hay que empezar a realizar algunas tareas de edición y análisis para asignar los valores a las geometrías.

      Según mi experiencia, es un trabajo bastante artesanal. de todas formas sería bueno realizar algunas búsquedas, por ejemplo de extensiones para QGIS o ver las posibilidades de Geokettle.

      Utilizando software propietario, con ARCGIS se puede trabajar con datasets CAD y después convertirlos.

      Eliminar
    2. Hola, en mi caso utilizo el autocad map y tengo la opcion del comando mapexport donde exporto los poligonos cerrados en la opcion poligono y los textos en la opcion text esto genera dos archivos shp los cuales los abro en arcmap y le doy un DATUM una vez relizado esto tienes que darle la opcion de Join espacial y el arcgis los juntara atravez de la ubicación espacial. seria todo......osoriogomezanyelo@gmail.com

      Eliminar
  2. Hola
    Y si quisiéramos que en el mismo .dxf aparecieran dos campos de anotaciones del shape?? (por ejemplo MASA y MUNICIPIO)

    Gracias

    ResponderEliminar
    Respuestas
    1. ¿Qué tal Álvaro?

      Creo que la manera más rápida sería volver a generar un dxf con el nuevo campo a añadir y después lo importaría en el dxf original. Así tendrías dos capas CAD con los textos (uno para MASA y otro para MUNICIPIO, por ejemplo).

      El problema, como comentaba en la entrada, es la localización del label que se coloca en el centro de la geometría, con lo que se tendría que hacer alguna que otra edición.

      Eliminar
    2. Gracias Patricio
      Ya tengo dos dxf, uno con cada campo.
      Cómo puedo importar un dxf sobre otro?? Yo uso Microstation pero la verdad es que tengo bastante poca idea.

      Eliminar
    3. Uff, Microstation!!! Aquí me has pillado Álvaro.

      No he trabajado con Microstation para edición CAD. Imagino que será algo como importar, unir...sería cuestión de buscarlo en Internet.

      En Autocad recuerdo que se podría utilizar "Insertar bloque", incluso se podían copiar elementos de un archivo a otro.

      Siento no poder ser de más ayuda.

      Eliminar
    4. Nada, nada
      Lo voy a intentar a ver si me sale algo.
      Si no estoy pensando en crear un campo combinado en la tabla del shape con los dos que me interesan y entonces crear el dxf.

      Has sido de gran ayuda!!!
      Gracias, un saludo

      Eliminar
  3. Saludos Patricio:
    He obtenido una superficie del google eatrh mediante el global mapper v14 y al importarlo al Arcgis, en formato "shape" para convertirlo a "cad", para así trabajar, dicha superficie, en autocad civil 3D no me aparecen las respectivas alturas de curvas. Pregunta: ¿Cómo hago para importar del arcgis al autocad con todas sus propiedade? de ante mano, gracias.

    ResponderEliminar
    Respuestas
    1. Hola Adori

      Disculpa la tardanza de la respuesta. No trabajo Autocad Civil 3D pero realizando una búsqueda rápida en Google y he encontrado un enlace que quizás te sirva titulado "Importing ESRI shape file into Civil 3D shows zero elevations" http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&id=14895000&linkID=9240697

      Te dejo también otro enlace donde se explica cómo realizar el trabajo desde ARCGIS utilizando la herramienta de ArcTooolbox "3DFeatures/Feature to 3D By Attribute"
      http://foro.gabrielortiz.com/pop_printer_friendly.asp?TOPIC_ID=32483

      Un saludo y espero que te sea de ayuda
      Patricio

      Eliminar
    2. Gracias,Patricio, por tomarte el tiempo y contestarme, ahora mismo checo tus links

      Eliminar
    3. Me sirvió tu ayuda, Patricio. Gracias

      Eliminar
  4. Es útil el DXFautor, pero no funciona cuando son muchas etiquetas a exportar.

    ResponderEliminar
    Respuestas
    1. Hola
      ¿De qué volumen de datos estamos hablando?. es para tenerlo en cuenta

      Eliminar
    2. 42129 etiquetas en mi caso. ¿Conoces otro programa que no de error?. Saludos

      Eliminar
    3. Uff!! Yo no conozco ninguno "libre". En el caso de software de pago, he utilizado Geomedia y me ha ido bien.

      Eliminar
    4. Muchas gracias, seguiré buscando. Saludos

      Eliminar
  5. Hola disculpa, espero no sea tarde, pero yo, encontre la forma de llevar los textos desde gvSIG a MicroStation...
    1.- Cargar la capa Shape en gvSIG y convertirla en anotaciones
    2.- Cargar esta capa de anotaciones en gvSIG,
    3.- Agregarle las coordenadas, ya que necesita estas como referencia para cargarlas en MicroStation (es el programa hacia donde me llevo estas capas) como anotaciones (uso la versio 1.12) y esta capa, convertirla en DXF
    4.- Al importar la capa, te traes la anotaciones sin problemas al archivo que estas usando
    A mi me funciona perfecto...

    ResponderEliminar