feat: Initial commit - Train tracking system
Some checks failed
Auto Tag on Merge to Main / auto-tag (push) Successful in 27s
CI - Lint and Build / lint-backend (push) Failing after 30s
CI - Lint and Build / lint-frontend (push) Failing after 2s
CI - Lint and Build / build-frontend (push) Has been skipped
CI - Lint and Build / docker-build-test (push) Has been skipped
Some checks failed
Auto Tag on Merge to Main / auto-tag (push) Successful in 27s
CI - Lint and Build / lint-backend (push) Failing after 30s
CI - Lint and Build / lint-frontend (push) Failing after 2s
CI - Lint and Build / build-frontend (push) Has been skipped
CI - Lint and Build / docker-build-test (push) Has been skipped
Complete real-time train tracking system for Spanish railways (Renfe/Cercanías): - Backend API (Node.js/Express) with GTFS-RT polling workers - Frontend dashboard (React/Vite) with Leaflet maps - Real-time updates via Socket.io WebSocket - PostgreSQL/PostGIS database with Flyway migrations - Redis caching layer - Docker Compose configuration for development and production - Gitea CI/CD workflows (lint, auto-tag, release) - Production deployment with nginx + Let's Encrypt SSL 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
395
FUENTES_DATOS.md
Normal file
395
FUENTES_DATOS.md
Normal file
@@ -0,0 +1,395 @@
|
||||
# Fuentes de Datos Abiertas para el Sistema de Tracking de Trenes
|
||||
|
||||
## Resumen
|
||||
|
||||
Este documento recopila todas las fuentes de datos abiertas identificadas para alimentar el sistema de tracking de trenes en España, incluyendo estaciones, rutas, horarios e información en tiempo real.
|
||||
|
||||
---
|
||||
|
||||
## 1. Renfe Data (Oficial)
|
||||
|
||||
### Portal Principal
|
||||
- **URL**: https://data.renfe.com/
|
||||
- **Tipo**: Portal de datos abiertos oficial de Renfe
|
||||
- **Actualización**: Continua
|
||||
- **Formatos**: GTFS, JSON, CSV, XML
|
||||
|
||||
### Datasets Disponibles
|
||||
|
||||
#### Estaciones
|
||||
- **Endpoint**: https://data.renfe.com/dataset
|
||||
- **Descripción**: Información de todas las estaciones donde opera Renfe
|
||||
- **Incluye**:
|
||||
- Estaciones con servicio Atendo (movilidad reducida)
|
||||
- Coordenadas GPS
|
||||
- Servicios disponibles
|
||||
- Accesibilidad
|
||||
|
||||
#### Horarios (GTFS Static)
|
||||
- **Cobertura**: 366 rutas, 769 paradas
|
||||
- **Vigencia**: 18 marzo 2025 - 15 diciembre 2025
|
||||
- **Servicios**:
|
||||
- Alta Velocidad (AVE)
|
||||
- Larga Distancia
|
||||
- Media Distancia
|
||||
- Cercanías y Rodalies
|
||||
|
||||
**URLs de descarga**:
|
||||
- Renfe general: `https://data.renfe.com/dataset?res_format=GTFS/`
|
||||
- Via datos.gob.es: https://datos.gob.es/es/catalogo
|
||||
|
||||
#### Tiempo Real (GTFS-RT)
|
||||
|
||||
**1. Posiciones de vehículos (Vehicle Positions)**
|
||||
- **URL**: https://gtfsrt.renfe.com/vehicle_positions.pb
|
||||
- **Formato**: Protocol Buffer (GTFS-RT)
|
||||
- **Servicios**: Cercanías
|
||||
- **Frecuencia**: Cada 30 segundos
|
||||
- **Información**:
|
||||
- Posición GPS (lat/lon)
|
||||
- Estado (parado, en movimiento)
|
||||
- Identificadores de tren y viaje
|
||||
- Velocidad y dirección
|
||||
|
||||
**2. Actualizaciones de viaje (Trip Updates)**
|
||||
- **Cercanías**: https://gtfsrt.renfe.com/trip_updates_cercanias.pb
|
||||
- Cancelaciones
|
||||
- Cambios de horario
|
||||
- Retrasos
|
||||
- Frecuencia: 30 segundos
|
||||
|
||||
- **Alta Velocidad / Larga Distancia / Media Distancia**:
|
||||
- URL similar (verificar en portal)
|
||||
- Frecuencia: 30 segundos
|
||||
|
||||
**3. Alertas (Service Alerts)**
|
||||
- **URL**: https://gtfsrt.renfe.com/alerts.pb
|
||||
- **Información**:
|
||||
- Incidencias
|
||||
- Servicios de autobús sustitutorio
|
||||
- Problemas de vías
|
||||
- Problemas de accesibilidad
|
||||
|
||||
### Integración con otros portales
|
||||
- **datos.gob.es**: Federado con el portal nacional de datos abiertos
|
||||
- **European Data Portal**: Accesible desde el portal europeo
|
||||
- **Total datasets**: 63 conjuntos de datos en 6 formatos diferentes
|
||||
|
||||
---
|
||||
|
||||
## 2. ADIF (Infraestructura Ferroviaria)
|
||||
|
||||
### Portal de Datos Espaciales
|
||||
- **URL**: https://ideadif.adif.es/
|
||||
- **Nombre**: IDEADIF (Infraestructura de Datos Espaciales de ADIF)
|
||||
- **Descripción**: Infraestructura de datos geoespaciales de ADIF
|
||||
|
||||
### Servicios WMS (Web Map Service)
|
||||
- **Especificación**: OGC WMS 1.1.1 y 1.3.0
|
||||
- **Versión actual**: Julio 2024
|
||||
- **URL**: https://inspire-geoportal.ec.europa.eu/srv/api/records/191574be-5eca-4315-b4b4-756dc50ac553
|
||||
- **Normativa**: INSPIRE (Transport Networks Annex I)
|
||||
|
||||
### PISERVI - Sistema de Información de Servicios
|
||||
- **URL**: https://www.adif.es/en/sobre-adif/declaracion-red
|
||||
- **Descripción**: Acceso a características técnicas de instalaciones
|
||||
- **Información disponible**:
|
||||
- Terminales de mercancías
|
||||
- Estaciones de pasajeros
|
||||
- Instalaciones de mantenimiento
|
||||
- Apartaderos particulares
|
||||
- Cambiadores de ancho de vía
|
||||
|
||||
### Datos Disponibles
|
||||
- **Kilómetros de vía**: 11,689 km (ADIF) + 3,926 km (ADIF-Alta Velocidad)
|
||||
- **Estaciones**: 1,451 (ADIF) + 46 (ADIF-Alta Velocidad)
|
||||
- **Mapa interactivo**: Red Ferroviaria de Interés General (RFIG)
|
||||
- **Búsquedas por**:
|
||||
- Ubicación geográfica
|
||||
- Tipo de instalación
|
||||
- Tipo de servicio
|
||||
|
||||
### Declaración de Red
|
||||
- **URL**: https://www.adif.es/en/sobre-adif/declaracion-red
|
||||
- **Contenido**:
|
||||
- Características de la infraestructura
|
||||
- Condiciones de acceso
|
||||
- Servicios ofrecidos
|
||||
- Cánones aplicables
|
||||
|
||||
---
|
||||
|
||||
## 3. Datos.gob.es (Portal Nacional)
|
||||
|
||||
### Portal General
|
||||
- **URL**: https://datos.gob.es/
|
||||
- **Búsqueda transporte**: https://datos.gob.es/en/nti-reference/transporte
|
||||
|
||||
### Datasets Relevantes
|
||||
|
||||
#### Estadística sobre Transporte Ferroviario
|
||||
- **URL**: https://datos.gob.es/en/catalogo/ea0010587-estadistica-sobre-transporte-ferroviario
|
||||
- **Organismo**: Ministerio de Transportes
|
||||
- **Periodicidad**: Mensual/Anual
|
||||
|
||||
#### Archivos GTFS
|
||||
- **URL**: https://datos.gob.es/en/catalogo/l03380010-archivos-gtfs
|
||||
- **Múltiples operadores**: Renfe, FGC, Metro, etc.
|
||||
|
||||
#### FGC - GTFS Realtime
|
||||
- **URL**: https://datos.gob.es/en/catalogo/a09002970-fgc-actualitzaciones-de-viaje-gtfs_realtime
|
||||
- **Organismo**: Ferrocarrils de la Generalitat de Catalunya
|
||||
|
||||
---
|
||||
|
||||
## 4. Portales Regionales
|
||||
|
||||
### CRTM (Consorcio Regional de Transportes de Madrid)
|
||||
- **Plataforma**: ArcGIS Open Data
|
||||
- **URL**: https://learning.esri.es/caso-de-exito/plataforma-datos-abiertos-del-crtm/
|
||||
- **Formato base**: GTFS
|
||||
- **Servicios**:
|
||||
- Metro de Madrid
|
||||
- Tren Ligero
|
||||
- Cercanías Madrid
|
||||
- Autobuses EMT
|
||||
|
||||
### CTB (Consorcio de Transportes de Bizkaia)
|
||||
- **URL**: https://data.ctb.eus/en/dataset
|
||||
- **Filtros**: GTFS + Tren + Renfe
|
||||
- **Servicios**: Cercanías Bilbao, EuskoTren, etc.
|
||||
|
||||
---
|
||||
|
||||
## 5. Agregadores Internacionales
|
||||
|
||||
### Mobility Database (Recomendado)
|
||||
- **URL**: https://mobilitydatabase.org/
|
||||
- **Descripción**: Base de datos global de feeds GTFS y GTFS-RT
|
||||
- **Cobertura España**: Sí
|
||||
- **Búsqueda por**:
|
||||
- Ubicación
|
||||
- Estado (activo/inactivo)
|
||||
- Características
|
||||
|
||||
### OpenMobilityData / TransitFeeds (Deprecado)
|
||||
- **URL**: https://transitfeeds.com/p/renfe
|
||||
- **Estado**: Deprecado en diciembre 2025
|
||||
- **Migración**: Mobility Database
|
||||
- **Útil para**: Datos históricos hasta 2025
|
||||
|
||||
### GTFS.pro
|
||||
- **URL**: https://gtfs.pro/en/spain
|
||||
- **Descripción**: Agregador comercial de datos GTFS
|
||||
- **Servicios España**:
|
||||
- Madrid (metro, cercanías, autobuses)
|
||||
- Barcelona (metro, ferrocarril)
|
||||
- Otras ciudades
|
||||
|
||||
### Transport Data France (para AVE Francia-España)
|
||||
- **URL**: https://transport.data.gouv.fr/datasets/horaires-ave-espagne-france
|
||||
- **Descripción**: Horarios AVE red europea (España-Francia)
|
||||
- **Formato**: GTFS
|
||||
|
||||
---
|
||||
|
||||
## 6. Repositorios GitHub
|
||||
|
||||
### API Renfe (No oficial)
|
||||
- **URL**: https://github.com/ferranpm/renfe
|
||||
- **Autor**: ferranpm
|
||||
- **Descripción**: API no oficial para consultar información de Renfe
|
||||
- **Estado**: Verificar actualización
|
||||
|
||||
### GTFS Data Pipeline
|
||||
- **URL**: https://github.com/CxAalto/gtfs_data_pipeline/blob/master/gtfs-sources.yaml
|
||||
- **Descripción**: Pipeline de datos con fuentes GTFS documentadas
|
||||
- **Útil para**: Referencias a múltiples fuentes europeas
|
||||
|
||||
---
|
||||
|
||||
## 7. Fuentes Adicionales de Interés
|
||||
|
||||
### European Data Portal
|
||||
- **URL**: https://data.europa.eu/
|
||||
- **Búsqueda**: "transporte ferroviario España"
|
||||
- **Contenido**: Datos agregados de toda Europa
|
||||
|
||||
### INSPIRE Geoportal
|
||||
- **URL**: https://inspire-geoportal.ec.europa.eu/
|
||||
- **Normativa**: Directiva INSPIRE
|
||||
- **Servicios**: WMS/WFS de redes de transporte
|
||||
|
||||
### Observatorio del Ferrocarril en España
|
||||
- **URL**: https://cdn.transportes.gob.es/portal-web-transportes/ferroviario/observatorio/
|
||||
- **Formato**: PDF (Informes anuales)
|
||||
- **Contenido**: Estadísticas, análisis de red, evolución
|
||||
|
||||
---
|
||||
|
||||
## Recomendaciones de Implementación
|
||||
|
||||
### Prioridad 1: Datos Esenciales (MVP)
|
||||
|
||||
1. **GTFS-RT Posiciones** (ya implementado)
|
||||
- URL: https://gtfsrt.renfe.com/vehicle_positions.pb
|
||||
- Polling: 30 segundos
|
||||
- Almacenar en PostgreSQL + Redis
|
||||
|
||||
2. **GTFS Static de Renfe**
|
||||
- Descargar de: https://data.renfe.com/dataset
|
||||
- Frecuencia: Semanal (verificar actualizaciones)
|
||||
- Tablas: routes, stops, trips, stop_times
|
||||
|
||||
3. **Estaciones ADIF/Renfe**
|
||||
- Fuente: data.renfe.com o IDEADIF
|
||||
- Frecuencia: Mensual
|
||||
- Enriquecer tabla stations
|
||||
|
||||
### Prioridad 2: Datos en Tiempo Real Adicionales
|
||||
|
||||
4. **Trip Updates**
|
||||
- URL: https://gtfsrt.renfe.com/trip_updates_cercanias.pb
|
||||
- Frecuencia: 30 segundos
|
||||
- Tabla: alerts (retrasos, cancelaciones)
|
||||
|
||||
5. **Service Alerts**
|
||||
- URL: https://gtfsrt.renfe.com/alerts.pb
|
||||
- Frecuencia: 30 segundos
|
||||
- Tabla: alerts (incidencias)
|
||||
|
||||
### Prioridad 3: Enriquecimiento de Datos
|
||||
|
||||
6. **Infraestructura ADIF**
|
||||
- Fuente: IDEADIF WMS
|
||||
- Uso: Visualización de vías, topología
|
||||
- Formato: GeoJSON/WMS overlay
|
||||
|
||||
7. **Datos Regionales**
|
||||
- CRTM (Madrid)
|
||||
- CTB (Bilbao)
|
||||
- Otros consorcios
|
||||
- Integrar según demanda
|
||||
|
||||
### Prioridad 4: Análisis y Estadísticas
|
||||
|
||||
8. **Estadísticas Ministerio**
|
||||
- Fuente: datos.gob.es
|
||||
- Frecuencia: Mensual/Anual
|
||||
- Uso: Dashboards, métricas
|
||||
|
||||
9. **Observatorio Ferroviario**
|
||||
- Fuente: Informes PDF
|
||||
- Uso: Contexto, KPIs benchmark
|
||||
|
||||
---
|
||||
|
||||
## Plan de Actualización Automática
|
||||
|
||||
### Script de Sincronización (Sugerido)
|
||||
|
||||
```javascript
|
||||
// Pseudocódigo para worker de sincronización
|
||||
|
||||
const syncJobs = [
|
||||
{
|
||||
name: 'GTFS Static Renfe',
|
||||
url: 'https://data.renfe.com/api/gtfs/latest',
|
||||
frequency: '0 0 * * 0', // Domingo a medianoche
|
||||
parser: parseGTFSZip,
|
||||
tables: ['routes', 'stops', 'trips', 'stop_times']
|
||||
},
|
||||
{
|
||||
name: 'Estaciones Renfe',
|
||||
url: 'https://data.renfe.com/api/stations',
|
||||
frequency: '0 0 1 * *', // Primero de mes
|
||||
parser: parseStations,
|
||||
tables: ['stations']
|
||||
},
|
||||
{
|
||||
name: 'GTFS-RT Vehicle Positions',
|
||||
url: 'https://gtfsrt.renfe.com/vehicle_positions.pb',
|
||||
frequency: '*/30 * * * * *', // Cada 30 segundos
|
||||
parser: parseGTFSRT,
|
||||
tables: ['train_positions']
|
||||
}
|
||||
];
|
||||
```
|
||||
|
||||
### Monitorización de Cambios
|
||||
|
||||
- **Checksums**: Calcular hash de archivos descargados
|
||||
- **Versiones**: Detectar cambios en GTFS feeds
|
||||
- **Logs**: Registrar actualizaciones exitosas/fallidas
|
||||
- **Alertas**: Notificar si falla alguna sincronización
|
||||
|
||||
---
|
||||
|
||||
## APIs Recomendadas para Integración
|
||||
|
||||
### A Implementar en el Backend
|
||||
|
||||
```javascript
|
||||
// Endpoints sugeridos
|
||||
|
||||
// 1. Actualizar catálogo GTFS Static
|
||||
POST /api/admin/sync/gtfs-static
|
||||
|
||||
// 2. Actualizar estaciones
|
||||
POST /api/admin/sync/stations
|
||||
|
||||
// 3. Estado de sincronización
|
||||
GET /api/admin/sync/status
|
||||
|
||||
// 4. Información de fuentes
|
||||
GET /api/data-sources
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notas Legales y de Uso
|
||||
|
||||
### Licencias
|
||||
- **Renfe Data**: Datos abiertos, verificar condiciones de uso en portal
|
||||
- **ADIF**: Datos públicos bajo normativa INSPIRE
|
||||
- **Datos.gob.es**: Datos abiertos del sector público español
|
||||
|
||||
### Atribución
|
||||
Incluir en la aplicación:
|
||||
```
|
||||
Datos de trenes en tiempo real proporcionados por Renfe
|
||||
Información de infraestructura proporcionada por ADIF
|
||||
Fuente: data.renfe.com | ideadif.adif.es
|
||||
```
|
||||
|
||||
### Rate Limiting
|
||||
- GTFS-RT: Respetar frecuencia de 30 segundos mínimo
|
||||
- GTFS Static: No hacer polling agresivo, descargar una vez al día
|
||||
- WMS: Cachear tiles, no hacer requests excesivos
|
||||
|
||||
---
|
||||
|
||||
## Próximos Pasos
|
||||
|
||||
1. ✅ Implementar polling GTFS-RT Vehicle Positions (YA HECHO)
|
||||
2. ⬜ Descargar e importar GTFS Static inicial
|
||||
3. ⬜ Crear worker de sincronización semanal GTFS Static
|
||||
4. ⬜ Implementar Trip Updates y Alerts
|
||||
5. ⬜ Integrar datos de estaciones desde Renfe Data
|
||||
6. ⬜ (Opcional) Overlay WMS de ADIF para visualización de vías
|
||||
7. ⬜ (Futuro) Integración con datos regionales según demanda
|
||||
|
||||
---
|
||||
|
||||
## Referencias
|
||||
|
||||
- **GTFS Specification**: https://gtfs.org/
|
||||
- **GTFS Realtime**: https://gtfs.org/documentation/realtime/
|
||||
- **Renfe Data**: https://data.renfe.com/
|
||||
- **ADIF IDEADIF**: https://ideadif.adif.es/
|
||||
- **Datos.gob.es**: https://datos.gob.es/
|
||||
- **Mobility Database**: https://mobilitydatabase.org/
|
||||
|
||||
---
|
||||
|
||||
*Documento actualizado: 27 noviembre 2025*
|
||||
Reference in New Issue
Block a user