Documentación del Proyecto

Atlas de Bolsillo de Santiago - Mapa estilo Metro

Resumen
Plan
Datos
API
Contexto

¿Qué es Atlas de Bolsillo?

Atlas de Bolsillo es un mapa de Santiago estilo Metro con:

  • 📖 Libro interactivo digital - 33 comunas organizadas en 5 sectores
  • 🗺️ Mapa interactivo - Capas de metro, buses, vialidad, cerros, ríos
  • 📄 PDFs imprimibles - Formato libro 9×14 cm (pendiente)
  • 🔌 API pública - GeoJSON para integración

Links Principales

Estado Actual

Sprint 1: Páginas de detalle por comuna
Sprint 2: Cerros como áreas (polígonos)
Sprint 3: Buses en el mapa
Sprint 4: Tipografía moderna
Sprint 5: Mapa de sector destacado
Sprint 6: Tiles adaptativos (3922→544)
Sprint 7: Áreas para POIs
PDFs imprimibles 9×14 cm
API pública documentada

Plan de Desarrollo

Objetivo Principal

Crear un atlas de bolsillo de Santiago con estética inspirada en el Mapa del Metro de Santiago: limpio, geométrico, con colores distintivos por sector y capas de información claramente diferenciadas.

Sprints Completados

SprintDescripciónResultado
1Páginas de detalle por comunaInfo box con población, área, metro, POIs
2Cerros como áreas117 cerros como polígonos circulares
3Buses en el mapa413 rutas RED con toggle
4Tipografía modernaNoto Sans para mapas
5Mapa de sectorMini-mapa + comunas destacadas
6Tiles adaptativosReducción de 3,922 a 544 tiles

Sprints Pendientes

SprintDescripciónDetalle
7Áreas para POIsParques, plazas como polígonos verdes
8Libro con tilesIntegrar 544 tiles como páginas del libro (~200 pág)
9PDFs imprimiblesFormato 9×14 cm para imprimir
10API documentadaOpenAPI/Swagger completo

Próximos Pasos Sugeridos

  1. Integrar tiles como páginas del libro (actualmente 40 pág → ~200 pág)
  2. Hacer páginas de sector dobles (spread)
  3. Mejorar "Ampliar" para ir a página específica del libro
  4. Extraer áreas de parques/plazas de OSM
  5. Generar PDFs imprimibles 9×14 cm

Datos Disponibles

DatasetCantidadFuenteEndpoint
Regiones17INE/BCN/api/v1/regiones
Comunas totales346INE/BCN/api/v1/comunas
Comunas Atlas33Selección/api/v1/atlas/comunas
Sectores5Definido/api/v1/atlas/sectores
Líneas Metro7Metro Stgo/api/v1/transporte/metro/lineas
Estaciones Metro136Metro Stgo/api/v1/transporte/metro
Rutas buses413GTFS/DTPM/api/v1/transporte/buses
Vías16,984OSM/api/v1/naturaleza/vialidad
Ríos1,997OSM/api/v1/naturaleza/rios
Cerros117OSM/api/v1/naturaleza/cerros
Tiles544Generado/api/v1/tiles/

Sectores de Santiago

SectorColorComunas
Centro#8b7355Santiago, Est. Central, Q. Normal, Independencia, Recoleta
Oriente#0066B3Providencia, Ñuñoa, Las Condes, Vitacura, Lo Barnechea, La Reina, Peñalolén, Macul
Sur#009E60La Florida, San Miguel, San Joaquín, La Cisterna, La Granja, San Ramón, El Bosque, Lo Espejo, PAC, La Pintana, Puente Alto
Norte#E42313Conchalí, Huechuraba, Renca, Quilicura, Cerro Navia, Lo Prado
Poniente#7B2B82Maipú, Cerrillos, Pudahuel

Endpoints de la API

Base URL: https://maps.illanes00.cl/api/v1

Atlas

GET /atlas/comunas → Lista 33 comunas del atlas
GET /atlas/comunas/{id}/detalle → Detalle completo (población, metro, POIs)
GET /atlas/sectores → 5 sectores con sus comunas
GET /atlas/estructura → Estructura del libro

Transporte

GET /transporte/metro → GeoJSON con líneas y estaciones
GET /transporte/metro/lineas → Lista de líneas con colores
GET /transporte/buses → GeoJSON con 413 rutas RED

Naturaleza

GET /naturaleza/vialidad → 16,984 vías
GET /naturaleza/vialidad?importance=major → Solo autopistas y avenidas
GET /naturaleza/rios → Ríos y cursos de agua
GET /naturaleza/cerros/areas → Cerros como polígonos

Tiles

GET /tiles/ → Lista de 544 tiles adaptativos
GET /tiles/geojson → Tiles como GeoJSON para mapa índice
GET /tiles/buscar?q=providencia → Buscar páginas por texto

Ver /sitemap para lista completa.

Contexto Técnico

Stack

Backend: FastAPI + Pydantic + uvicorn (puerto 8140)
Frontend: Preact + MapLibre GL + Vite + TypeScript
ETL: overpy (OSM) + GTFS
Infra: systemd + Caddy + Cloudflare
Directorio: /srv/projects/illanes00-maps/

Archivos Clave

app/routers/pages.py → Páginas HTML del libro
app/routers/atlas.py → API de comunas/sectores
app/routers/naturaleza.py → API de vialidad, cerros, ríos
app/services/tiling.py → Generador de tiles adaptativos
frontend/src/components/Map.tsx → Mapa interactivo
data/comunas_info.json → Info demográfica de 33 comunas

Comandos Útiles

Tests: pytest tests/ -v
Health: curl http://localhost:8140/healthz
Restart: sudo systemctl restart illanes00-maps
Logs: journalctl -u illanes00-maps -f

Pendientes / Ideas

  • Integrar tiles como páginas del libro (~544 páginas)
  • Botón "Ampliar" → ir a página del libro, no al mapa
  • Páginas de sector dobles (spread) con comunas marcadas
  • Extraer áreas de parques/plazas de OSM
  • Generar PDFs imprimibles 9×14 cm
  • Ciclovías como capa adicional