Files
trenes/FUENTES_DATOS.md
Millaguie 34c0cb50c7
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
feat: Initial commit - Train tracking system
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>
2025-11-28 00:21:15 +01:00

11 KiB

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:

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)

3. Alertas (Service Alerts)

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)

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


3. Datos.gob.es (Portal Nacional)

Portal General

Datasets Relevantes

Estadística sobre Transporte Ferroviario

Archivos GTFS

FGC - GTFS Realtime


4. Portales Regionales

CRTM (Consorcio Regional de Transportes de Madrid)

CTB (Consorcio de Transportes de Bizkaia)


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)

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)


6. Repositorios GitHub

API Renfe (No oficial)

GTFS Data Pipeline


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

Observatorio del Ferrocarril en España


Recomendaciones de Implementación

Prioridad 1: Datos Esenciales (MVP)

  1. GTFS-RT Posiciones (ya implementado)

  2. GTFS Static de Renfe

  3. Estaciones ADIF/Renfe

    • Fuente: data.renfe.com o IDEADIF
    • Frecuencia: Mensual
    • Enriquecer tabla stations

Prioridad 2: Datos en Tiempo Real Adicionales

  1. Trip Updates

  2. Service Alerts

Prioridad 3: Enriquecimiento de Datos

  1. Infraestructura ADIF

    • Fuente: IDEADIF WMS
    • Uso: Visualización de vías, topología
    • Formato: GeoJSON/WMS overlay
  2. Datos Regionales

    • CRTM (Madrid)
    • CTB (Bilbao)
    • Otros consorcios
    • Integrar según demanda

Prioridad 4: Análisis y Estadísticas

  1. Estadísticas Ministerio

    • Fuente: datos.gob.es
    • Frecuencia: Mensual/Anual
    • Uso: Dashboards, métricas
  2. Observatorio Ferroviario

    • Fuente: Informes PDF
    • Uso: Contexto, KPIs benchmark

Plan de Actualización Automática

Script de Sincronización (Sugerido)

// 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

// 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


Documento actualizado: 27 noviembre 2025