Conversor a GML catastral libre y gratuito

Hola, recientemente hemos publicado un sencillo script AutoLISP que permite generar GML catastral directamente desde AutoCAD.
El script es sencillo pero efectivo.
Está publicado bajo licencia GPL, por lo que el código es libre, podéis consultar cómo lo hace, modificarlo siempre que respetéis la autoría e incluso contribuir con vuestras mejoras en futuras versiones.

https://github.com/chapulincatastral/generador-gml

Esperamos vuestros comentarios para incluir las correcciones y mejoras que se necesiten.
 

Castru

Bronce
Muchas gracias.
Lo he intentado probar y me dice que hay un error al ejecutar la aplicación. En concreto sale esto, por si te puede ayudar:
Comando: _appload generar-gml_v1_0.lsp correctamente cargado(s).
Comando: ; error: función errónea: 133
Comando:
Probado en AutoCAD 2012 y 2016.
 
Hola.
Disculpa por el error y muchas gracias por tu interés.
Vamos a tratar de reproducir el error con el mensaje que aportas y te contestaremos aquí en este foro.
 
Hola, no consigo reproducir el error.
He seguido todos los pasos y funciona correctamente.



¿Usas Windows o Mac?
¿El AutoCAD es en español?
¿Puedes cargar otros scripts distintos a este?
Muchas gracias por tu colaboranción.
Un saludo.
 
Gracias a "lash adas" por arreglar el enlace roto.
Cuando me he dado cuenta ya no podía editar el comentario. Por cierto, unos p****** los de Google que no permiten usar la imágenes del blogger desde fuera. No lo sabia.

Volviendo al tema del hilo. Me gustaría incluir este vídeo que describe el proceso de carga y uso del script:

 
Hola. Hay disponible una nueva versión del generador-gml que trae mejoras importantes:
  • Permite nombrar las parcelas, ya sea con referencias catastrales para parcelas que conservan la referencia o, en caso de crear nuevas parcelas, nombrarlas de la misma manera que se nombran en el protocolo de segregación, agregación, reparcelación, etc.
  • Soporta parcelas con "islas", los famosos huecos o diseminados.
  • Genera un fichero .txt con la explicación de los GML.
  • Es compatible con versiones antiguas de AutoCAD. Incluso hay una versión para AutoCAD 14.
Os enlazo un vídeo demostración de cómo se transforman estas dos parcelas.




En esto donde se ha agrupado y segregado y se conserva una referencia.



Quedamos a la espera de sus comentarios.

Página del proyecto:

https://github.com/chapulincatastral/generador-gml

generador-gml
Script AutoLISP para la generación de ficheros GML INSPIRE de parcela catastral.
Este complemento permite exportar desde AutoCAD ficheros en formato GML Inspire de parcela catastral. Los ficheros GML obtenidos podrá ser validados en la Sede Electrónica del Catastro (SEC) para obtener el Informe de Validación Gráfica exigido por notarios y registradores. El generador es gratuito y basado en software libre.

Uso: Es necesario cargar en AutoCAD el archivo .lsp previamente descargado. Lo podemos cargar mediante el comando appload o el menú Herramientas -> Cargar aplicación. Una vez cargado tenemos cuatro comandos nuevos: gml28, gml29, gml30, gml31. Que invocaremos desde la línea de COMANDO dependiendo del huso en que nos encontremos.

Vídeos:

Agregación-segregación:


Cómo generar una polilínea cerrada con el comando "polcont".


Web : http://generador-gml.blogspot.com.es
 
Hola @chapulincatastral.

Gracias por la rutina.
Un par de comentarios, no funciona con polilíneas 2D (las usa Catastro) pero con la orden polcont o creando una nueva, funciona; además no encuentro lo de nombrar parcelas que comentabas.

Saludos.
 
Hola. Gracias a ti por tu interés.
Las polilíneas que exporta el Catastro son abiertas y hay que cerrarlas. Imagino que si cierras la polilínea 2D de Catastro la rutina funciona, para cerrarla a la polilínea de Catastro (hablo de oídas), le tienes que añadir un punto coincidente con el primer punto y cambiar el atributo de polilínea indicando que es polilínea cerrada, ¡casi nada! Yo nunca lo he hecho así porque mi amiga Castell, que sabe un montón de AutoCAD, me ha enseñado lo del polcont y me he ahorrado la faena anterior. La función polcont es muy útil y hay mucho sabio del AutoCAD que la desconoce. Imagínate el faenón para cerrar una parcela con tres islas. Quizás alguien más ducho que yo pueda iluminarnos.
Nombrar las parcelas es fácil. Simplemente tienes que crear un texto que caiga dentro del perímetro y la rutina lo tomará como el nombre de la parcela. Si el texto es de 14 posiciones y empieza por un carácter numérico del 0 al 9 entenderá que se trata de una referencia catastral.
 
Claro, por ahí arriba en este mismo hilo tienes un ejemplo. Las islas las provocan los diseminados, parcelas consideradas urbanas que dejan un hueco en la parcela rústica en la que se ubican. Aunque tienden a desaparecer, aún hay para rato.
 
