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.
Metadata
Release files for tejo 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tejo-0.3.0.tar.gz | 25.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tejo-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.8 kB
Release files / tejo-0.3.0.tar.gz
| Download URL | tejo-0.3.0.tar.gz |
|---|---|
| Size | 25.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
70aa83736cfe3228cb8ff073e96d06ee819e80c47cec4490adcaed294b60c9f7
|
|
BLAKE2b-256 checksum How to use checksums |
4e0b45dda16692e2ad4b7134203659e8240734160b361a509052fc193b2c0187
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.
Transparency logRelease files / tejo-0.3.0-py3-none-any.whl
| Download URL | tejo-0.3.0-py3-none-any.whl |
|---|---|
| Size | 22.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
de2d3be90489560ef385181bed29891b5f44d38d219b2eeb85ee9cead352bf54
|
|
BLAKE2b-256 checksum How to use checksums |
ff23a13a9b7ff0493a823bbb816b489363519e67f9668473183c4ef6c26951b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.
Transparency log