Files
fn_registry/dev/issues/completed/0052-footprint-aurgi-extraction.md

3.5 KiB

id, title, status, type, domain, scope, priority, depends, blocks, related, created, updated, tags
id title status type domain scope priority depends blocks related created updated tags
0052 Extracción masiva de footprint_aurgi → registry completado feature
multi-app alta
2026-05-04 2026-05-17

Cierre (2026-05-05)

Los 9 batches completos: 41 funciones + 4 tipos + app footprint_geo_stack + 4 pipelines. Tests: 240 pasan, 2 skip esperados (1 por osm2pgsql ausente, 1 por geo stack no relanzable sin .env con VALHALLA_DATA_DIR).

Bugs encontrados y arreglados al cerrar el issue:

  1. setup_geo_stack_docker_pipeline abortaba verify si docker compose up -d fallaba. Ahora corre verify aunque el up falle (caso típico: stack ya vivo, lanzado con su .env en otra parte).
  2. El check de PostGIS usaba el nombre footprint_postgis que no coincide con el container_name: better_maps_postgis del compose. Corregido + credenciales reales (-U geoserver -d gis).

Función primitiva añadida como subproducto: docker_container_running_py_infra con tests unitarios + integración (7 tests, todos pasan). Reutilizable para cualquier verificador de stack.

0052 — Extracción de funciones de sources/footprint_aurgi/

Extracción de 45 funciones + 4 tipos del proyecto interno footprint_aurgi (código propio Aurgi, sin LICENSE — source_license: internal-aurgi).

Capacidades cubiertas

  1. Geocodificación y routing (Valhalla)
  2. Generación de isócronas (sync + async batch)
  3. Stack Docker geo (PostGIS + Martin + Valhalla)
  4. Spatial primitivas (haversine, point-in-polygon, bbox, sindex)
  5. Visualización en mapa (basemap OSM, KDE, alpha-shape hulls)
  6. PDFs reporting (compresión ghostscript, table pages)
  7. Estadística para distribuciones reales (skew/kurt, trimmed/geo means)
  8. Fuzzy joining adaptativo
  9. Normalización España (CP→provincia)
  10. Data prep (CSV→Parquet via duckdb)

Batches

# Dominio Funciones Owner
1 geo (puras) + tipos haversine, point_in_polygon, bbox, extent, distance_bucket + LonLat, BBox, IsochroneRequest, Centro agent-A
2 core (string ES) slugify_ascii, normalize_for_join, cp_provincia_es, infer_provincia_from_cp agent-B
3 datascience (stats) trimmed_mean, geometric_mean, detect_distribution_type, best_central_tendency, summary_stats, kde_density_levels, alpha_shape_concave_hull agent-C
4 datascience (fuzzy) fuzzy_merge_adaptive, words_to_dataset, remove_words_from_column agent-D
5 geo (Valhalla client) valhalla_route, valhalla_matrix_1_to_n, valhalla_isochrone, valhalla_isochrones_async agent-E
6 geo (I/O + viz) load_geojson_polygons, load_boundary_gdf, add_basemap_osm, add_basemap_with_timeout, plot_kde_2d, plot_heatmap_log agent-F
7 infra (PDF + data) compress_pdf_ghostscript, render_table_page_pdfpages, add_header_logo, safe_read_csv_fallback, csv_to_parquet_duckdb, osm2pgsql_ingest agent-G
8 infra (docker stack) docker-compose footprint geo (PostGIS + Martin + Valhalla) — levantar y verificar agent-H
9 pipelines setup_geo_stack_docker, compute_centers_reachability, generate_isochrones_by_zone, count_points_per_zone agent-I (wave 2)

Fuente

  • Path: sources/footprint_aurgi/
  • Sub-proyectos: aurgi_mapas, better_maps, frontend_mapas, fuzzy_joins, ponderacion_isochronas, zonas_mapas_aurgi
  • Atribución uniforme: source_repo: "internal:footprint_aurgi", source_license: "internal-aurgi"

Resultado esperado

Reporte final por función: tests pasan / tests fallan / ⚠️ stub (requiere infra externa).