Publicador de contenidos

Cómo obtener la capa de recintos SIGPAC para CartoDruid a partir de la información de tu Comunidad Autónoma


 

Cómo obtener la capa de recintos SIGPAC para CartoDruid a partir de la información de tu Comunidad Autónoma

Hemos recibido varias consultan sobre cómo obtener la capa SIGPAC de su zona para poder utilizarla en proyectos CartoDruid. En este post vamos a enseñarte cómo descargar la información desde el portal Open Data de tu Comunidad Atónoma  y cómo construir la capa SIGPAC desde cero y dejarla lista para trabajar con CartoDruid.

Este post es para usuarios avanzados, si te atascas en algún punto, no dudes en consultarnos en el foro.

Requisitos Previos

  1. Tener QGIS instalado en tu computadora.

Procedimiento

Estos son los pasos que vamos a seguir:

  1. Localizar la capa SIGPAC en tu Comunidad Autónoma.
  2. Exportar la Capa SIGPAC a una Base de datos Spatialite.
  3. Crear la capa SIGPAC definitiva y copiar datos desde la capa descargada.
  4. Construir capas auxiliares, comprimir y crear índices espaciales.
  5. Cargar nuestra capa de SIGPAC en cartodruid

Vamos con ello.

 

1. Localizar la capa SIGPAC en el portal Open Data de tu Comunidad Autónoma

En las AAPP se ha hecho un gran esfuerzo por poner a disposición de los ciudadanos la información pública de que dispone la administración para permitir implementar servicios y soluciones de valor añadido. En torno a esto, existe un marco legal específico que puedes consultar en las referencias.
A la hora de implementar esta legislación, las CCAA han desarrollado portales de acceso datos u Open Data desde los cuáles los ciudadanos pueden descargarse los datos o, en algunos casos, solicitar acceso a ellos. Es en estos portales en los que los usuarios de CartoDruid pueden encontrar las capas SIGPAC en diferentes formatos cartográficos. En este post veremos cómo importar uno de estas capas y dejarla lista para cargar en CartoDruid.

Lamentablemente no todas las CCAA tienen la opción de descargar o acceder a los datos del SIGPAC en formato vectorial, en estos casos, recomendamos dirigirse a la plataforma OpenData de la comunidad y solicitarlos en formato Shapefile.

A continuación, se incluye el listado de capas SIGPAC que hemos encontrado en los portales OpenData de las diferentes CCAA.  Esta lista está actualizada a fecha de 16-nov-2023, pero puede que nosotros no hayamos encontrado el recurso por error nuestro (ante todo pedimos disculpas por la omisión).

Tienes más información sobre los Geoportales Autonómicos aquí:
https://www.idee.es/centros-de-descarga/autonomico


SIGPAC Andalucía
Servicio WFS de recintos SIGPAC hasta el 2020
http://www.geoportalagriculturaypesca.es/geoide/sigpac/wms?service=WMS&request=GetCapabilities 
Información del dataset
https://www.juntadeandalucia.es/datosabiertos/portal/dataset/poligonos-recintos-y-parcelas-sigpac-2019 

SIGPAC Aragón
Descarga en formato SHP por provincia y municipio
https://idearagon.aragon.es/descargas
https://opendata.aragon.es/datos/catalogo/dataset/relacion-entre-parcelas-pac-codigos-catastrales-y-sigpac-en-aragon 

SIGPAC Asturias
No se ha encontrado información SIGPAC en el web Open Data del Principado:
https://transparencia.asturias.es/open-data 

SIGPAC Baleares
Descarga en formato CSV, KML y SHP.
https://catalegdades.caib.cat/Medi-rural/SIGPAC-2023/w9cc-gen4 

SIGPAC Canarias
Visor SIGPAC, no se ha encontrado información de descarga.
https://www.gobiernodecanarias.org/agp/viceconsejeria/temas/sigpac/ 

SIGPAC Cantabria
Visor de mapas, sin posibilidad de descarga de información vectorial
https://sig-pac.com/sigpac-cantabria/ 
https://geoservicios.cantabria.es/inspire/services/SIGPAC/MapServer/WMSServer 

