Skip to content

Repository files navigation

Proyecto GPS (Simulaci贸n de autobuses)

Este proyecto corresponde a la asignatura de Digitalizaci贸n. Su objetivo es simular un sistema de seguimiento de autobuses mediante datos GPS generados y gestionados desde Java.


驴Qu茅 hace el programa actualmente?

  • Simula el recorrido de 3 autobuses durante una hora, generando un dato por minuto.
  • Cada autob煤s tiene 9 paradas simuladas (velocidad = 0), basadas en rutas reales de TUSSAM.
  • Guarda los datos en un archivo CSV (gps_data.csv).
  • Lee el archivo CSV y permite realizar varias operaciones sobre los datos:
    • Ver los 煤ltimos movimientos de cada autob煤s.
    • Consultar una l铆nea concreta.
    • Filtrar registros entre dos horas determinadas.
    • Calcular la velocidad media por autob煤s.
    • Contar cu谩ntas veces ha parado cada bus.
    • Exportar la 煤ltima posici贸n conocida de cada autob煤s a archivos JSON.
  • Gesti贸n de errores y validaciones para evitar fallos por entradas inv谩lidas.
  • Men煤 interactivo diferenciado para usuarios y t茅cnicos, con controles para generar, leer, analizar y modificar datos.

Resumen del ciclo de vida del dato

Para un detalle m谩s completo sobre las fases del ciclo del dato implementadas, se puede consultar el archivo Resumen_Ciclo_Dato.md. En 茅l se explica paso a paso c贸mo se ha trabajado en cada fase:

  • Captura y generaci贸n de datos (ficticios y rutas reales).
  • Almacenamiento en formato CSV.
  • Procesamiento y filtrado con validaciones.
  • An谩lisis b谩sico de velocidad y paradas.
  • Distribuci贸n mediante exportaci贸n a JSON.
  • Visualizaci贸n en consola con men煤s.
  • Depuraci贸n y limpieza del c贸digo.

馃搨 Archivos principales y su funci贸n

Modelo

  • modelo/GPSData.java
    Representa cada registro GPS de un autob煤s (busId, timestamp, lat/lon, velocidad).
  • modelo/Parada.java
    Clase que define una parada (nombre y coordenadas).
  • modelo/ParadasInfo.java
    Gestiona el listado de paradas reales por l铆nea y las muestra por pantalla.
  • modelo/RutaTussam.java
    Genera las rutas reales simuladas de las l铆neas BUS22, BUS5 y BUS27.

Utilidades

  • util/GeneradorDatosBus.java
    Genera datos GPS aleatorios para tres autobuses ficticios (BUS01鈥揃US03).
  • util/ExportadorCSV.java
    Exporta una lista de GPSData a un archivo CSV.
  • util/LectorCSV.java
    Carga de disco un CSV de GPSData y lo convierte en objetos Java.
  • util/ExportadorJSON.java
    Crea archivos JSON con la 煤ltima posici贸n de cada autob煤s.
  • util/Depurar.java
    M茅todos de validaci贸n y lectura segura de entradas de usuario (men煤s, n煤meros, fechas, coordenadas).
  • util/Archivador.java
    Mueve los CSV antiguos a la carpeta archivados/.

Servicio

  • servicio/ProcesadorDatos.java
    Funciones de filtrado y modificaci贸n de listas de GPSData (por bus, rango horario, simulaci贸n de cambio de ruta).
  • servicio/AnalizadorDatos.java
    M茅todos de an谩lisis (velocidad media, conteo de paradas).

Men煤 e inicio

  • menu/MenuGPS.java
    Implementa los men煤s de usuario y t茅cnico, orquesta el flujo de ejecuci贸n.
  • Main.java
    Clase principal que arranca la aplicaci贸n.

Estado actual y posibles mejoras

  • El proyecto cubre las fases b谩sicas del ciclo de vida del dato con un programa funcional y probado.
  • Para un detalle completo de cada fase, consulta Resumen_Ciclo_Dato.md.
  • Se ha logrado una experiencia de usuario coherente y clara mediante men煤s y validaciones.

Como mejoras futuras se contemplan:

  • A帽adir una interfaz gr谩fica sencilla para visualizaci贸n.
  • Implementar conexi贸n a base de datos real (MySQL u otra).
  • Automatizar procesos para mejorar usabilidad.
  • A帽adir funcionalidades adicionales de an谩lisis o simulaci贸n.

Nota: Los archivos de salida (gps_data.csv, bus*_status.json, etc.) se generan en el directorio de trabajo.


Informaci贸n de contacto

Desarrollador: David Guti茅rrez
GitHub: DavidLazaro08


Proyecto desarrollado en Java con IntelliJ IDEA para la asignatura de Digitalizaci贸n.

About

馃殞 Proyecto Digitalizaci贸n: Simulaci贸n en Java de seguimiento GPS de autobuses con generaci贸n, an谩lisis y exportaci贸n de datos CSV/JSON.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages