The MASM Forum

Miscellaneous => Miscellaneous Projects => Topic started by: Siekmanski on May 18, 2019, 12:26:02 AM

Title: Navigation software
Post by: Siekmanski on May 18, 2019, 12:26:02 AM
I'm working on a disability-vehicle and like to have a navigation system for it.
Like to try and program it myself and when looking for some free map data, I found a site called OpenStreetMaps.

https://www.openstreetmap.org
https://en.wikipedia.org/wiki/OpenStreetMap
https://wiki.openstreetmap.org/wiki/Develop

It looks very promising, it is open source, the data is updated every day and free to download.

Map data can be downloaded here: https://download.geofabrik.de

You can extract the 2d road data and a lot more from the map data, such as POI's, street names, addresses, traffic stuff, you name it.
My idea is to extract the data I need and draw the graphics in realtime to the on board computer screen.

I'm a total noob in this field but, would like to give it a try.
Have to do a lot more research, such as algorithms to find the way from A to B etc.

Have some of you experience in creating navigation software?
Maybe we can share some useful information?

Title: Re: Navigation software
Post by: HSE on May 18, 2019, 02:44:21 AM
Hi Siekmanski!

Do you have seen KetilO's BoatNav?
Title: Re: Navigation software
Post by: Siekmanski on May 18, 2019, 03:34:02 AM
Hi HSE,

No, do you have a link?
Title: Re: Navigation software
Post by: HSE on May 18, 2019, 04:32:28 AM
  https://github.com/svn2github/fbedit

There are 2 directories: BoatNav and BoatNavBluetooh. 
Title: Re: Navigation software
Post by: LiaoMi on May 18, 2019, 06:32:04 AM
Hi Siekmanski,

navigation is an important section of geoinformatics

https://en.wikipedia.org/wiki/Geoinformatics (https://en.wikipedia.org/wiki/Geoinformatics)
https://en.wikipedia.org/wiki/Geomatics (https://en.wikipedia.org/wiki/Geomatics)
https://en.wikipedia.org/wiki/Geographic_information_system (https://en.wikipedia.org/wiki/Geographic_information_system)

very interesting section for database algorithms,

The Ramer–Douglas–Peucker algorithm, also known as the Douglas–Peucker algorithm and iterative end-point fit algorithm, is an algorithm that decimates a curve composed of line segments to a similar curve with fewer points. The algorithm is used for the processing of vector graphics and cartographic generalization.
https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm (https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm)

https://de.wikipedia.org/wiki/Sweep_(Informatik) (https://de.wikipedia.org/wiki/Sweep_(Informatik))
https://en.wikipedia.org/wiki/Adjacency_matrix (https://en.wikipedia.org/wiki/Adjacency_matrix)
https://en.wikipedia.org/wiki/Topological_skeleton (https://en.wikipedia.org/wiki/Topological_skeleton)
https://en.wikipedia.org/wiki/K-means_clustering (https://en.wikipedia.org/wiki/K-means_clustering)

the simplest thing I did was a database with coordinates, the coordinates indicated the country’s railway stations, by clicking on the map, after the click, a specially formed link opens a webpage, showing the train station  :biggrin:
Title: Re: Navigation software
Post by: Siekmanski on May 18, 2019, 07:49:00 AM
Thank you HSE and LiaoMi.

The Ramer–Douglas–Peucker algorithm, interesting stuff.

Bumped into the "Dijkstra algorithm" to calculate the shortest path between 2 nodes.

 https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm

To start I'll try to understand how the structure of the OpenStreetMap database works.
First step, see if I can get the GPS coordinates of the streets in my neighbourhood out of the OpenStreetMap database and translate them to geometric 2D vectors.

The OpenStreetMap database appeals to me a lot, because it has a lot of extra information in it.
My plan is to save all the data I need on disk and use it offline to draw the street maps.
Title: Re: Navigation software
Post by: daydreamer on May 19, 2019, 12:10:32 AM
The OpenStreetMap database appeals to me a lot, because it has a lot of extra information in it.
My plan is to save all the data I need on disk and use it offline to draw the street maps.
good luck, I only took my neighbourhood map and made into a GIF and ran it thru my raycaster/floormapper
building had same color,maybe easy to trace a path if streets are same color