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?
Hi Siekmanski!
Do you have seen KetilO's BoatNav?
Hi HSE,
No, do you have a link?
https://github.com/svn2github/fbedit
There are 2 directories: BoatNav and BoatNavBluetooh.
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:
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.
Quote from: Siekmanski on May 18, 2019, 07:49:00 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