[en] In this Bachelor's Thesis, a route generation system has been developed, consisting of two main components: the first one generates a graph from geographical data, and the second one calculates routes based on that graph and a list of points provided by the user. The developed system solves one of the most common problems found in conventional mapping applications like Google Maps, where the lack of detailed information on trails and rural roads often an impediment to designing routes through these places. This system offers an effective solution to address this problem. The key is to allow users to use tracks that have been previously recorded, either by themselves or by other users, that travel through these less known locations, and that make it possible to create routes that cross these places. The first component is responsible for creating the graph from the tracks contained in a set of GPX files. This process involves identifying intersection points between tracks, where different routes intersect or connect. These intersection points are incorporated into the graph, allowing to smoothly transition from one track to another during route calculation. This enables the creation of routes that combine segments from various tracks, resulting in highly diverse itineraries. The second component is responsible for calculating routes based on the graph and a series of points provided by the user. Users can input just two points, marking the start and end of the route, or add more than two points, with the intermediates serving as waypoints along the route. Furthermore, to satisfy the individual preferences of users, they can opt for a route of minimum length or minimum accumulated gradient. This flexibility in route calculation ensures that the system adapts to the specific needs of each user, which contributes significantly to user satisfaction. Throughout the development of this work, great attention has been paid to the complexity of the algorithms used with the aim of ensuring efficient performance and a fast system response. In summary, this Bachelor's Thesis presents a route generation system that surpasses the limitations of conventional mapping applications, allowing users to create customized itineraries, primarily through trails and rural roads, using pre-recorded tracks.

[es] En este Trabajo de Fin de Grado, se ha desarrollado un sistema de generación de rutas que consta de dos componentes principales: el primero genera un grafo a partir de datos geográficos, y el segundo calcula rutas basadas en ese grafo y una lista de puntos proporcionados por el usuario. El sistema desarrollado resuelve uno de los problemas más comunes encontrados en aplicaciones de mapas convencionales, como Google Maps, donde la falta de información detallada sobre senderos y caminos rurales suele ser un impedimento para diseñar rutas a través de estos lugares. Este sistema ofrece una solución eficaz para abordar este problema. La clave está en permitir a los usuarios utilizar pistas que han sido registradas previamente, ya sea por ellos mismos o por otros usuarios, que recorren estas ubicaciones menos conocidas, y que posibilitan crear rutas que atraviesan estos lugares. El primer componente es responsable de la creación del grafo a partir de las pistas contenidas en un conjunto de archivos GPX. Este proceso implica la identificación de puntos de intersección entre las pistas, donde diferentes rutas se cruzan o se conectan. Estos puntos de intersección se incorporan al grafo, permitiendo que durante el cálculo de la ruta, se pueda transitar de una pista a otra de manera fluida. Esto posibilita la creación de rutas que combinan segmentos de varias pistas, lo que resulta en itinerarios tremendamente variados. El segundo se encarga de calcular rutas a partir del grafo y de una serie de puntos proporcionados por el usuario. Los usuarios pueden introducir solo dos puntos, marcando el inicio y el fin de la ruta o añadir más de dos puntos, siendo los intermedios puntos de paso de la ruta. Además, para satisfacer las preferencias individuales de los usuarios, estos pueden optar por una ruta de mínima distancia o de mínimo desnivel acumulado. Esta flexibilidad en el cálculo de rutas garantiza que el sistema se adapte a las necesidades específicas de cada usuario, lo que contribuye significativamente a su satisfacción. Durante el desarrollo de este trabajo se ha prestado gran atención a la complejidad de los algoritmos utilizados con el objetivo de garantizar un rendimiento eficiente y una respuesta rápida del sistema. En resumen, este Trabajo Fin de Grado presenta un sistema de generación de rutas que supera las limitaciones de las aplicaciones de mapas convencionales, permitiendo a los usuarios crear itinerarios personalizados a través, sobre todo, de senderos y caminos rurales mediante la utilización de pistas ya grabadas.