Catastro
Todos los artículos
TutorialGML INSPIREDXFCatastroPaso a paso

Convertir DXF a GML INSPIRE: guía paso a paso (2026)

Cómo transformar un DXF topográfico en un GML INSPIRE 4.0 listo para IVGA. Pre-requisitos, anclaje al parcelario, validación. Con ejemplos reales y comandos.

13 min de lecturaEquipo Catastro DXF → GML

Convertir un DXF topográfico en un GML INSPIRE válido para la Sede Electrónica del Catastro (SEC) parece una tarea simple a primera vista — son ambos archivos de geometría, ¿no? — y resulta que no lo es. Entre los dos hay diferencias de CRS, formato XML, orientación de polígonos, namespaces y tolerancias topológicas que la SEC valida con regla estricta.

Esta guía cubre el flujo completo en cinco pasos, con ejemplos reales, comandos y los puntos donde más rebotan los validadores. Está pensada para topógrafos y técnicos que ya saben lo que es un GML pero quieren un manual claro de extremo a extremo.

Lo que necesitas antes de empezar

Para que el flujo no se te atasque a mitad, conviene tener listo lo siguiente:

  • El DXF original del levantamiento, idealmente con las parcelas en una capa propia (ej. PARCELAS) y sin entidades 3D innecesarias.
  • El CRS del DXF identificado: ETRS89 / UTM 29N (EPSG:25829), 30N (25830), 31N (25831) o 32628 (Canarias). Si el DXF está en coordenadas locales, anota dónde están los puntos homólogos que vas a usar para georreferenciar.
  • La Referencia Catastral de la parcela matriz (14 caracteres para parcela rústica/urbana, 20 para inmueble). Sin ella tendrás que descargar el GML oficial del parcelario manualmente desde la Sede Catastro.
  • Acceso a la Sede Electrónica del Catastro con tu certificado digital o Cl@ve, para poder validar el GML antes de presentarlo a IVGA.

Paso 1 — Preparar y normalizar el DXF

El DXF que sale de AutoCAD, ZWCAD o cualquier estación total no es directamente convertible. Estos son los puntos que más reventones generan más adelante:

Limpia capas innecesarias

La SEC solo necesita la geometría de las parcelas. Si tu DXF lleva textos, dimensiones, hatches, bloques de mobiliario urbano o líneas auxiliares, no causarán rebote, pero ralentizan el procesamiento y aumentan el riesgo de capturar geometrías erróneas como si fueran parcelas.

Recomendación: trabaja sobre una copia del DXF donde solo dejas la(s) capa(s) con los polígonos de las parcelas a presentar.

Aplana las coordenadas 3D

Si el DXF tiene coordenadas Z (porque el levantamiento se hizo con estación total), conviene aplanarlas a 0 antes de exportar a GML. La SEC trabaja en 2D y mantener Z genera ruido en el posList.

En AutoCAD: comando FLATTEN (extensión Express Tools). En ZWCAD/QGIS: similar.

Discretiza arcos y splines

El GML INSPIRE NO admite curvas paramétricas — solo segmentos rectos. Si tu DXF tiene arcos (por ejemplo, lindes curvos), deben discretizarse antes de exportar. La regla práctica:

  • Define un error de cuerda (chord error) admisible: típicamente entre 0,01 m y 0,05 m. Cuanto más pequeño, más vértices.
  • Cada arco se aproxima por una polilínea con suficientes segmentos para que ningún punto del arco se aleje más del error de cuerda.

Si lo haces a mano en AutoCAD, comando SPLINEDIT → CONVERT TO POLYLINE con tolerancia 0,01 m. En herramientas automatizadas (incluida la nuestra) este paso se hace transparente.

Convierte coordenadas locales si las hay

Si el DXF llega con un origen local (punto base 0,0 en una esquina del proyecto), NO sirve directamente. Hay que hacer una transformación Helmert 2D con al menos 2 puntos homólogos cuyas coordenadas conoces tanto en local como en UTM.

Punto homólogo 1 (esquina NE):
  Local:  (X=120.34, Y=85.12)
  UTM30N: (X=414050.21, Y=4477023.50)

Punto homólogo 2 (esquina SW):
  Local:  (X=0.00, Y=0.00)
  UTM30N: (X=413920.05, Y=4476938.15)

