Skip to main content

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

  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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tejo-0.3.0.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tejo-0.3.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

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

Hashes for tejo-0.3.0.tar.gz
Algorithm Hash digest
SHA256 70aa83736cfe3228cb8ff073e96d06ee819e80c47cec4490adcaed294b60c9f7
MD5 80fd7d9e30492a470cc3d5598aebea0c
BLAKE2b-256 4e0b45dda16692e2ad4b7134203659e8240734160b361a509052fc193b2c0187

See more details on using hashes here.

Provenance

The following attestation bundles were made for tejo-0.3.0.tar.gz:

Publisher: publish.yml on adriGr52/tejo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for tejo-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de2d3be90489560ef385181bed29891b5f44d38d219b2eeb85ee9cead352bf54
MD5 ff2928c20fec95ff451f2f7887e43ac2
BLAKE2b-256 ff23a13a9b7ff0493a823bbb816b489363519e67f9668473183c4ef6c26951b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for tejo-0.3.0-py3-none-any.whl:

Publisher: publish.yml on adriGr52/tejo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page