Publicador de contenidos
Exportando recintos SIGPAC desde WFS a Spatialite con QGIS y ogr2ogr
Este tutorial te guiará a través del proceso de exportar datos de un servicio Web Feature Service (WFS) a una base de datos SpatiaLite utilizando QGIS, una popular aplicación de Sistema de Información Geográfica (SIG), y OGR, una biblioteca de conversión de datos geoespaciales. Como WFS de ejemplo vamos a utilizar el servicio WFS de la CCAA de Andalucía, pero puedes repetir este proceso con cualquier otro servicio.
Requisitos Previos
- Tener QGIS instalado en tu computadora.
- Tener conocimientos básicos de SIG y manejo de QGIS.
- Acceso a un servicio WFS, necesitarás la URL del servicio de Features, en el caso de nuestro ejemplo es http://www.geoportalagriculturaypesca.es/geoide/sigpac/wms.
Paso 1: Configurar la Conexión WFS en QGIS
1. Abrir QGIS: Inicia la aplicación QGIS en tu computadora.
2. Añadir Conexión WFS:
- Ve a Capa > Añadir Capa > Añadir Capa WFS > Nueva.
- Introduce la URL del servicio WFS: http://www.geoportalagriculturaypesca.es/geoide/sigpac/wms.
- Ponle un nombre a la conexión y haz clic en OK.
3. Cargar Capa WFS:
- Con la conexión WFS configurada, selecciona la capa que deseas exportar.
- Haz clic en Conectar y luego en Añadir.
Tras esto, tendrás en el panel de conexiones WFS una entrada para este servicio y puedes desplegarla para ver qué capas están disponibles:
Puedes arrastrar una de ellas para visualizar las geometrías de los recintos o polígonos de esta Comunidad.
Paso 2: Exportar la Capa WFS a Spatialite
Si la capa que vas a exportar tiene un número pequeño de registros, puedes exportarla directamente, pero en nuestro caso, vamos a filtrarla previamente para quedarnos con los recintos de un único municipio, por ejemplo, Andújar (provincia 23 y municipio 5).
1. Filtrar la capa desde QGIS
- Una vez cargada la capa WFS, haz clic derecho sobre ella en el panel de capas
- Selecciona ¿Filtrar¿ e introduce esta expresión: "CD_PROV" = 23 and "CD_MUN" 5
- Pulsa el botón aceptar y QGIS empezará a descargar los resultados.
2. Exportar la capa con QGIS:
- Con la capa WFS filtrada, haz clic derecho sobre ella en el panel de capas.
- Selecciona Exportar > Guardar Como....
- En el diálogo que aparece, selecciona Formato: Spatialite.
- Elige la ubicación del archivo y nómbralo.
-
Configura las opciones de exportación según sea necesario (CRS, rango de exportación, etc.).
- Haz clic en OK.
3. Verificación:
Una vez finalizada la exportación, puedes abrir el archivo Spatialite en QGIS para verificar que los datos se hayan exportado correctamente. Para éstos solo tienes que arrastrar el fichero al panel de capas.
Paso 3: Uso Avanzado con OGR (Opcional)
Si necesitas más control sobre la exportación o si estás trabajando con scripts, puedes usar OGR directamente desde la línea de comandos. El comando ogr lo puedes encontrar en el directorio /bin de la instalación de QGIS.
En el comando ogr2ogr podemos pasarle directamente la consulta que queremos ejecutar para extraer los datos del WFS.
select * from SIGPAC20_RECINTOS where CD_PROV = 23 and CD_MUN =5
Hay que tener en cuenta que el driver WFS de GDAL está convirtiendo esta consulta a un filtro WFS, por lo que no se soportan todos los operaciones o sentencias SQL. Puedes consultar más información sobre el driver WFS de GAL aquí: https://gdal.org/drivers/vector/wfs.html.
Abrimos una consulta de comandos de Windows y primero vamos a activar el nivel de depuración de gdal para ver qué va haciendo el comando:
set CPL_DEBUG=ON
En la misma consola después ejecuta esto:
ogr2ogr -f SQLite -dsco SPATIALITE=YES d:/tmp/andujar.sqlite WFS:"http://www.geoportalagriculturaypesca.es/geoide/sigpac/wms?service=WMS&request=GetCapabilities" -sql " select * from SIGPAC20_RECINTOS where CD_PROV = 23 and CD_MUN = 5" -nlt POLYGON
El cliente irá haciendo peticiones y descargando los recintos de forma paginada, puedes agilizar la descarga añadiendo un filtro espacial con las coordenadas de la zona que contiene las entidades de interés:
-spat -spat <xmin> <ymin> <xmax> <ymax>
https://gdal.org/programs/ogr2ogr.html
El comando realizará multitud de peticiones para ir descargando la información de forma paginada hasta que complete todo el área del filtro espacial.
Ahora has aprendido cómo exportar datos de un servicio WFS a una base de datos Spatialite utilizando QGIS y OGR. Este proceso es esencial para integrar datos geoespaciales en tus proyectos de SIG y para realizar análisis más avanzados y personalizados.
Recursos Adicionales
- QGIS Web Feature Service: https://docs.qgis.org/2.18/en/docs/training_manual/online_resources/wfs.html
- OGR User Documentation: https://gdal.org/programs/ogr2ogr.html