Con dos puntos calculas la rotación, escala y traslación que llevan tus coordenadas locales al UTM oficial. Tres o más puntos te dan también el RMSE (error cuadrático medio) — si es mayor a 5 cm, hay un problema con los puntos elegidos o con el levantamiento.

Si ves un RMSE elevado, revisa los puntos homólogos antes de continuar. Importar al GML una geometría con error sistemático te garantiza rebote en SEC.

Paso 2 — Conseguir el GML oficial del parcelario

Para anclar tu levantamiento, necesitas el GML del parcelario oficial alrededor de la parcela matriz. Hay dos vías:

Vía WFS oficial (recomendada)

La Dirección General del Catastro expone un servicio WFS INSPIRE público que devuelve el GML de cualquier parcela por su Referencia Catastral. La URL base es:

https://ovc.catastro.meh.es/INSPIRE/wfsCP.aspx

Y la consulta para una RC concreta:

GET /INSPIRE/wfsCP.aspx
  ?service=WFS
  &version=2.0.0
  &request=GetFeature
  &typenames=cp:CadastralParcel
  &filter=<filter><PropertyIsEqualTo><PropertyName>cp:nationalCadastralReference</PropertyName>
          <Literal>9872023VH5797S0001WX</Literal></PropertyIsEqualTo></filter>

Si todo va bien, te devuelve un GML 4.0 completo con la parcela y sus colindantes. Lo guardas como parcela_oficial.gml.

Vía descarga manual desde Sede Catastro

Si no quieres pelearte con el WFS, puedes ir a https://www.sedecatastro.gob.es/, buscar la parcela por RC, dirección o coordenadas, y en el visor pulsar "Descargar GML" (icono en la barra lateral). Te baja el mismo GML que devuelve el WFS, pero con menos parcelas colindantes en algunos casos.

El GML que descargas aquí ya está en formato SEC válido — sirve como referencia para tu anclaje y como ejemplo de los namespaces y orientación que esperan. Si lo abres en un editor XML, fíjate en cp:CadastralParcel, cp:label, <base:localId> y la orientación de los polígonos.

Paso 3 — Anclar tu levantamiento al parcelario oficial

Aquí es donde más se la juega un GML. Tu levantamiento topográfico tendrá inevitablemente derivas de pocos centímetros respecto al parcelario oficial: el Catastro usa cartografía aproximada, tu medición es más precisa, y a la SEC eso no le importa — comparará vértice a vértice contra su parcelario y rebotará si la diferencia es relevante.

Detecta los lindes que comparten

Sobreimpone tu levantamiento sobre el GML oficial (en QGIS, AutoCAD, GIS o nuestra herramienta) e identifica:

  • Lindes coincidentes: muros, vallas, hitos físicos que están tanto en tu medición como en el parcelario.
  • Lindes nuevos: líneas internas que tú estás definiendo (segregaciones, agrupaciones).
  • Discrepancias: derivas del orden de cm-dm que la SEC tolera, vs derivas de m que indican un error real de georreferenciación.

Snap controlado de los vértices coincidentes

Para cada vértice de tu levantamiento que está cerca de un vértice oficial (típicamente menos de 30 cm), aplica snap al vértice oficial. Esto:

  • Garantiza que el GML resultante encaja perfecto con el parcelario oficial donde debe encajar.
  • Evita generar polígonos "huérfanos" (slivers) entre tu parcela y la colindante.

No hagas snap a ciegas. Si una esquina de tu levantamiento está a 80 cm del vértice oficial, NO es snap — es una discrepancia real que debes registrar y, si presentas un VGA (Validación Gráfica Alternativa), defender con el levantamiento topográfico.

Limpia astillas (slivers)

Tras el snap, revisa que no haya slivers (polígonos minúsculos generados por errores de tolerancia entre tu levantamiento y el oficial). Filtro práctico: descarta cualquier polígono interior con superficie < 0,05 m² y anchura < 0,1 m. Estos son siempre artefactos.

Paso 4 — Generar el GML INSPIRE

Una vez tu geometría está limpia, normalizada al CRS oficial y anclada, llega el paso de exportación. El GML que la SEC acepta tiene un formato muy específico — si te equivocas en el envoltorio o en alguna etiqueta, rebote garantizado.

