Back-End Navigation

Back-End Navigation

Description:

The project was divided into two parts; the graph class and use of graph class with map data. The graph class was created of a map (key, value) within a map: map>. The graph class was developed to represent a directed graph with the adjacency list representation. The second part of the project consisted of applying the graph class with data from openstreetmap.org to create a back-end navigation system based on Dijkstra's algorithm.

Program Includes:
  • Load .osm map files into xmldoc
  • Finding the shortest path from given start & end destinations by Dijkstra's algorithm
  • Displaying building information (abbreviation, name, latitude/longitude)
  • Displaying the path to destination by nodes & total distances covered (in miles)
Data Structure: Vector, Graph, Map, Priority Queue, Stack, Set
Leveraged Knowledge:
  • Use of open-source data from openstreetmaps.org
  • Idea of the use of graphs in real-world scenarios
  • Dijkstra's algorithm for path finding
  • Use of multiple data structures within one program
  • Creation of abstraction to separate code (with pass by reference)
  • Sorting function for priority queue

Download Code Here