SIGPAC Castilla la Mancha
Visor de mapas, sin posibilidad de descarga de información vectorial
https://datosabiertos.castillalamancha.es/dataset/sistema-de-informaci%C3%B3n-geogr%C3%A1fica-de-parcelas-agr%C3%ADcolas-de-castilla-la-mancha-sigpac 

SIGPAC Castilla y León
En esta sección tenemos la cartografía ya preparada para consumirla en CartoDruid.
https://www.cartodruid.es/cartografia
Si necesitas algún dataset más, consula la web de datos abiertos de la JCyL:
https://datosabiertos.jcyl.es/web/es/datos-abiertos-castilla-leon.html
https://cartografia.jcyl.es/web/es/idecyl.html 

SIGPAC Cataluña
Descarga en formatos CSV, KML y SHP por comarcas.
https://analisi.transparenciacatalunya.cat/browse?q=SIGPAC%202023&sortBy=alpha&utf8=%E2%9C%93 

SIGPAC Ceuta

No se ha encontrado un servicio de descarga de SIGPAC.

SIGPAC Extremadura
Descarga en formato SHP por municipio.
http://sitex.gobex.es/SITEX/centrodescargas/viewsubcategoria/45 

SIGPAC Galicia

Visor de mapas, sin posibilidad de descarga de información vectorial
https://ovmediorural.xunta.gal/es/consultas-publicas/sixpac 
https://sig-pac.com/sigpac-galicia/

SIGPAC La Rioja

Visor SIGPAC de la Rioja y descarga de datos numéricos, no se ha encontraso servicio vectorial.
https://agro1.larioja.org/scapac/sigpac/frameSigpacAtributosRecintoPublico.jsp
https://www.iderioja.larioja.org/
https://larioja.org/agricultura/en/gestion-explotaciones/sigpac/datos-alfanumericos-sigpac-municipios.children,70,10

SIGPAC Madrid

Descarga en formato SHP por municipio
https://www.comunidad.madrid/servicios/medio-rural/sigpac
https://idem.madrid.org/catalogocartografia/srv/spa/catalog.search#/metadata/spacm_atom_sigpac

SIGPAC Melilla
No se ha encontrado un servicio de descarga de SIGPAC.

SIGPAC Murcia
No se ha encontrado un servicio de descarga de SIGPAC.
https://sitmurcia.carm.es/wfs
https://visoriderm.carm.es/

SIGPAC Navarra
Fichero de descarga del SIGPAC
http://sigpac.navarra.es/descargas/ 

SIGPAC País Vasco
Enlaces de descarga de ficheros SHP por de capas por provincias:
https://www.geo.euskadi.eus/cartografia/DatosDescarga/Agricultura/SIGPAC/https://opendata.euskadi.eus/catalogo/-/sistema-de-identificacion-geografica-de-parcelas-agricolas-de-la-capv/ 

SIGPAC Valencia
Descarga en formato SHP
https://dadesobertes.gva.es/dataset/sistema-de-informacion-geografica-de-parcelas-agricolas-de-la-comunitat-valenciana-sigpac-2022 
https://descargas.icv.gva.es/dcd/14_mediorural/03_pac/2022_SIGPAC_0050/?tipo=directa&formato=shp 

2. Convertir el fichero SIGPAC de tu Comunidad a una base de datos Spatialite

El método de obtención de la SQLite va a depender del tipo de fichero que puedas obtener del portal de tu Comunidad.
Si tu Comunidad proporciona los datos en SHP, puedes seguir este post sobre cómo exportar un fichero SHP (Shapefile) a Spatialite:

Si tu Comunidad proporcionar los datos con un servicio WFS, puedes seguir este tutorial en el que te enseñamos cómo exportar un municipio utilizando QGIS y la utilidad ogr2ogr:

En cualquiera de los datos casos, al final de este paso tendrás una base de datos Spatialite que utilizaremos para cargar nuestra tabla de recintos para CartoDruid.
Este fichero lo podemos abrir directamente desde QGIS y vamos a consultar el Sistema de Referencia que se ha utilizado en esta capa. En este caso está en 25830.
Si quieres saber más sobre Sistemas de referencia, echa un vistazo a este artículo ( ttps://www.cartodruid.es/-/codificacion-sistemas-referencia-epsg-srid ).

 

3. Crear la capa SIGPAC definitiva y copiar datos desde el fichero descargado

En el paso anterior has conseguido tener una BD SQLite-Spatialite, ahora vamos a crear una BD con la estructura definitiva.  En esta parte del post vamos  tomar como ejemplo de fichero descargado la capa de recintos de Andújar que descargamos en este artículo:  https://www.cartodruid.es/-/exportar-sigpac-wfs-a-spatialite

Antes de empezar, para facilitar el trabajo sigue estos dos pasos:
1.    Crea una carpeta de trabajo, por ejemplo c:/mi_sigpac  pega ahí la base de datos spatialite del apartado anterior con el nombre sigpac_ccaa.sqlite.
2.    Abre una consola de Windows, y vamos a añadir al path de tu equipo la ruta a la carpeta en la que están los comandos de QGIS, así será más sencillo ejecutar las siguientes órdenes. Ejecuta esto:

SET PATH=<RUTA_QGIS>/bin:%PATH%

El resto de instrucciones las tienes que ejecutar en esta misma consola, si la cierras por algún motivo tienes que volver a establecer esta variable.

1. Crear la BD de recintos definitiva
Primero vamos a lanzar un script que cree la estructura de tablas que necesitamos. Copia este fichero en un archivo create_recintos.sql en tu carpeta de trabajo.
En este fichero tienes que poner el SRID que has consulta en el paso anterior, está marcado abajo en amarillo el punto en el que tienes que editarlo.

  
SELECT load_extension('mod_spatialite');

SELECT InitSpatialMetaData('NONE');
SELECT InsertEpsgSrid(25829);
SELECT InsertEpsgSrid(25830);
SELECT InsertEpsgSrid(25831);
SELECT InsertEpsgSrid(4258);
SELECT InsertEpsgSrid(4326);
SELECT InsertEpsgSrid(3857);

CREATE TABLE "AGRZONA" (
"PK_UID" INTEGER PRIMARY KEY AUTOINCREMENT,
"C_PROVINCIA" INTEGER,
"C_MUNICIPIO" INTEGER,
"C_AGREGADO" INTEGER,
"C_ZONA" INTEGER );

CREATE TABLE "MUNICIPIOS"( "PK_UID" INTEGER PRIMARY KEY AUTOINCREMENT,
"C_PROVINCIA" INTEGER,
"C_MUNICIPIO" INTEGER,
"C_PROVMUN" TEXT,
"D_NOMBRE" TEXT,
"C_PROVMUNINE" TEXT,
Geometry MULTIPOLYGON );

SELECT RecoverGeometryColumn("MUNICIPIOS", "Geometry", 25830, "MULTIPOLYGON", 2);
SELECT CreateSpatialIndex("MUNICIPIOS" , "Geometry");

CREATE TABLE "PROVINCIAS" (
"PK_UID" INTEGER PRIMARY KEY AUTOINCREMENT,
"C_PROVINCIA" INTEGER,
"D_NOMBRE" VARCHAR(15),
"GEOMETRY" MULTIPOLYGON );

SELECT RecoverGeometryColumn("PROVINCIAS", "Geometry", 25830, "MULTIPOLYGON", 2);
SELECT CreateSpatialIndex("PROVINCIAS" , "Geometry");

CREATE TABLE "RECINTOS" ( "PK_UID" INTEGER PRIMARY KEY ASC,
"C_PROVINCIA" INTEGER,
"C_MUNICIPIO" INTEGER,
"C_AGREGADO" INTEGER,
"C_ZONA" INTEGER,
"C_POLIGONO" INTEGER,
"C_PARCELA" INTEGER,
"C_RECINTO" INTEGER,
"C_USO_SIGPAC" TEXT,
"C_COEF_REGADIO" INTEGER,
"C_REFREC" TEXT,
"L_SUP_SIGPAC" DOUBLE,
"C_REFPAR" TEXT,
"Geometry" MULTIPOLYGON );

SELECT RecoverGeometryColumn('RECINTOS', 'Geometry', 25830, "MULTIPOLYGON", 2);

 Ahora ejecútalo con esta sentencia:

sqlite3 recintos_25830_2023116_ccaa.sqlite < create_recintos.sql

El nombre del fichero final es importante porque Cartodruid utiliza esta nomenclatura para buscar las capas de recinto. Durante la ejecución, verás aparecen varios 1¿s en pantalla, y al terminar debe haberse creado en esta carpeta el fichero recintos_25830_2023116_ccaa.sqlite.

2.  Copiar datos de la capa de origen a recintos.sqlite
Ahora que tienes la BD con el SIGPAC de tu zona y la BD de destino, tenemos que copiar los datos de una a otra. Esto lo vamos a hacer con una consulta SQL, pero primero necesitamos saber la estructura que tiene la tabla que has descargado de tu Comunidad.
Entra en la SQlite final:


sqlite3 d:\tmp\recintos_25830_2023116_ccaa.sqlite

--Carga el módulo spatialite:
SELECT load_extension(`mod_spatialite¿);

--Conecta la BD con los recintos de tu Comunidad con el alias ¿origen¿:
attach "sigpac_ccaa.sqlite" as origen;

-- Ahora vamos a ver qué tablas hay en la BD de origen para ver su formato:
SELECT name FROM origen.sqlite_master WHERE type='table';

 


 

En este caso es sigpac20_recintos, vamos a ver qué esquema tiene

pragma origen.table_info("sigpac20_recintos");  


 

Para poder copiar los datos, necesitas relacionar los campos del SIGPAC de tu CCAA con los campos de la capa SIGPAC destino. Aquí vemos un ejemplo:

Campo destino Campo de origen
PK_UID ogc_fid
C_PROVINCIA cd_prov
C_MUNICIPIO cd_mun
C_AGREGADO no informado en la capa de origen, fijamos 0
C_ZONA no informado en la capa de origen, fijamos 0
C_POLIGONO cd_pol
C_PARCELA cd_parcela
C_RECINTO cd_recinto
C_USO_SIGPAC cd_uso
C_COEF_REGADIO coef_regadio
C_REFREC Se calcula posteriormente
L_SUP_SIGPAC nu_area
C_REFPAR Se calcula posteriormente
Geometry the_geom

 

Y ahora construimos una consulta para insertar las geometrías de la tabla de origen al destino:

insert into recintos (PK_UID,C_PROVINCIA,C_MUNICIPIO,C_AGREGADO,C_ZONA,
C_POLIGONO ,C_PARCELA,C_RECINTO,C_USO_SIGPAC,C_COEF_REGADIO ,L_SUP_SIGPAC, Geometry)
select ogc_fid as PK_UID, cd_prov as C_PROVINCIA, cd_mun as
C_MUNICIPIO, 0 as C_AGREGADO, 0 as C_ZONA, cd_pol as C_POLIGONO ,
cd_parcela as C_PARCELA, cd_recinto as C_RECINTO, cd_uso as C_USO_SIGPAC,
coef_regadio as C_COEF_REGADIO , nu_area as L_SUP_SIGPAC,
CastToMultiPolygon(the_geom) as Geometry
from origen.sigpac20_recintos;

En el campo de geometría se utiliza la función CastToMultiPolygon para forzar la creación de una geometría de tipo multipolígono. Revisa que el nombre de la tabla de origen y de los campos es el correcto es el correcto.
Después de ejecutar esa sentencia podemos comprobar el número de registros en la tabla definitiva con esta consulta:  

SELECT COUNT(1) from RECINTOS;

4. Cargar capas auxiliares, comprimir y crear índices espaciales

Último paso, ahora que ya tenemos nuestros recitos cargados, necesitamos crear unas tablas auxiliares e índices que CartoDruid utiliza para las búsquedas.
1. Descarga esta base de datos que contiene las provincias y muncipios de España, la necesitaremos para cargar las capas auxiliares. Pégala en la misma carpeta de trabajo.
https://ftp.itacyl.es/cartodroid/sigpac/provmuni/4258/2018/provmun_4258_2018_spain.sqlite 
2. Ejecutamos las siguientes sentencias:


attach ¿provmun_4258_2018_spain.sqlite¿ as p;
insert into municipios  ("C_PROVINCIA", "C_MUNICIPIO", "C_PROVMUN", "D_NOMBRE", "C_PROVMUNINE")
select "C_PROVINCIA", "C_MUNICIPIO", "C_PROVMUN", "D_NOMBRE", "C_PROVMUNINE" FROM p.municipios p;

insert into provincias  ("C_PROVINCIA", "D_NOMBRE")
select "C_PROVINCIA", "D_NOMBRE"
FROM p.provincias p;

insert into agrzona  ("C_PROVINCIA", "C_MUNICIPIO", "C_AGREGADO", "C_ZONA")
select distinct "C_PROVINCIA", "C_MUNICIPIO", "C_AGREGADO", "C_ZONA
FROM recintos;

select ">> Creating numeric indexes";
create index IDX_REFERENCIA on recintos (c_provincia, c_municipio, c_agregado, c_zona, c_poligono, c_parcela, c_recinto);
create index IDX_REFREC on recintos (c_refrec);

-- En este caso el campo pk_uid no es clave primeria por que la tabla se ha creado desde ogr2ogr, creamos un índice

create index IDX_PKUID on recintos (pk_uid);

select "Compressing geometries";
SELECT DisableSpatialIndex('recintos','geometry');
update recintos set geometry = compressGeometry(geometry);

-- re create geometry index
select ">> Creating geometry index and triggers";
SELECT CreateSpatialIndex('recintos', 'Geometry');
SELECT RebuildGeometryTriggers('recintos', 'Geometry');

-- Creamos la referencia SIGPAC de 23 dígios y la de parcela
update recintos set c_refrec = printf("%02d%03d%03d%02d%03d%05d%05d", c_provincia, c_municipio, c_agregado, c_zona, c_poligono, c_parcela, c_recinto);
update recintos set c_refpar = printf("%02d%03d%03d%02d%03d%05d", c_provincia, c_municipio, c_agregado, c_zona, c_poligono, c_parcela);

Después de seguir estos pasos, ya tienes tu capa Lista para utilizarla en un proyecto Cartodruid, en el siguiente paso vemos un ejemplo de configuración de proyecto.

5. Cargar nuestra capa de SIGPAC en CartoDruid

Para poder utilizar tu capa SIGPAC en tu móvil necesitarás copiar el fichero recintos_25830_2023116_ccaa.sqlite a tu móvil y definir un proyecto cartodruid para utiliza rla capa.

1. El fichero puedes copiarlo a cualquier ruta de tu móvil, CartoDruid escanea las tarjetas de tu móvil para localizar bases de datos sqlite. Nosotros recomendamos tener una carpeta /cartorepo con la cartografía compartida entre proyectos y ahorrar espacio.

2. Para poder trabjar con tu capa SIGPAC, necesitarás un proyecto CartoDruid en el que incluirla. Aquí te dejamos un proyecto de ejemplo, descarga el fichero XML y modifica las partes señaladas en rojo para ajustarlas a tu caso:

<entry>
      <string>RECINTOS_2023</string>
      <es.jcyl.ita.crtcyl.core.model.VectorialLayer>
      ...
            <dataTable>recintos</dataTable>
            <dbURL>recintos_4258_20230131.sqlite</dbURL>
            <indexTable>idx_recintos_Geometry</indexTable>
            <resourceid>recintos</resourceid>
            <srid>4258</srid>
            <version>20230131</version>
      ...
        <srs>4258</srs>
      ...
</entry>

3. Copia el fichero XML a la ruta /cartodroid/config y abre el proyecto desde el menú lateral.  Reinicia cartodruid y verás que la capa de recintos aparece en el menú lateral.


 

En el momento que tengas una capa de recintos, la búsqueda SIGPAC se activará en el menú superior derecho (tres puntos) y podrás buscar los recintos por la referencia:


 

Ahora ya puedes utilizar los recintos SIGPAC para realizar tus tareas de campo, copiarlos en tus capas de trabajo, simbolizar por usos SIGPAC, consultar la información de los recintos y mucho más.

Esperamos que te sirva de ayuda!

Referencias

Normativa sobre Open Data

Contenidos relacionados

Configuración búsqueda SigPac avanzada

Crear nueva capa partiendo de un listado de recintos SigPac

Búsqueda SigPac y configuración básica