Hola, acabo de subir una nueva versión del generador-gml (3.0.0) que permite generar el GML de edificio para obras nuevas. No he encontrado mucha documentación sobre el tema y no sé dónde validar los ficheros. Me he servido de la especificación:
http://www.catastro.minhap.es/documentos/formatos_intercambio/Formato GML edificio.pdf
y el ejemplo:
http://www.catastro.minhap.es/documentos/formatos_intercambio/BU ejemplo explicativo.zip
del Catastro como guía y el script los genera igual. O eso parece. Esta es la pinta de un GML de edificio generado con el script.



Cuando se carga el script en AutoCAD, además de los comandos anteriores (gml28, gml29, gml30 y gml31 para generar GML de RGA), existe uno nuevo que se llama gmle (GML de Edificio), es independiente del huso y tiene un formulario a cumplimentar.



Formulario que complica la instalación del script. Además de lo que veníamos haciendo para ejecutar el script, hay que añadir el directorio donde se ubique el fichero (previamente descargado), denominado GML_EDIFICIO.DCL a las rutas listadas en "Opciones" -> pestaña "Archivos" -> primera entrada "Ruta de búsqueda de archivo soporte".



Seguimos en contacto.
 
Hola de nuevo, @chapulincatastral.
Un par de dudas: en tu ejemplo en la casilla de precisión de coordenadas en metros parece que utilizas la coma ","; y la otra es para nota en GMLE ¿qué ocurre con las edificaciones que tienen alguna curva? Me imagino que habrá que transformar la curva para que tenga varios vértices, ¿alguna recomendación?
Saludos.
 
Según la web del Catastro en preguntas y respuestas:
http://www.catastro.minhap.gob.es/esp/faqs_catastro_registro.asp
dice:
¿Cómo expresar una línea curva como sucesión de coordenadas?
Pudiera ocurrir que una parcela tuviese un tramo curvo, dado que es preciso expresar la sucesión de vértices de la parcela, la curva debe ser sustituida por una sucesión de vértices separados una distancia tal que la flecha (distancia entre la curva y la poligonal) sea menor de 2 centímetros. La distancia recomendada en función del radio de curvatura es:

Radio de curvatura___Distancia entre puntos
1 m ________________ 0,3 m
2 m ________________ 0,5 m
3 m ________________ 0,7 m
4 m ________________ 0,8 m
5 a 15 m ___________ 1,0 m
16 a 24 m __________ 1,5 m
25 a 60 m __________ 2,0 m
> 60 m _____________ 3,0 m


Un saludo.
 
Gracias por recordarlo, @chapulincatastral.
Tendré que desempolvar el libro de AutoCAD, pues no sé si hay una orden o una variable que puede transformar la curva en varios vértices.
Sé que tenía una rutina, que estará en el baúl de la órdenes LISP, que transformaba una curva en una polilínea (sucesión de rectas) con la precisión a definir por el usuario.
Saludos.
 
Encontré la orden LISP que transforma la curva de una polilínea en segmentos rectos a una distancia definida por el usuario.
He realizado una prueba con una polilínea que representa el contorno de una vivienda de 150 m² en planta, un cuadrado de unos 10 m de lado que tiene añadidos dos semicircunferencias, una de radio 4 m y otra de radio 3 m, que según Catastro la distancia entre vértices serían 0,8 m y 0,70 m, respectivamente. Al ir del lado de la seguridad he indicado una distancia entre puntos de 0,70 m, y el resultado es una curva con 18 vértices y la otra con 14, con una superficie total de 149,75 m², es decir, un pequeño error de 0,25 m² que me imagino es asumible.
Saludos.
 
Buen aporte @miguel_pm. La función que yo he encontrado es PEDIT y es un splin es SPLINEDIT. Pero también hace lo contrario, transformar una polilínea en un arco. He visto una función del famoso Lee Mac que transforma cualquier objeto, pero la licencia no me gusta.
A ver si la próxima versión incluye una función para convertir objetos en polilínea.
Respecto al tema de los números reales, da igual escribirlos en inglés o español, es decir como 0.1 o como 0,1 . El formulario acepta los dos y se encarga de convertirlos. Con las fechas hace algo parecido.
 
Gracias por la aclaración @chapulincatastral.
Sí, pedit es la orden de AutoCAD y la del bueno de Lee Mac la conocía, pero no la he probado porque por el "gif" parece que tienes que ir uno a uno, insertando vértices.
La que te comento es la última de las que están al final de esta página:
http://www.cadtutor.net/forum/showthread.php?67924-Draw-polyline-along-with-2-or-more-adjacent-closed-polylines/page4
Pero como el nombre de la orden era un poco largo, en su día lo cambié a CPAS (curva polilínea a segmento) y traduje las preguntas.
Saludos.
 
Hola
Una maravilla el script, la verdad es que simplifica las cosas... que te pones a hacer los gml con el editor y ya puedes tener la mente despejada que si no se te puede liar una grande.
En cuanto a las correcciones, echo en falta una opción en el generador de gml de la parcela para seleccionar ES.SDGC.CP o ES.LOCAL.CP para indicar si la parcela ya existe en Catastro o si es parcelación nueva.
El del GML del edificio lo veo supercompleto, aunque habrá que trabajar en él si nos van pidiendo cada vez más cosas.
Muchas gracias, un gran trabajo.
 
Arriba