═══════════════════════════════════════════════════════════════════════════════ 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 ═══════════════════════════════════════════════════════════════════════════════