Skip to content

urmilmodi/Open-Street-Maps-GIS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OSM GIS

This project utilizes open street maps (OSM) to build a geographic information system of different cities across the world. The GIS maps roads, buildings, geographical features, and any particular points of interest ie. restaurants, gas stations.

Note: The source code is not shared to maintain the academic integretity behind the course

Stack

Developed in C++ for front and backend. Utilized a wrapper EZGL library for graphics, built using the GTK library.

How It Works

Notable Algorithms

A*, Multi-destination A*, Multi-start A*

A* calculates the best route for driving (default route mode), Multi-Start/Destination A* is used for the uber pool feature. This feature allows the user to specify how far they are willing to walk to get picked up with a driver.

The uber pool algorithm utilizes multi-destination A* to find all intersections within a range the user specifies (red) which multi-start A* finds all possible routes from those intersections to the final destination (blue).

Joining the two routes together forms the best path with the walking portion highlighted in red and the driving route in blue.

Performance of A* algorithms

The algorithms have been tested against thousands of scenarios for legality, performance (time complexity) and the optimality (how well is the calculated path compared to the known best path). The results for the test cases are below.

R Trees

R Trees were utilized to spatially organize geographical data to improve responsiveness and reduce FPS lag. Utilizing R Trees enables specific filtering of data to only display and access points that belong on the user's visible screen.

The GIF on the left illusrates the GIS before the R Tree implementation and on the right is After

The improvements range from 100x to 10000x faster depending on how zoomed in the map is, with a higher zoom yielding a larger filter resulting more noticable improvement.

Additional Features

  1. Uber Pool Mode
  2. Dark Mode
  3. Building Toggles
  4. Full mouse control
  5. Scalable code to display any city
  6. Search menu for intersections

Uber Pool Mode

The user can specify how far/long they are willing to walk and the GIS will find the most optimal destination for pickup.

Dark Mode

Building Toggle

Cities

Any city can be loaded provided the osm.bin file is installed

Toronto, Canada

London, England

New York, USA

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published