4 Navit is a open source (GPL) car navigation software for Linux systems
5 based on the GTK+ toolkit. Navit will display your position on a
6 2D map, or as a 3D visualisation (planned) from GPS sensor data. Navit
7 is also capable of providing precise route calculation, touch screen
8 functionality and supports Points of Interest (POI).
10 Unlike other navigation systems, Navit maps are dynamically generated
11 in real time from vector data.
18 The best navigation system is useless without maps. Those three maps
21 http://www.amazon.de/exec/obidos/ASIN/3829731280
22 (Grosser Reiseplaner, detailed map of europe)
23 http://www.amazon.de/exec/obidos/ASIN/3934073697
24 (Telefonbuch Deutschland Map+Route,
25 detailed map of germany, coarse map of europe)
26 http://www.amazon.de/exec/obidos/ASIN/3934073719
27 (Gelbe Seiten Map+Route, detailed map of germany,
31 - Gelbe Seiten and Telefonbuch Deutschland
32 unzip karten.zip from the map cd where the map should go (about 1.2 GB)
33 export MAP_DATA=<path to where the map has been unzipped>/d7.map
36 Compile unshield from http://synce.sourceforge.net/synce/unshield.php
37 run "unshield x <path to your dvd>/travel/data2.cab" where the map
38 should go (about 4.3 GB)
39 export MAP_DATA=<path to where the map has been unshielded>/DIRMAP_MAP/DIE.map
45 Navit read the current vehicle possition either directly from a file with
46 export GPSDATA=file:filename
48 export GPSDATA=gpsd://host[:port]
56 The library for Fibonacci heaps from
57 http://resnet.uoregon.edu/~gurney_j/jmpc/fib.html
58 The Fibonacci heaps are used in the routing algorithm.
61 The map layout functions.
62 As of now only the gtk_drawing_area is working.
63 We'll eventually move to cairo.
66 The user interface. So far there are a lot of files still in
70 Plugable modules. So far there is only one but we hope to
71 have more in the future.
73 Display POIs from www.geodownload.com
74 (depends on mdbtools.sf.net)
81 Manages the blocks of the map. Each block of the map is
82 seperated into two sub blocks of half the size.
85 Command line interface.
88 Displays the compass on the map.
91 Reads coordinates from the map.
94 Lists all available countries and provides funtions to access
95 the corresponding data.
98 Draws the vehicle possiton on the map.
101 Displays informations about visible objects.
104 The destination selection dialog.
107 Manages the display-list. The graphics driver is called from
108 here to display the map.
111 Management of map data files.
114 Generates the display-list.
117 Logs local changes to the map datas. its possible to modify
118 the map without changing the original map data. The modified
119 data are stored in log.txt and reread at program start.
125 Manages the differnt map sources. There's an overview map of
126 europe and a detailed map of each country.
129 Callback functions for the gui menu.
132 Generates directions to a destination ( not jet completed )
135 Utility functions for data_window and and popup menu
138 Assembles directions for the speech guide.
141 Loads available pugins.
144 Generate display-list for polygons. ( cities, lakes, ... )
150 A simple timer for performance analysis.
153 The routing algorithm. ( see below for a more detailed
157 Functions to search a place ( city, street, ... ) by name
163 Generates a display-list for streets
166 Reads street names from map datas.
169 Generates a display-list for city names.
173 Coordinate transformation. The map uses a Mercator projection.
176 Manages search trees.
179 Some utility functions for strings
182 Calculates the current vehicle possistion and direction.
183 Issues a cursor update if needed.
189 NavIt uses a dykstra algorithm for routing. The routing starts at the
190 destination by assigning a value to each point directly connected to
191 destination point. The value represents the estimated time needed to
194 Now the point with the lowest value is choosen using the Fibonacci
195 heap and a value is assigned to connected points whos are
196 unevaluated or whos current value ist greater than the new one.
198 The search is repeated until the origin is found.
200 Once the origin is reached, all that needs to be done is to follow the
201 points with the lowest values to the destination.
208 - use ciaro to draw the map
210 - get GPS data from gpsd
212 - complete speech output (speech.c, phrase.c)
214 - complete directions (navigation.c)
216 - investigate problem with fib-1.1