{
  "name": "Áreas postales estimadas de España",
  "description": "Áreas estimadas de códigos postales de España, obtenidas de direcciones abiertas de CartoCiudad y recintos administrativos mediante teselación de Voronoi, recorte y disolución por código postal. Se distribuyen dos GeoPackage en EPSG:25830: uno completo para análisis y otro simplificado para visualización, con las capas codigos_postales y pendientes. No son límites postales oficiales ni garantizan incluir todos los códigos de las fuentes; conservan recintos sin asignación. Las fechas de generación corresponden a los archivos, no a la actualización de las direcciones originales.",
  "sameAs": "https://doi.org/10.5281/zenodo.23698418",
  "identifier": {
    "@type": "PropertyValue",
    "propertyID": "DOI",
    "value": "10.5281/zenodo.23698418"
  },
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "isBasedOn": [
    "https://www.cartociudad.es/web/portal/",
    "https://doi.org/10.5281/zenodo.15345101"
  ],
  "measurementTechnique": "Teselación de Voronoi de direcciones de CartoCiudad, recorte a recintos administrativos y disolución por código postal.",
  "citation": [
    {
      "@type": "CreativeWork",
      "name": "Elaboración de un mapa de códigos postales de España con recursos libres",
      "author": {
        "@type": "Person",
        "name": "Francisco José Goerlich",
        "sameAs": "https://orcid.org/0000-0003-1626-525X"
      },
      "datePublished": "2022",
      "identifier": "https://doi.org/10.12842/WPIVIE_0322"
    },
    {
      "@type": "CreativeWork",
      "name": "Base de datos histórica de contornos municipales de España –LAU2boundaries4Spain–",
      "author": [
        {
          "@type": "Person",
          "name": "Francisco José Goerlich",
          "sameAs": "https://orcid.org/0000-0003-1626-525X"
        },
        {
          "@type": "Person",
          "name": "Pedro Pérez Vázquez",
          "sameAs": "https://orcid.org/0000-0001-9375-6330"
        }
      ],
      "datePublished": "2025-05-05",
      "identifier": "https://doi.org/10.5281/zenodo.15345101",
      "url": "https://doi.org/10.5281/zenodo.15345101",
      "license": "https://creativecommons.org/licenses/by/4.0/",
      "description": "Fuente de los recintos administrativos: capas Municipios2024, Condominios y Provincias de LAU2boundaries4Spain.gpkg, utilizadas para recortar las áreas postales estimadas."
    }
  ],
  "spatialCoverage": {
    "@type": "Place",
    "name": "España: cobertura estimada, con recintos pendientes de asignación",
    "geo": {
      "@type": "GeoShape",
      "box": "27.63 -18.16 43.8 4.32"
    }
  },
  "isAccessibleForFree": true,
  "keywords": [
    "códigos postales",
    "España",
    "GeoPackage",
    "SIG",
    "CartoCiudad",
    "áreas estimadas"
  ],
  "@context": {
    "@language": "es",
    "@vocab": "https://schema.org/",
    "arrayShape": "cr:arrayShape",
    "citeAs": "cr:citeAs",
    "column": "cr:column",
    "conformsTo": "dct:conformsTo",
    "containedIn": "cr:containedIn",
    "cr": "http://mlcommons.org/croissant/",
    "rai": "http://mlcommons.org/croissant/RAI/",
    "data": {
      "@id": "cr:data",
      "@type": "@json"
    },
    "dataType": {
      "@id": "cr:dataType",
      "@type": "@vocab"
    },
    "dct": "http://purl.org/dc/terms/",
    "description": "sc:description",
    "equivalentProperty": "cr:equivalentProperty",
    "examples": {
      "@id": "cr:examples",
      "@type": "@json"
    },
    "extract": "cr:extract",
    "field": "cr:field",
    "fileProperty": "cr:fileProperty",
    "fileObject": "cr:fileObject",
    "fileSet": "cr:fileSet",
    "format": "cr:format",
    "includes": "cr:includes",
    "isArray": "cr:isArray",
    "isLiveDataset": "cr:isLiveDataset",
    "jsonPath": "cr:jsonPath",
    "key": "cr:key",
    "md5": "cr:md5",
    "name": "sc:name",
    "parentField": "cr:parentField",
    "path": "cr:path",
    "recordSet": "cr:recordSet",
    "references": "cr:references",
    "regex": "cr:regex",
    "repeated": "cr:repeated",
    "replace": "cr:replace",
    "samplingRate": "cr:samplingRate",
    "sc": "https://schema.org/",
    "separator": "cr:separator",
    "source": "cr:source",
    "subField": "cr:subField",
    "transform": "cr:transform",
    "geocr": "http://mlcommons.org/croissant/geo/"
  },
  "@type": "Dataset",
  "@id": "https://dieghernan.github.io/codigospostales/#dataset",
  "url": "https://dieghernan.github.io/codigospostales/",
  "creator": {
    "@type": "Person",
    "name": "Diego Hernangómez",
    "url": "https://dieghernan.github.io/",
    "sameAs": "https://orcid.org/0000-0001-8457-4658"
  },
  "datePublished": "2026-10-27",
  "dateModified": "2026-10-27",
  "version": "1.0.0",
  "citeAs": "Hernangómez, D. (2026). Códigos postales de España (1.0.0) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.23698418",
  "conformsTo": [
    "http://mlcommons.org/croissant/1.1",
    "http://mlcommons.org/croissant/geo/1.0"
  ],
  "geocr:coordinateReferenceSystem": "EPSG:25830",
  "distribution": [
    {
      "@type": [
        "cr:FileObject",
        "sc:DataDownload"
      ],
      "@id": "full-gpkg",
      "name": "Consolidado completo",
      "encodingFormat": "application/geopackage+sqlite3",
      "contentUrl": "https://media.githubusercontent.com/media/dieghernan/codigospostales/main/data/codigos_postales.gpkg",
      "contentSize": "86499328 bytes",
      "sha256": "c13c8637bddda996ae3f155dcb66bde2333c7626bb65f0cece5c04abec51812b",
      "dateModified": "2026-10-27",
      "version": "1.0.0"
    },
    {
      "@type": [
        "cr:FileObject",
        "sc:DataDownload"
      ],
      "@id": "simplified-gpkg",
      "name": "Consolidado simplificado",
      "encodingFormat": "application/geopackage+sqlite3",
      "contentUrl": "https://media.githubusercontent.com/media/dieghernan/codigospostales/main/data/codigos_postales_simplificado.gpkg",
      "contentSize": "31076352 bytes",
      "sha256": "fd7fdc1c8575944508410251f3c90d362c61c09a9bf3425cfebff537d25567fc",
      "dateModified": "2026-10-27",
      "version": "1.0.0"
    },
    {
      "@type": [
        "cr:FileObject",
        "sc:DataDownload"
      ],
      "@id": "full-codigos_postales-json",
      "name": "Consolidado completo: codigos_postales (JSON/WKT, gzip)",
      "description": "JSON comprimido con gzip; geometrías WKT en EPSG:25830 sin modificar coordenadas.",
      "contentUrl": "https://dieghernan.github.io/codigospostales/assets/croissant/17639b4900aeae8f38d6461dca7c97f9b89a67661ef8d3560485073e952a4c3d/records.json.gz",
      "encodingFormat": "application/json",
      "contentSize": "69707347 bytes",
      "sha256": "17639b4900aeae8f38d6461dca7c97f9b89a67661ef8d3560485073e952a4c3d",
      "dateModified": "2026-10-27",
      "version": "1.0.0"
    },
    {
      "@type": [
        "cr:FileObject",
        "sc:DataDownload"
      ],
      "@id": "full-pendientes-json",
      "name": "Consolidado completo: pendientes (JSON/WKT, gzip)",
      "description": "JSON comprimido con gzip; geometrías WKT en EPSG:25830 sin modificar coordenadas.",
      "contentUrl": "https://dieghernan.github.io/codigospostales/assets/croissant/24d7ca0f98e1365904e9dc49f8d03fecd161efc1a285dc827a7662c5e8b3688e/records.json.gz",
      "encodingFormat": "application/json",
      "contentSize": "1440218 bytes",
      "sha256": "24d7ca0f98e1365904e9dc49f8d03fecd161efc1a285dc827a7662c5e8b3688e",
      "dateModified": "2026-10-27",
      "version": "1.0.0"
    },
    {
      "@type": [
        "cr:FileObject",
        "sc:DataDownload"
      ],
      "@id": "simplified-codigos_postales-json",
      "name": "Consolidado simplificado: codigos_postales (JSON/WKT, gzip)",
      "description": "JSON comprimido con gzip; geometrías WKT en EPSG:25830 sin modificar coordenadas.",
      "contentUrl": "https://dieghernan.github.io/codigospostales/assets/croissant/bf31b38c64d50c7d10147e327975568f8722767e2d5ccd461f7fe8085c9f2bfd/records.json.gz",
      "encodingFormat": "application/json",
      "contentSize": "18814712 bytes",
      "sha256": "bf31b38c64d50c7d10147e327975568f8722767e2d5ccd461f7fe8085c9f2bfd",
      "dateModified": "2026-10-27",
      "version": "1.0.0"
    },
    {
      "@type": [
        "cr:FileObject",
        "sc:DataDownload"
      ],
      "@id": "simplified-pendientes-json",
      "name": "Consolidado simplificado: pendientes (JSON/WKT, gzip)",
      "description": "JSON comprimido con gzip; geometrías WKT en EPSG:25830 sin modificar coordenadas.",
      "contentUrl": "https://dieghernan.github.io/codigospostales/assets/croissant/038ccc98e3360f332ed70a29e21df074843c0145713e154f28b5bae294da291a/records.json.gz",
      "encodingFormat": "application/json",
      "contentSize": "409134 bytes",
      "sha256": "038ccc98e3360f332ed70a29e21df074843c0145713e154f28b5bae294da291a",
      "dateModified": "2026-10-27",
      "version": "1.0.0"
    }
  ],
  "recordSet": [
    {
      "@type": "cr:RecordSet",
      "@id": "full-codigos_postales",
      "name": "full-codigos_postales",
      "description": "Consolidado completo: áreas con código postal estimado. Las fechas del descriptor corresponden a la publicación o generación del producto, no a la vigencia de las direcciones. Se mantienen todos los valores del GeoPackage; no se completan valores ausentes.",
      "key": {
        "@id": "full-codigos_postales/fid"
      },
      "field": [
        {
          "@type": "cr:Field",
          "@id": "full-codigos_postales/fid",
          "name": "fid",
          "description": "Identificador entero de la entidad en esta capa y producto del GeoPackage. Es único dentro del conjunto de registros, no un identificador postal ni una clave persistente entre versiones.",
          "dataType": "sc:Integer",
          "source": {
            "fileObject": {
              "@id": "full-codigos_postales-json"
            },
            "extract": {
              "jsonPath": "$[*].fid"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "full-codigos_postales/COD_POSTAL",
          "name": "COD_POSTAL",
          "description": "Código postal asignado al área estimada: texto de cinco caracteres, incluidos ceros iniciales. No identifica una delimitación postal oficial; las áreas sin asignación se publican en pendientes.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "full-codigos_postales-json"
            },
            "extract": {
              "jsonPath": "$[*].COD_POSTAL"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "full-codigos_postales/geometry_wkt",
          "name": "geometry_wkt",
          "description": "Geometría MultiPolygon en WKT; coordenadas este/norte en metros, EPSG:25830, sin reproyección ni redondeo. El WKT no incorpora el CRS. La versión simplificada conserva la geometría de su propio GeoPackage, sin simplificación adicional.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "full-codigos_postales-json"
            },
            "extract": {
              "jsonPath": "$[*].geometry_wkt"
            }
          }
        }
      ]
    },
    {
      "@type": "cr:RecordSet",
      "@id": "full-pendientes",
      "name": "full-pendientes",
      "description": "Consolidado completo: recintos sin código postal asignado; se omite COD_POSTAL, que es nulo en toda esta capa.",
      "key": {
        "@id": "full-pendientes/fid"
      },
      "field": [
        {
          "@type": "cr:Field",
          "@id": "full-pendientes/fid",
          "name": "fid",
          "description": "Identificador entero de la entidad en esta capa y producto del GeoPackage. Es único dentro del conjunto de registros, no un identificador postal ni una clave persistente entre versiones.",
          "dataType": "sc:Integer",
          "source": {
            "fileObject": {
              "@id": "full-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].fid"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "full-pendientes/CodProv",
          "name": "CodProv",
          "description": "Código provincial del recinto administrativo, conservado como texto con sus ceros iniciales; no es el prefijo del código postal.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "full-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].CodProv"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "full-pendientes/CodMuni",
          "name": "CodMuni",
          "description": "Código municipal del recinto administrativo, conservado como texto con sus ceros iniciales; no es un identificador del fragmento pendiente.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "full-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].CodMuni"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "full-pendientes/Municipio",
          "name": "Municipio",
          "description": "Nombre del municipio del recinto pendiente de asignación.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "full-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].Municipio"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "full-pendientes/AREA_M2",
          "name": "AREA_M2",
          "description": "Superficie del recinto pendiente en metros cuadrados (m²), tal como figura en AREA_M2 del GeoPackage. No se recalcula a partir de la geometría simplificada.",
          "dataType": "sc:Float",
          "source": {
            "fileObject": {
              "@id": "full-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].AREA_M2"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "full-pendientes/PROVINCIA",
          "name": "PROVINCIA",
          "description": "Código provincial presente en el campo PROVINCIA del GeoPackage.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "full-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].PROVINCIA"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "full-pendientes/geometry_wkt",
          "name": "geometry_wkt",
          "description": "Geometría MultiPolygon en WKT; coordenadas este/norte en metros, EPSG:25830, sin reproyección ni redondeo. El WKT no incorpora el CRS. La versión simplificada conserva la geometría de su propio GeoPackage, sin simplificación adicional.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "full-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].geometry_wkt"
            }
          }
        }
      ]
    },
    {
      "@type": "cr:RecordSet",
      "@id": "simplified-codigos_postales",
      "name": "simplified-codigos_postales",
      "description": "Consolidado simplificado: áreas con código postal estimado. Las fechas del descriptor corresponden a la publicación o generación del producto, no a la vigencia de las direcciones. Se mantienen todos los valores del GeoPackage; no se completan valores ausentes.",
      "key": {
        "@id": "simplified-codigos_postales/fid"
      },
      "field": [
        {
          "@type": "cr:Field",
          "@id": "simplified-codigos_postales/fid",
          "name": "fid",
          "description": "Identificador entero de la entidad en esta capa y producto del GeoPackage. Es único dentro del conjunto de registros, no un identificador postal ni una clave persistente entre versiones.",
          "dataType": "sc:Integer",
          "source": {
            "fileObject": {
              "@id": "simplified-codigos_postales-json"
            },
            "extract": {
              "jsonPath": "$[*].fid"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "simplified-codigos_postales/COD_POSTAL",
          "name": "COD_POSTAL",
          "description": "Código postal asignado al área estimada: texto de cinco caracteres, incluidos ceros iniciales. No identifica una delimitación postal oficial; las áreas sin asignación se publican en pendientes.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "simplified-codigos_postales-json"
            },
            "extract": {
              "jsonPath": "$[*].COD_POSTAL"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "simplified-codigos_postales/geometry_wkt",
          "name": "geometry_wkt",
          "description": "Geometría MultiPolygon en WKT; coordenadas este/norte en metros, EPSG:25830, sin reproyección ni redondeo. El WKT no incorpora el CRS. La versión simplificada conserva la geometría de su propio GeoPackage, sin simplificación adicional.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "simplified-codigos_postales-json"
            },
            "extract": {
              "jsonPath": "$[*].geometry_wkt"
            }
          }
        }
      ]
    },
    {
      "@type": "cr:RecordSet",
      "@id": "simplified-pendientes",
      "name": "simplified-pendientes",
      "description": "Consolidado simplificado: recintos sin código postal asignado; se omite COD_POSTAL, que es nulo en toda esta capa.",
      "key": {
        "@id": "simplified-pendientes/fid"
      },
      "field": [
        {
          "@type": "cr:Field",
          "@id": "simplified-pendientes/fid",
          "name": "fid",
          "description": "Identificador entero de la entidad en esta capa y producto del GeoPackage. Es único dentro del conjunto de registros, no un identificador postal ni una clave persistente entre versiones.",
          "dataType": "sc:Integer",
          "source": {
            "fileObject": {
              "@id": "simplified-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].fid"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "simplified-pendientes/CodProv",
          "name": "CodProv",
          "description": "Código provincial del recinto administrativo, conservado como texto con sus ceros iniciales; no es el prefijo del código postal.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "simplified-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].CodProv"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "simplified-pendientes/CodMuni",
          "name": "CodMuni",
          "description": "Código municipal del recinto administrativo, conservado como texto con sus ceros iniciales; no es un identificador del fragmento pendiente.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "simplified-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].CodMuni"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "simplified-pendientes/Municipio",
          "name": "Municipio",
          "description": "Nombre del municipio del recinto pendiente de asignación.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "simplified-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].Municipio"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "simplified-pendientes/AREA_M2",
          "name": "AREA_M2",
          "description": "Superficie del recinto pendiente en metros cuadrados (m²), tal como figura en AREA_M2 del GeoPackage. No se recalcula a partir de la geometría simplificada.",
          "dataType": "sc:Float",
          "source": {
            "fileObject": {
              "@id": "simplified-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].AREA_M2"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "simplified-pendientes/PROVINCIA",
          "name": "PROVINCIA",
          "description": "Código provincial presente en el campo PROVINCIA del GeoPackage.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "simplified-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].PROVINCIA"
            }
          }
        },
        {
          "@type": "cr:Field",
          "@id": "simplified-pendientes/geometry_wkt",
          "name": "geometry_wkt",
          "description": "Geometría MultiPolygon en WKT; coordenadas este/norte en metros, EPSG:25830, sin reproyección ni redondeo. El WKT no incorpora el CRS. La versión simplificada conserva la geometría de su propio GeoPackage, sin simplificación adicional.",
          "dataType": "sc:Text",
          "source": {
            "fileObject": {
              "@id": "simplified-pendientes-json"
            },
            "extract": {
              "jsonPath": "$[*].geometry_wkt"
            }
          }
        }
      ]
    }
  ]
}
