Geometrías geoespaciales. (Provincias, departamentos, fracciones)
Límites geoespaciales de provincias, departamentos y fracciones para la Argentina. Estos insumos son la base de:
- unión con
hogares_geoypersonas_geo - generación de GeoJSON por nivel para visualización y agregaciones territoriales
- cómputo de métricas por recorte espacial
Fuentes y rutas esperadas
- Provincias:
./../../geoespacial-censo-IGN/IGN_shp/ign_provincia - Departamentos:
./../../geoespacial-censo-IGN/censos_shp_CONICET_dissolved/dptos_2010.shp - Fracciones:
./../../geoespacial-censo-IGN/censos_shp_CONICET_dissolved/fracs_2010.shp
Nota: mantener estas rutas como variables de configuración del build si difieren entre ambientes.
Variables clave y tipos
PROVint64. Código de provincia.DPTOint64. Código de departamento.IDFRACstring. Identificador compuesto de fracción.geometrygeometry. Multipolygon o polygon según capa.area_km2float64. Área de la división en km².
Atributos adicionales presentes en ciertas capas (p. ej. provincias) como OBJECTID, Entidad, Objeto, FNA, GNA, NAM, SAG, FDC, IN1, SHAPE_STAr, SHAPE_STLe no son parte del contrato básico. Documentar solo si se usan.
Claves de unión con el Atlas
- Con
hogares_geoypersonas_geo:- nivel provincia:
PROV - nivel departamento:
PROV + DPTO - nivel fracción:
IDFRAC(definición exacta abajo)
- nivel provincia:
- Política temporal: geo es anual. Al unir con hechos trimestrales (
Q) usar adaptadorYEAR = year(Q).
Especificación de claves compuestas
IDFRAC: construir a partir de códigos normalizados de provincia, departamento y fracción.- Reglas de padding y longitudes fijas: completar con la especificación de normalización de códigos (ver “Normalización de códigos y casos especiales” en CoreRef).
- Validar unicidad de
IDFRACpor año.
Política CRS y reproyección
- CRS canónico para publicación de GeoJSON: definir aquí (recomendado WGS84 EPSG:4326 para web).
- Capa fuente puede venir en CRS proyectado. Reproyectar a CRS canónico antes de:
- cálculo de
area_km2(hacerlo en CRS proyectado métrico, no geográfico) - serialización a GeoJSON
- cálculo de
- Declarar CRS en metadatos de exportación. Fallar el build si falta.
Contrato de exportación
Exportables canónicos por nivel y año:
exports:
- path: /exports/geo_provincias_2010.geojson
sha256: "<sha256-prov-2010>"
crs: "EPSG:<definir>"
features: "<n>"
- path: /exports/geo_departamentos_2010.geojson
sha256: "<sha256-dpto-2010>"
crs: "EPSG:<definir>"
features: "<n>"
- path: /exports/geo_fracciones_2010.geojson
sha256: "<sha256-frac-2010>"
crs: "EPSG:<definir>"
features: "<n>"
Reglas:
- codificación UTF-8
- precisión de coordenadas configurable (p. ej. 6 decimales)
- validación de geometrías antes de exportar (repair mínimo si es necesario)
Pipeline mínimo sugerido
- Leer shapefiles de IGN/CONICET.
- Verificar CRS y reprojectar a CRS canónico.
- Normalizar códigos (
PROV,DPTO) y construirIDFRAC. - Calcular
area_km2en CRS proyectado métrico. - QAs topológicos. Ver sección QA.
- Serializar a GeoJSON con propiedades mínimas y metadatos de origen.
QA de integridad y topología
Fallar el build si:
-
Geometrías inválidas sin reparar: usar
buffer(0)omake_validy reintentar. -
Self-intersections o rings mal orientados que impidan el dissolve.
-
Huecos extremadamente pequeños que generen slivers tras disolver.
-
Duplicados de clave:
uniq(PROV)en provinciasuniq(PROV, DPTO)en departamentosuniq(IDFRAC)en fracciones
-
area_km2no positiva o fuera de rango razonable por nivel. -
CRS ausente o inconsistente con el declarado en
exports.
Checks recomendados:
- Diferencias de bounding box respecto a expectativas por nivel.
- Intersecciones entre polígonos del mismo nivel (no deberían solaparse).
- Suma de
area_km2por nivel frente a benchmark nacional.
Uso en Atlas
-
Unión con
hogares_geopara enriquecer métricas:- anual:
hogares_geo.YEARdebe coincidir con el año de la capa - trimestral: usar
YEAR = year(Q)en joins con hechos
- anual:
-
Generación de GeoJSON con métricas: agregar columnas de indicadores y exportar a
downloads/oexports/según política de publicación.
Ejemplo de join y export (pseudocódigo)
# geopandas
g = geopandas.read_file("/exports/geo_departamentos_2010.geojson")
h = pandas.read_parquet("/exports/hogares_geo_2010.parquet")
agg = (pobreza_hogares
.assign(YEAR=lambda d: d["Q"].dt.year)
.merge(h[["HOGAR_REF_ID","YEAR","PROV","DPTO"]],
on=["HOGAR_REF_ID","YEAR"], how="left")
.groupby(["PROV","DPTO","YEAR"], as_index=False)
.agg(tasa_pobreza=("Pobreza","mean"), n=("HOGAR_REF_ID","size")))
out = g.merge(agg, on=["PROV","DPTO"], how="left")
out.to_file("/exports/mapa_dpto_pobreza_2010.geojson", driver="GeoJSON")
Errores comunes y cómo evitarlos
- Usar CRS geográfico para áreas. Calcular
area_km2en CRS proyectado métrico. - Mezclar granularidad anual con trimestral sin adaptador temporal.
- No fijar padding y normalización de códigos y luego fallar joins por strings incompatibles.
- Exportar GeoJSON con demasiada precisión o sin simplificación controlada, lo que infla el tamaño y afecta rendimiento.
Licencia y citación
- Indicar organismo proveedor, año de referencia y términos de uso (IGN, CONICET).
- Recomendar citar la fuente y el hash del archivo exportado.
Pendientes
- Completar CRS canónico exacto.
- Documentar padding y formato de
IDFRACcon ejemplos reproducibles. - Añadir checksums reales en
exports.