Los puntos críticos del XML que debes verificar:

  • Raíz <wfs:FeatureCollection> (NO <gml:FeatureCollection>) con timeStamp, numberMatched y numberReturned.
  • xmlns WFS 2.0 como default + cp para INSPIRE CadastralParcels 4.0.
  • srsName en formato URL: http://www.opengis.net/def/crs/EPSG/0/25830.
  • Una sola surfaceMember por CadastralParcel (no MultiPolygon).
  • Exterior CW, interiores CCW (sentido contrario al OGC canónico).
  • <cp:label>: 2 dígitos para urbana, hasta 5 para rústica. Nunca vacío.
  • <cp:nationalCadastralReference>: o la RC oficial, o un identificador local sanitizado.
  • <cp:endLifespanVersion xsi:nil="true"> obligatorio aunque no haya fecha de fin.
  • <base:Identifier> con localId y namespace correctos (ES.SDGC.CP si es RC oficial, ES.LOCAL.CP si es propuesto).

Cubrimos todos estos puntos con ejemplos de XML real en el artículo Errores frecuentes que rechaza la SEC al validar un GML INSPIRE. Léelo si vas a montar tu propio exportador, te ahorra al menos los primeros 5 rebotes.

Paso 5 — Validar antes de presentar a IVGA

Antes de subir el GML al expediente real de IVGA, valídalo localmente. La SEC tiene un endpoint público de validación que devuelve el mismo veredicto que IVGA pero sin generar registro:

https://www.sedecatastro.gob.es/Accesos/SECAccValidacionesGraficas.aspx

Selecciona "Validación gráfica de parcelario contra el GML" o IVG (informe de validación gráfica), sube tu GML y espera el veredicto:

  • Validación positiva ✅ — el GML es aceptable. Procede a IVGA.
  • Validación negativa ❌ — la SEC rechaza con un mensaje (a veces críptico). Lee el motivo, corrige y vuelve a validar.

Validar localmente es gratis y sin huella en el expediente. No hay razón para no hacerlo antes de cada presentación a IVGA.

Errores típicos durante el flujo

Aunque hagas todos los pasos bien, hay puntos donde el técnico medio se atasca:

SíntomaCausa probableSolución
El GML se valida pero IVGA da "validación negativa" sin motivo claroOrientación CCW del exterior, namespace gml: en la raízRevisar errores frecuentes
El parcelario oficial no encaja con mi levantamientoCartografía oficial desactualizada o coordenadas locales mal transformadasVerificar puntos homólogos, RMSE de Helmert
Aparecen slivers después del snapTolerancia mal calibrada o vértices no homólogosBajar tolerancia de snap, filtrar polígonos < 0.05 m²

Cuándo conviene una herramienta automatizada (y cuándo no)

Hacer el flujo completo manualmente en AutoCAD + QGIS + script Python es perfectamente viable si:

  • Validas IVGA menos de 5 veces al año.
  • Te gusta tener control total del XML resultante.
  • Tu cliente final no exige plazos rápidos.

Conviene una herramienta automatizada (como la nuestra, FME, o un script propio del colegio) si:

  • Validas varias veces al mes.
  • Cada rebote de IVGA te cuesta horas de retrabajo + retraso al cliente.
  • Quieres trazabilidad legal: GML firmado con sha256, historial de cambios, informes de diferencias.

Si llegas a presentar 3+ IVGAs al mes, el coste de una herramienta de pago se amortiza con un solo proyecto donde te ahorra el rebote.

Conclusión

El flujo DXF → GML INSPIRE no es trivial pero es predecible. Si dominas estos cinco pasos:

  1. Preparar y normalizar el DXF (capas, 3D, arcos, CRS).
  2. Conseguir el GML oficial del parcelario.
  3. Anclar tu levantamiento al parcelario oficial.
  4. Generar el GML INSPIRE con el formato exacto que valida la SEC.
  5. Validar localmente antes de presentar a IVGA.

Vas a tener una tasa de aceptación a la primera muy cercana al 100%. La inversión inicial en aprender el flujo se compensa con creces frente al coste de cada rebote.

Si quieres ver el flujo completo automatizado en menos de 10 minutos, puedes probar la herramienta gratis durante 14 días — el primer GML va con el trial sin tarjeta. Para todo lo demás, la guía de arriba sigue siendo la referencia.


¿Te ahorras estos errores con la herramienta?

El primer GML va con el trial gratuito. Si no te convence, no pagas y descargas el GML igual.