Skip to main content

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/)

  1. 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.
  2. 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).
  3. Dasimétrico exacto para variables proporcionales al ancilar, y dominante sobre el baseline de área en variables correlacionadas con él.
  4. Tasas jamás se interpolan directamente: la API exige (numerador, denominador), devuelve ambos componentes y da NaN (no infinito) ante denominadores cero.
  5. Intensivas como media ponderada por masa declarada (sin promedios silenciosos).
  6. 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)

Source distribution for tejo 0.3.0
File Size Uploaded
tejo-0.3.0.tar.gz 25.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tejo 0.3.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page