Armonización estadística de series territoriales ante cambios de malla geográfica (beta: UPZ→UPL, Bogotá D.C.)
Project description
tejo
Armonización estadística de series territoriales ante cambios de malla geográfica. Beta: transición UPZ → UPL de Bogotá D.C. (POT, Decreto 555 de 2021). Motor genérico fuente → destino, aplicable a cualquier cambio de límites (marcos censales DANE, DIVIPOL, figuras de otros POT).
Qué garantiza v0.0.1 (verificado en tests/)
- Pycnofilaxis: los ponderadores w_ij son no negativos y suman 1 por fuente (conservación de masa), con registro explícito de cobertura y slivers.
- Exactitud bajo anidamiento: si el destino es unión exacta de fuentes, la interpolación extensiva es exacta para cualquier método (test contra verdad analítica).
- Dasimétrico exacto para variables proporcionales al ancilar, y dominante sobre el baseline de área en variables correlacionadas con él.
- Tasas jamás se interpolan directamente: la API exige (numerador, denominador), devuelve ambos componentes y da NaN (no infinito) ante denominadores cero.
- Intensivas como media ponderada por masa declarada (sin promedios silenciosos).
- Sin magia: nada de reproyección silenciosa, imputación silenciosa ni fallbacks ocultos; toda decisión queda en metadatos y advertencias.
Uso mínimo
import geopandas as gpd
from tejo import build_crosswalk, apply_crosswalk
upz = gpd.read_file("upz.shp").to_crs("EPSG:9377")
upl = gpd.read_file("upl.shp").to_crs("EPSG:9377")
mz = gpd.read_file("manzanas.shp").to_crs("EPSG:9377") # con población CNPV
cw = build_crosswalk(upz, upl, "COD_UPZ", "COD_UPL",
method="dasymetric", ancillary=mz, ancillary_mass="PERSONAS")
serie_upl = apply_crosswalk(
cw, serie_upz,
extensive=["nacimientos", "poblacion"],
rates=[("tasa_fecundidad", "nacimientos", "poblacion")],
)
Lo que v0 NO hace todavía (roadmap)
- v0.2: incertidumbre — bootstrap sobre microdatos y calibración empírica de intervalos desde el banco de validación; benchmark de tasas e intensivas.
- v0.3: gemelo en R (misma especificación de crosswalk, formato GeoParquet + metadatos).
- v0.4: modelo bayesiano (Poisson/binomial con efectos espaciales) para posterior completa por unidad destino.
- v0.5: Python Toolbox (.pyt) para ArcGIS Pro y publicación como web tool;
reaggregate()para microdatos georreferenciados (la vía preferida cuando existen).
Paso 0
scripts/paso0_diagnostico.py cuantifica el no-anidamiento UPZ→UPL con datos oficiales
(IDECA/SDP + DANE). Ver MISION_CLAUDE_CODE.md para la corrida reproducible con registro
de procedencia.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tejo-0.3.0.tar.gz.
File metadata
- Download URL: tejo-0.3.0.tar.gz
- Upload date:
- Size: 25.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70aa83736cfe3228cb8ff073e96d06ee819e80c47cec4490adcaed294b60c9f7
|
|
| MD5 |
80fd7d9e30492a470cc3d5598aebea0c
|
|
| BLAKE2b-256 |
4e0b45dda16692e2ad4b7134203659e8240734160b361a509052fc193b2c0187
|
Provenance
The following attestation bundles were made for tejo-0.3.0.tar.gz:
Publisher:
publish.yml on adriGr52/tejo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tejo-0.3.0.tar.gz -
Subject digest:
70aa83736cfe3228cb8ff073e96d06ee819e80c47cec4490adcaed294b60c9f7 - Sigstore transparency entry: 2134008996
- Sigstore integration time:
-
Permalink:
adriGr52/tejo@02cf412d70df24df1b8c948cd4b774eebc5c4de1 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/adriGr52
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@02cf412d70df24df1b8c948cd4b774eebc5c4de1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tejo-0.3.0-py3-none-any.whl.
File metadata
- Download URL: tejo-0.3.0-py3-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de2d3be90489560ef385181bed29891b5f44d38d219b2eeb85ee9cead352bf54
|
|
| MD5 |
ff2928c20fec95ff451f2f7887e43ac2
|
|
| BLAKE2b-256 |
ff23a13a9b7ff0493a823bbb816b489363519e67f9668473183c4ef6c26951b5
|
Provenance
The following attestation bundles were made for tejo-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on adriGr52/tejo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tejo-0.3.0-py3-none-any.whl -
Subject digest:
de2d3be90489560ef385181bed29891b5f44d38d219b2eeb85ee9cead352bf54 - Sigstore transparency entry: 2134009050
- Sigstore integration time:
-
Permalink:
adriGr52/tejo@02cf412d70df24df1b8c948cd4b774eebc5c4de1 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/adriGr52
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@02cf412d70df24df1b8c948cd4b774eebc5c4de1 -
Trigger Event:
release
-
Statement type: