# Accessibility Map

> Patrones para construir mapas de accesibilidad urbana (estilo Close City): travel time maps con POIs, isocronas, transporte público y bicis compartidas. Cobertura de datos, fuentes, y arquitectura de proyecto.

- Skill: `ntizar/accessibility-map` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add ntizar/accessibility-map`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ntizar/accessibility-map/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: ntizar (https://skillmd.com/u/ntizar)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ntizar/accessibility-map

---


# Mapas de Accesibilidad Urbana — Patrón Close City

## Cuándo cargar esta skill

Cuando el usuario pida: mapas de accesibilidad, travel time maps, "hasta dónde llego en X minutos", análisis de accesibilidad urbana, copiar un proyecto tipo Close City, mapas de servicios públicos, accesibilidad peatonal.

## Concepto

Herramienta web interactiva que muestra **qué zonas de una ciudad son accesibles en X minutos** desde cualquier punto, para diferentes tipos de destinos (supermercados, farmacias, centros de salud, parques, escuelas, transporte público, bicis compartidas).

**Referencia:** [Close City](https://close.city/) — travel time map de Seattle por Henry Spatial Analysis.

## Arquitectura del proyecto

```
project/
├── index.html          # HTML único (frontend)
├── css/
│   └── style.css       # Estilos (header oscuro + sidebar blanca + CARTO light)
├── js/
│   ├── config.js       # Ciudades, modos, destinos, colores, tiempos
│   ├── map.js          # Leaflet Canvas + renderizado isocronas + POIs
│   ├── routing.js      # Motor de isocronas (ORS / OSRM / simulado)
│   ├── pois.js         # Carga de POIs desde Overpass API
│   ├── transit.js      # GTFS/NAP para TP y GBFS para bicis
│   ├── ui.js           # Sidebar, controles, leyenda, export
│   └── main.js         # Orquestador
├── server.mjs          # Proxy Nominatim + proxy ORS
└── SPEC.md             # (ver flujo abajo)
```

## Flujo de desarrollo

1. **Definir scope:** ciudades, modos (caminar/bici/coche/TP), categorías de destino
2. **Mapear fuentes de datos:** qué POIs vienen de Overpass, qué de NAP/GTFS, qué de GBFS
3. **Implementar routing:** isocronas con ORS (o fallback simulado)
4. **Implementar POIs:** Overpass API para categorías genéricas
5. **Implementar transit:** GTFS/NAP para TP, GBFS para bicis
6. **UI:** sidebar con destinos, selector de modo, leyenda de colores, export PDF
7. **Deploy:** GitHub Pages (100% estático) o NaN.builders

## Factibilidad por nivel

### 🟢 MVP (2-3 meses)
- 3-4 ciudades (Madrid, Barcelona, Valencia)
- Modos: caminar + bici (ORS free tier)
- Destinos: 6-8 categorías desde Overpass
- 100% estático, GitHub Pages

### 🟡 V2 con TP real
- 20 ciudades
- + Transporte público con horarios (GTFS/NAP)
- + Bicis compartidas (GBFS)
- Requiere servidor proxy para NAP

### 🔴 V3 Close City completo
- Accesibilidad peatonal real (aceras, rampas, paso de cebra)
- Datos de calidad de vía (CNIG o similar)
- Cobertura nacional
- Requiere datos oficiales, no solo OSM

## Fuentes de datos

### Overpass API (gratuito, sin auth)
Para POIs genéricos: supermercados, farmacias, parques, escuelas, bibliotecas, etc.

Ver `references/data-sources.md` para catálogo completo de tags OSM por categoría.

### NAP (transportes.gob.es)
Para transporte público con horarios reales en España. Ver skill `routing-isochrones` para detalles.

### GBFS
Para bicis compartidas. 68 sistemas en España. Ver skill `routing-isochrones` para catálogo.

### CNIG / Catastro
Para datos de calidad de vía, accesibilidad, infraestructura urbana. No siempre disponibles vía API pública.

## Pitfalls

1. **OSM tiene cobertura desigual en España** — Madrid y Barcelona están bien etiquetados, pueblos pequeños no. Siempre verificar con Overpass antes de comprometer una categoría.
2. **Close City usa POIs curados manualmente** — Overpass es automático pero incompleto. Para producción real, hay que complementar con datos oficiales.
3. **ORS free tier = 2000 req/día** — suficiente para demo/MVP, no para uso intensivo. Para producción, proxy server-side o key de pago.
4. **NAP solo España** — para otros países necesitas GTFS directo de cada operador.
5. **Nominatim rate limit 1 req/s** — debounce todos los inputs de búsqueda.
6. **No confundir distancia con accesibilidad real** — un mapa de isocronas muestra "hasta dónde llego", no "qué tan fácil es llegar". Barreras arquitectónicas, calidad de aceras, semáforos no se capturan en routing estándar.
7. **SPEC antes de codear** — si el usuario pide un proyecto nuevo, activar skill `project-spec-workflow`. Este skill complementa pero no reemplaza el flujo de spec.

## Referencias

- `references/data-sources.md` — Catálogo de tags OSM por categoría de POI, con queries Overpass de ejemplo
- `references/close-city-analysis.md` — Análisis técnico de Close City: stack, features, limitaciones
