Builds, validates, seals and applies weighting matrices
('crosswalks') to carry statistical series across changing zoning
systems, such as the transition from the 112 Unidades de Planeamiento
Zonal (UPZ) to the 33 Unidades de Planeamiento Local (UPL) in Bogota
(Decree 555 of 2021). Implements the 'tejo-crosswalk/0.2' specification
shared with the 'Python' package 'tejo': 'sha256'-sealed artifacts,
non-negative weights that sum to one for each source unit, dasymetric
weighting with vector ancillary data via 'sf', rates that are never
interpolated directly, and missing values that propagate instead of
being silently imputed. Methods: Tobler (1979)
Armonizacion estadistica de series territoriales entre mallas geograficas que cambian — caso beta: la transicion UPZ → UPL de Bogota (Decreto 555 de 2021). Gemelo en R del paquete de Python 'tejo', con el mismo contrato verificado a 1e-12: crosswalks sellados (sha256 + invariantes), metodo dasimetrico con ancilar vectorial via 'sf', tasas que jamas se interpolan directamente y NA que se propaga en lugar de imputarse.
# desde GitHub (hoy)
remotes::install_github("adriGr52/tejoR")
# desde CRAN (tras aceptacion)
install.packages("tejoR")
library(tejoR)
cw <- construir_crosswalk(upz, upl, "COD_UPZ", "CODIGO_UPL",
method = "dasymetric",
ancillary = manzanas, ancillary_mass = "PERSONAS")
guardar_crosswalk(cw, "crosswalk_upz_upl_v1") # sella con sha256
serie_upl <- aplicar_crosswalk(cargar_crosswalk("crosswalk_upz_upl_v1"),
serie_upz,
extensivas = "nacimientos",
tasas = list(c("tasa", "nacimientos", "pob")))
Pesos no negativos que suman 1 por fuente; exactitud bajo anidamiento; integridad: un byte alterado en un crosswalk sellado rompe la carga; interoperabilidad byte-compatible con el gemelo Python.
citation("tejoR"). Licencia MIT.