Script para convertir DXF a GML parcela catastral con gvSIG 2.3 ( Gracias a @SIGdeletras )

Hace unos días nuestro compañero Patricio Soriano del blog de sigdeletras  realizó un pequeño script de Python que nos ayuda en la conversión de un fichero DXF a uno GML, siguiendo las indicaciones del catastro actual.

Podéis encontrar información sobre estos pasos y enlaces a las fuentes que ha utilizado para documentarse mucho mejor explicado en su post: dxf2gmlcatastro. Script Python para convertir de DXF a GML parcela catastral 
Este script tiene sus limitaciones al ser un primer intento de desarrollo. Podéis leer tus ventajas y sus contras en su repositorio de Github: dxf2gmlcatastro.

Y bueno, vamos al asunto, una cosa importante del script es que para realizar esta transformación utiliza la librería de GDAL de Python. Eso nos obligaría a instalar GDAL en nuestra máquina y hacer que funcione sin romper nada más (por propia experiencia esto no siempre es tan sencillo). Así que vamos a aprovechar el GDAL que viene gvSIG 2.3, que vendrá de serie a partir de esta versión y que en un futuro cercano hasta tendremos versión portable, sirviéndonos de entorno de desarrollo. Será descomprimir, abrir y desarrollar, ¿sencillo verdad?

Para que funcionase este script, solo he tenido que añadir un par de funcionalidades como indicar la carpeta de salida para facilitar su ejecución, y modificar algo el código para adaptarlo al GDAL que se utiliza a través de Java en gvSIG (probablemente estas modificaciones se pudiesen realizar en el código de Python y funcionaria correctamente).

¿Quieres probarlo?

  1. Lo primero sería tener gvSIG 2.3. Ahora mismo estamos en la versión candidata a final. Si no te quieres descargar una versión aún en fase de prueba, no te preocupes, pronto estará la final.
  2. Descarga el script dxf2gmlcatastro-master-for-gvsig (click en View Raw)
  3. Descomprimirlo en esta carpeta /dxf2gmlcatastro-master/ dentro de nuestra carpeta de Scripts en gvSIG.
    En Windows: C:\Users\{}\gvSIG\plugins\org.gvsig.scripting.app.mainplugin\scripts
    En Linux: En el home \gvSIG\plugins\org.gvsig.scripting.app.mainplugin\scripts
  4. Abrimos gvSIG y vamos a Herramientas – Scripting – Scripting Composer. A la izquierda aparecerán nuestros scripts. Abrimos gvsig_dxf2gmlcatastro
  5. Establecemos la ruta del fichero de salida, en este caso he puesto una carpeta que nos sea fácil de acceder (tiene que existir la carpeta para que funcione el script). Se establece en la línea 90: tempgml = r’C:/temp/gmlcatastro001.gml’
  6. Este script ya viene preparado para ejecutar el fichero de ejemplo que se encuentra directamente en la carpeta. Ya lo podríamos ejecutar.
  7. Si quieres utilizar tu fichero DXF que se encuentre en otra ruta, deberás escribir el nombre del fichero en dxffile (línea 83) y el path en el que se enecuentra en path_dxffile (línea 84), por ejemplo:
dxffile = "p.dxf"
path_dxffile = r"C:/temp/"

Ejecutas dando click al boton de la Rueda que se encuentra arriba (lo puedes ver en la imagen siguiente)
2016_03_16_11_98_38-gvsigscriptingcomposerLa salida por consola deberá ser similar a lo que aparece en la imagen. Si tienes algún problema puedes escribirnos en este post o en la lista de desarrollo.

¡Listo! Ya tendrías el fichero gml creado en la carpeta que le indicaste, y gracias a que gvSIG tiene soporte para gml, podríamos cargarlo en nuestra vista.

2016-03-16 11_09_37-gvsigml
Desde gvSIG se podrían hacer rápidamente muchísimas mejoras al poder aprovechar todas las librerías que nos vienen con el programa y nos aportarían usabilidad para el usuario final.
Podríamos fácilmente crear unos cuadros de dialogo que nos permitieran elegir dónde está nuestro fichero o dónde queremos guardarlos (evitando al usuario final que se meta a tocar el código). Se podría crear una interfaz visual en pocos minutos que ya casi transformaría un pequeño script, en todo un plugin utilizable por cualquier usuario. También se podría ejecutar desde un botón en la barra de herramientas.

Tu script que necesitaba instalación de librerías y toqueteo de código, se convierte en muy muy poco tiempo, en un plugin para gvSIG el cual no necesita instalación de ninguna librería, solo la del propio plugin y sin necesidad de tocar código por parte del usuario. Facilitando su uso y que pueda llegar a más gente, que al final es para lo que lo hacemos.

Esperamos que os resulten interesantes estos tipo de post (porque vendrán más).

Un saludo,
Óscar

PD: Todos los agradecimientos posibles a Patricio Soriano por informarse, crear y liberar el código 🙂

PD2: ¡Recordaros hacer copia de seguridad de vuestra carpeta de Scripts de vez en cuando!

This entry was posted in development, gvSIG Desktop, gvSIG development, scripting, spanish and tagged , . Bookmark the permalink.

3 Responses to Script para convertir DXF a GML parcela catastral con gvSIG 2.3 ( Gracias a @SIGdeletras )

  1. Pingback: Script para convertir DXF a GML parcela catastral con gvSIG 2.3 – GeoNe.ws

  2. Gracias por las referencias Óscar y felicidades por la entrada

  3. Teresa says:

    Muchísimas gracias por vuestro trabajo, y sobre todo a Patricio Soriano por crear el script. Es una gran ayuda para los profesionales que no nos dedicamos a estos temas. Saludos

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s