═══════════════════════════════════════════════════════════════════════════════
EL CAMPO, PARCELA A PARCELA — fuentes, licencias y comprobaciones
campo_demo.html · Mapas Vivos de España · demo interna F0
Todo lo de este fichero está comprobado a mano el 5 de septiembre de 2026.
═══════════════════════════════════════════════════════════════════════════════
1. LA FUENTE PRINCIPAL: SIGPAC (FEGA)
───────────────────────────────────────────────────────────────────────────────
Sistema de Información Geográfica de Parcelas Agrícolas.
Fondo Español de Garantía Agraria (FEGA), Subdirección General de Ayudas
Directas — Ministerio de Agricultura, Pesca y Alimentación (MAPA).
Servicio WMS https://sigpac-hubcloud.es/wms
Punto de trabajo https://sigpac-hubcloud.es/wms/ows
GetCapabilities https://sigpac-hubcloud.es/wms?SERVICE=WMS&REQUEST=GetCapabilities
Documentación https://sigpac-hubcloud.es/html/wms/descServicio.html
Consultado 5 de septiembre de 2026
⚠ EL SERVICIO HA CAMBIADO DE CASA. El extremo que citan casi todas las guías,
https://wms.mapa.gob.es/sigpac/wms, está CAÍDO: devuelve 502 y además su
certificado TLS no valida (CERTIFICATE_VERIFY_FAILED). Comprobado hoy.
El que funciona es sigpac-hubcloud.es. Si algún día este mapa se queda en
blanco, empezar por ahí.
Del GetCapabilities, literal:
Servicio WMS SIGPAC
Servicio WMS de SIGPAC que proporciona datos e información de
las capas: Recinto, Elementos del Paisaje y Cultivo Declarado.
Fondo Español de Garantía Agraria (FEGA)
none
none
Y en la capa que usa este mapa:
AU.Sigpac:recinto
Recinto
Recintos SIGPAC
Fondo Español de Garantía Agraria
ESFEGARECINTOSSIGPAC20050101001
La otra capa consultada al pinchar:
AU.Sigpac:cultivo_declarado
Cultivo Declarado 2025
Información declarativa gráfica campaña 2025
De ahí sale el año de campaña que este mapa rotula en pantalla: 2025. No es
una fecha elegida por mí, es el título que el propio servicio le da a su capa.
2. LA LICENCIA — CITA LITERAL
───────────────────────────────────────────────────────────────────────────────
2.1 En el pie de https://sigpac-hubcloud.es/ y en la ficha del servicio WMS
(https://sigpac-hubcloud.es/html/wms/descServicio.html), literal:
«Los datos que ofrecen estos Servicios, se publican bajo los términos de
la licencia pública Creative Commons. Atribución/Reconocimiento
(CC BY 4.0)»
Enlaza a https://creativecommons.org/licenses/by/4.0/deed.es
Descargado y leído por mí el 5 de septiembre de 2026.
2.2 En el servicio de descargas
(https://sigpac-hubcloud.es/html/sdsigpac/descServicio.html), apartado
«Condiciones de acceso y uso», literal:
«El acceso a este servicio es gratuito. Al acceder al servicio se dan por
aceptadas las condiciones de uso establecidas en la licencia pública
Creative Commons.Atribución/Reconocimiento (CC BY 4.0).»
(El punto pegado entre «Commons.» y «Atribución» está así en el original.)
2.3 Base jurídica que el propio FEGA invoca, misma página, literal:
«El Reglamento de Ejecución (UE) 2023/138 establece una lista de conjuntos
de datos específicos de alto valor (HVD), que obren en poder de organismos
del sector público, y modalidades de publicación y reutilización.»
2.4 Sobre la periodicidad, misma página, literal:
«Los conjuntos de datos que se ofrecen en ese servicio se actualizan por
campaña. Extraordinariamente podrán actualizarse en otros momentos.»
Por eso este mapa NO está vivo y lo dice con un sello permanente.
2.5 Sobre la cobertura, misma página, literal:
«Los datos que se pueden descargar en este servicio están a nivel de
provincia y cubren todo el territorio.»
y
«Resolución Espacial: La escala de producción es 1:5000 o similar.»
2.6 ATRIBUCIÓN USADA EN EL MAPA.
NO existe una fórmula de atribución literal publicada por el FEGA: la he
buscado y no está. Lo que sí hay es el de la propia capa
—«Fondo Español de Garantía Agraria»— y la licencia CC BY 4.0. La frase que
usa este mapa se construye con esas dos piezas y con nada más:
SIGPAC © Fondo Español de Garantía Agraria (FEGA) · CC BY 4.0
Si alguna vez el FEGA publica una fórmula literal, hay que sustituirla.
Nota: none y none del
GetCapabilities hablan de ACCESO (no hay tarifa, no hay restricción para
conectarse). No eximen de la atribución que exige el CC BY 4.0 declarado en
la documentación del servicio. Son dos cosas distintas y conviene no
confundirlas.
3. LA TABLA DE CÓDIGOS DE USO — DE DÓNDE SALE
───────────────────────────────────────────────────────────────────────────────
El atributo que colorea este mapa es `uso_sigpac`, y en la base guarda códigos
de dos letras crudos: «OV», «TA», «VI»… (comprobado con CQL_FILTER:
uso_sigpac='OV' filtra; uso_sigpac='OV - OLIVAR' no devuelve nada).
La tabla oficial la publica el propio FEGA como lista de códigos, en JSON:
https://sigpac-hubcloud.es/codigossigpac/cod_uso_sigpac.json
Documentada en https://sigpac-hubcloud.es/html/listCod/listados/usos-sigpac.html
Descargada por mí el 5 de septiembre de 2026: 200 OK, 1.941 bytes, 34 códigos.
Cabecera literal del fichero:
"nombre": "cod_uso_sigpac",
"descripcion": "Lista de códigos de Uso de Recintos SIGPAC."
Envía Access-Control-Allow-Origin: *, así que el mapa la lee EN VIVO y no
lleva la tabla empotrada. Hay una copia local (campo_datos/cod_uso_sigpac.json)
que sólo se usa si el servicio no responde.
Los 34 códigos, literales tal y como los devuelve el servicio:
AG CORRIENTES Y SUPERFICIES DE AGUA OC Asociación Olivar-Cítricos
CA VIALES OF OLIVAR - FRUTAL
CF Asociación Cítricos-Frutales OP Otros cultivos Permanentes
CI CITRICOS OV OLIVAR
CO CONTORNO OLIVAR PA PASTO CON ARBOLADO
CS Asociación Cítricos-Frutales de cáscara
CV Asociación Cítricos-Viñedo PR PASTO ARBUSTIVO
ED EDIFICACIONES PS PASTIZAL
EP ELEMENTO DEL PAISAJE TA TIERRAS ARABLES
FF Asociación Frutales-Frutales de cáscara
FL FRUTOS SECOS Y OLIVAR TH HUERTA
FO FORESTAL VF VIÑEDO - FRUTAL
FS FRUTOS SECOS VI VIÑEDO
FV FRUTOS SECOS Y VIÑEDO VO VIÑEDO - OLIVAR
FY FRUTALES ZC ZONA CONCENTRADA NO INCLUIDA EN LA ORTOF
IM IMPRODUCTIVOS ZU ZONA URBANA
IS ISLAS ZV ZONA CENSURADA
IV INVERNADEROS Y CULTIVOS BAJO PLASTICO
MT MATORRAL
DOS AVISOS SOBRE ESTA TABLA, porque no cuadra del todo con la norma:
· El servicio incluye CO (CONTORNO OLIVAR) e IS (ISLAS), que NO figuran en el
Anexo IV del Real Decreto 1047/2022. Son códigos que siguen vivos en la base
aunque la norma vigente no los recoja.
· La descripción de ZC viene TRUNCADA a 40 caracteres en el propio JSON
(«…EN LA ORTOF»). En el RD es «Zona concentrada no incluida en la ortofoto».
El mapa la muestra tal y como llega, truncada, porque es lo que dice la
fuente; no la completo por mi cuenta.
Norma de referencia (para el que quiera el respaldo legal, no lo usa el mapa):
Real Decreto 1047/2022, de 27 de diciembre, Anexo IV «Usos definidos en el
Sistema de Información Geográfica de Parcelas Agrícolas».
https://www.boe.es/buscar/doc.php?id=BOE-A-2022-23047
OJO: el RD 1077/2014 que citan muchas guías está DEROGADO.
Agrupaciones por familias: son las del propio FEGA, de su nota de resumen de
usos de la campaña 2025
https://www.fega.gob.es/sites/default/files/files/document/250121_Nota_web_resumen_datos_USOS_CA_SIGPAC_2025.pdf
TIERRAS DE CULTIVO: TA, TH, IV
CULTIVOS PERMANENTES: CF, CS, CV, FF, OC, CI, FY, FS, FL, FV, OV, OF, VI, VF, VO, OP
PASTOS: PS, PR, PA
FORESTAL: FO, MT
SUPERFICIE NO AGRÍCOLA: AG, ED, EP, IM, CA, ZU
OTROS: ZV, ZC
Las familias de color de la leyenda de este mapa siguen ese reparto, con una
sola separación añadida por criterio propio: el olivar y el viñedo salen de
«cultivos permanentes» y llevan color propio, porque en España son paisaje y no
una categoría más. Está dicho en el panel del mapa.
4. LA TABLA DE CULTIVOS DECLARADOS
───────────────────────────────────────────────────────────────────────────────
La capa `cultivo_declarado` devuelve el producto ya resuelto en el propio
GetFeatureInfo («101 - OLIVO»), así que el mapa no necesita traducir nada. Pero
la tabla existe y es del FEGA:
https://sigpac-hubcloud.es/codigossigpac/cod_producto.json
Descargada el 5 de septiembre de 2026: 200 OK, 44.162 bytes, 933 códigos.
Cabecera literal: "nombre": "cod_producto",
"descripcion": "Lista de códigos de producto."
Muestra: 1 TRIGO BLANDO · 4 MAÍZ · 5 CEBADA · 80 ARROZ · 101 OLIVO ·
102 VIÑA · 104 ALMENDRO · 206 NARANJO
También existe https://sigpac-hubcloud.es/codigossigpac/cod_incidencia.json
(11.389 bytes), que traduce las incidencias del recinto.
5. LA DESCARGA VECTORIAL: EXISTE, Y NO SE HA USADO A PROPÓSITO
───────────────────────────────────────────────────────────────────────────────
Sí hay descarga vectorial, por provincia:
https://sigpac-hubcloud.es/html/sdsigpac/descServicio.html
Literal: «La información gráfica se proporcionará en formato GeoPackage […]
Los ficheros estarán comprimidos con formato ZIP.»
NO se ha descargado nada. Son millones de recintos por provincia y esta demo no
los necesita: el WMS pinta y el GetFeatureInfo consulta. Bajarse el SIGPAC para
esto habría sido gastar horas y gigas para llegar al mismo sitio.
El WFS del mismo GeoServer, en cambio, NO existe: comprobado,
https://sigpac-hubcloud.es/wms/wfs?SERVICE=WFS&REQUEST=GetCapabilities responde
Service WFS is disabled
Por eso el mapa no puede traerse geometrías y colorearlas en el navegador, y
tiene que pedirle al servidor que las pinte él.
6. CÓMO SE CONSIGUIÓ QUE PINTARA (para el que venga detrás)
───────────────────────────────────────────────────────────────────────────────
6.1 Versión. Con VERSION=1.1.1 el servidor contesta
Could not determine geoserver request from http request…
Hay que ir con VERSION=1.3.0 y el parámetro CRS (no SRS).
6.2 Escala. Éste es el motivo real de que «no pinte». El estilo del servidor
tiene una regla de escala: por encima de ~1:10.000 devuelve un PNG
TRANSPARENTE y VÁLIDO —200 OK, image/png— en vez de un error. Medido:
bbox de 0,012° a 512 px → 1:9.319 → pinta
bbox de 0,016° a 512 px → 1:12.425 → sale en blanco
En teselas Web Mercator eso es z16 (1:8.531) sí, z15 (1:17.062) no.
Un PNG en blanco no es un fallo del código: es el servidor diciendo «a esta
escala no dibujo». Conviene contar píxeles antes de dar nada por roto.
6.3 El truco para bajar a z15. La escala la calcula el servidor con
bbox/ancho_en_píxeles. Si pido la MISMA bbox de una tesela z15 pero a 512 px
en vez de 256, la escala vuelve a ser 1:8.531 y pinta. El navegador reduce
la imagen a su sitio. Medido en La Mancha:
z16 a 256 px → 0,28 s · 26 KB
z15 a 512 px → 0,29 s · 93 KB ← se usa
z14 a 1024 px → 0,46 s · 340 KB ← se descartó: pesa demasiado
z13 a 2048 px → 0,88 s · 1.390 KB ← se descartó
z12 a 4096 px → error: pasa del límite del servidor
Por eso el umbral de parcela de este mapa es z15 y no z16.
6.4 El color. El estilo del servidor pinta TODO de un mismo verde: su
GetLegendGraphic para `cultivo_declarado` es un único recuadro que pone
«Cultivo Declarado». Para distinguir cultivos hay que mandar el estilo:
SLD_BODY con una función Recode sobre `uso_sigpac`. Comprobado que funciona.
· CQL_FILTER también se acepta.
· El atributo del cultivo declarado NO es accesible al estilo: sobre
`cultivo_declarado`, CQL_FILTER con `producto` responde
«Property 'producto' could not be found in wms_cultivo_declarado».
Probé ~60 nombres candidatos y ninguno existe. El producto sólo sale por
GetFeatureInfo. Por eso el MAPA se colorea por uso SIGPAC (permanente, de
la capa `recinto`) y la FICHA añade el cultivo declarado del año.
6.5 El límite de 2.048 bytes de URL. El SLD completo no cabe en la URL: a partir
de 2.048 bytes el servidor devuelve 404 (medido con relleno: 2.048 pasa,
2.100 no). La solución es POST: el servicio acepta GetMap por POST y manda
access-control-allow-origin: *
access-control-allow-methods: GET, POST, OPTIONS
así que las teselas se piden con fetch() en POST y se pintan desde un blob.
Sin CORS abierto este mapa no existiría: también el GetFeatureInfo se pide
desde el navegador.
7. LA MALLA DE SONDEOS (lo que se ve de lejos)
───────────────────────────────────────────────────────────────────────────────
Como el servicio no dibuja por debajo de z15, de lejos NO HAY PARCELAS QUE
ENSEÑAR. En vez de dejar el mapa vacío o inventar un agregado, se hizo un
MUESTREO SISTEMÁTICO propio con el horneador campo_hornea.py:
· Un GetFeatureInfo puntual en cada nodo de una malla de 10 km sobre toda
España. La bbox de la consulta la pone el horneador, diminuta, así que la
regla de escala nunca estorba.
· 5.518 nodos consultados, 5.018 con recinto SIGPAC.
· Filtro de tierra: los 8.122 municipios del maestro de AEMET (un nodo entra
si tiene un pueblo a menos de 16 km). No hay polígonos de costa a mano.
· Además, 10 comarcas emblemáticas con malla fina de 1,5 km.
· Educación con un servidor ajeno: 6 hilos, ~20 peticiones/s, 208 s para la
malla nacional. Se hace UNA vez y queda horneada.
ESTO NO ES «EL MAPA DE CULTIVOS DE ESPAÑA». Es qué hay exactamente en el punto
de cada nodo. Es una MUESTRA y el mapa lo dice en pantalla, no en letra pequeña.
Un sondeo cada 10 km ve el 0,0000031 % de la superficie: sirve para el patrón
grande —el olivar de Jaén, el cereal de Castilla— y no para nada más fino.
8. LA COBERTURA POR COMUNIDADES — COMPROBADO, NO SUPUESTO
───────────────────────────────────────────────────────────────────────────────
Con la edad de los edificios pasó que faltaban las provincias forales y no se
veía. Aquí se ha mirado a propósito, con GetFeatureInfo contra el servicio
NACIONAL en territorio foral y en CCAA con visor propio:
Álava (Rioja alavesa) → provincia «1 - ALAVA», uso_sigpac «VI - VIÑEDO»
Navarra (Tudela) → provincia «31 - NAVARRA»
Gipuzkoa (Tolosa) → provincia «20 - GUIPUZCOA»
Bizkaia (Gernika) → provincia «48 - VIZCAYA»
Lleida (Els Alamús) → provincia «25 - LLEIDA», «TA», coef_regadio 100
Tenerife (La Orotava) → provincia «38 - SANTA CRUZ DE TENERIFE»
RESULTADO: el servicio nacional SÍ cubre todo el territorio, forales incluidas.
No hay agujero que declarar. Coherente con el art. 18 del RD 1047/2022 (el
SIGPAC es la base de referencia única de la PAC) y con la propia documentación
del servicio: «cubren todo el territorio».
MATIZ QUE SÍ HAY QUE DECIR: 13 comunidades mantienen su propio visor SIGPAC
(Andalucía, Cataluña, Navarra, País Vasco, Aragón, Castilla-La Mancha, Murcia,
C. Valenciana, Madrid, Galicia, Asturias, La Rioja, Canarias — lista del FEGA en
https://www.fega.gob.es/es/pepac-2023-2027/sistemas-gestion-y-control/sigpac/visores-ccaa).
Las alegaciones se tramitan en la comunidad y luego el FEGA integra. NO he
encontrado ninguna fuente oficial que cuantifique el desfase de propagación
entre el visor autonómico y el nacional, así que el mapa dice que puede haberlo
y no se inventa cuánto.
9. EL CONTRASTE EXTERNO — ¿SALE LO QUE TIENE QUE SALIR?
───────────────────────────────────────────────────────────────────────────────
Se renderizaron doce zonas donde cualquiera sabe lo que debe aparecer, y se
midió el color dominante de cada imagen (_campo_prueba.py, lámina en
_campo_lamina.png). Resultado:
zona se espera uso dominante que sale
──────────────────────────── ───────────────── ──────────────────────
Campiña de Jaén olivar OV OLIVAR ✓
La Mancha (Ciudad Real) viñedo y cereal VI VIÑEDO + TA ✓
Rioja alavesa viñedo VI VIÑEDO ✓
Dehesa de Cáceres pasto arbolado PA PASTO CON ARBOLADO ✓
Tierra de Campos cereal de secano TA TIERRAS ARABLES ✓
Marismas del Guadalquivir arroz TA TIERRAS ARABLES ✓ (*)
Segrià (Lleida) frutales FY FRUTALES ✓
Campo de Dalías (Almería) invernadero IV INVERNADEROS ✓
Ribera del Xúquer cítricos CI CITRICOS ✓
Ribera de Navarra (Tudela) regadío del Ebro TA + coef_regadio 100 ✓
Tolosa (Gipuzkoa) prados y bosque FO FORESTAL + prados ✓
Huerta de Murcia regadío ZU (el punto cayó en
la ciudad, no fallo)
(*) El arroz es TIERRAS ARABLES en el uso SIGPAC: el uso no baja al cultivo.
Que allí hay arroz lo dice la ficha al pinchar, vía cultivo_declarado
(«80 - ARROZ»), no el color. Es exactamente la diferencia entre las dos
capas y el mapa la explica.
Los doce puntos son los del fichero _campo_prueba.py y se pueden repetir.
10. LO DEMÁS QUE USA ESTE MAPA
───────────────────────────────────────────────────────────────────────────────
· Municipios del buscador — maestro de municipios de AEMET, vía municipios.json
(8.122 municipios). Fuente: AEMET (Ley 18/2015). Capturado 2026-09-03.
· Límites de comunidades — Natural Earth (dominio público), limites_ccaa.json.
· Mapa base — Esri, World Light Gray Base
https://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base
· Leaflet 1.9.4 (BSD-2-Clause).
· Tipografías Sora e IBM Plex Sans (SIL Open Font License 1.1), Google Fonts.
11. LO QUE ESTE MAPA NO SABE (resumen; en pantalla está entero)
───────────────────────────────────────────────────────────────────────────────
· Es lo DECLARADO por el agricultor para cobrar las ayudas de la PAC, no una
comprobación sobre el terreno de lo que hay plantado hoy.
· El color es el USO SIGPAC, que es la vocación permanente del recinto, no la
cosecha del año. Un TA puede llevar trigo, girasol, arroz o barbecho.
· El cultivo del año sí sale, pero sólo al pinchar, y sólo si hay declaración:
una parcela sin ayuda solicitada no tiene línea de cultivo declarado.
· Campaña 2025, del título de la propia capa. Dato anual, no es «ahora».
· De lejos son sondeos cada 10 km, no parcelas.
· El uso no baja al cultivo: arroz, trigo y girasol son todos TIERRAS ARABLES.
· Superficie: la que da el servicio para el recinto, no la que se cultiva.
═══════════════════════════════════════════════════════════════════════════════
Demo interna F0 · Mapas Vivos de España · fichero escrito el 5-9-2026
═══════════════════════════════════════════════════════════════════════════════