Navit is a open source (GPL) car navigation system with routing engine.
It's modular design is capable of using vector maps of various formats
for routing and rendering of the displayed map. It's even possible to
use multiple maps at a time.
The GTK+ or SDL user interfaces are designed to work well with touch
screen displays. Points of Interest of various formats are displayed
on the map.
The current vehicle position is either read from gpsd or directly from
NMEA GPS sensors.
The routing engine not only calculates an optimal route to your
destination, but also generates directions and even speaks to you.
Navit currently speaks 49 languages :
- Brazilian Portuguese
- Chinese (Hong Kong)
- Chinese (Simplified)
- English (Australia)
- English (United Kingdom)
- Low German
- Norwegian Bokmal
- Norwegian Nynorsk
You can help translating via our web based translation page :
For help or more information, please refer to the wiki :
If you don't know where to start, we recommend you to read the
Interactive Help : http://wiki.navit-project.org/index.php/Interactive_help
The best navigation system is useless without maps! Those three maps
are known to work:
- OpenStreetMaps : display, routing and full support
(see http://wiki.navit-project.org/index.php/OpenStreetMaps )
(Download from from http://maps.navit-project.org )
- Grosser Reiseplaner and compliant maps : some support
(see http://wiki.navit-project.org/index.php/European_maps )
- Garmin maps : display, routing, search is being worked on
(see http://wiki.navit-project.org/index.php/Garmin_maps )
Navit can read the current vehicle position :
- directly from a file
- from gpsd (local or remote)
- from udp server (friends tracking) (experimental)
Navit uses a Dijkstra algorithm for routing. The routing starts at the
destination by assigning a value to each point directly connected to
destination point. The value represents the estimated time needed to
pass this distance.
Now the point with the lowest value is choosen using the Fibonacci
heap and a value is assigned to connected points whos are
unevaluated or whos current value ist greater than the new one.
The search is repeated until the origin is found.
Once the origin is reached, all that needs to be done is to follow the
points with the lowest values to the destination.