summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorhorwitz <horwitz@ffa7fe5e-494d-0410-b361-a75ebd5db220>2005-12-04 10:31:41 +0000
committerhorwitz <horwitz@ffa7fe5e-494d-0410-b361-a75ebd5db220>2005-12-04 10:31:41 +0000
commit8ab3cc1606ab3c416894ff4b5b886bd84e3c79eb (patch)
tree56c43992849ddf0b9ec6d1d1524971eaee5b6a44 /README
parent132a38489d5ea15f19bfa00190d16118b32ed4f3 (diff)
downloadnavit-svn-8ab3cc1606ab3c416894ff4b5b886bd84e3c79eb.tar.gz
Add some documentatiion
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@14 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'README')
-rw-r--r--README199
1 files changed, 199 insertions, 0 deletions
diff --git a/README b/README
index e69de29b..3eb8f6e7 100644
--- a/README
+++ b/README
@@ -0,0 +1,199 @@
+NavIT
+=====
+
+Navit is a open source (GPL) car navigation software for Linux systems
+based on the GTK+ toolkit. Navit will display your position on a
+2D map, or as a 3D visualisation (planned) from GPS sensor data. Navit
+is also capable of providing precise route calculation, touch screen
+functionality and supports Points of Interest (POI).
+
+Unlike other navigation systems, Navit maps are dynamically generated
+in real time from vector data.
+
+
+
+Maps:
+=====
+
+The best navigation system is useless without maps. Those two maps
+are known to work:
+
+ http://www.amazon.de/exec/obidos/ASIN/3829731280
+ (grosser Reiseplaner)
+ http://www.amazon.de/exec/obidos/ASIN/3934073697
+ (Telefonbuch Deutschland Map+Route)
+
+Once you got one of those you need to let NavIt know about it by
+setting the MAP_DATA environment variable to the directory of the
+map files:
+
+ export MAP_DATA=/home/navit/reiseplaner/travel/DE.map
+
+
+Subdirectories:
+===============
+
+fib-1.0
+ The library for Fibonacci heaps from
+ http://resnet.uoregon.edu/~gurney_j/jmpc/fib.html
+ The Fibonacci heaps are used in the routing algorithm.
+
+graphics
+ The map layout functions.
+ As of now only the gtk_drawing_area is working.
+ We'll eventually move to cairo.
+
+gui
+ The user interface. So far there are a lot of files still in
+ the main directory.
+
+plugins
+ Plugable modules. So far there is only one but we hope to
+ have more in the future.
+ - poi_geodownloads
+ Display POIs from www.geodownload.com
+ (depends on mdbtools.sf.net)
+
+
+Files in src:
+=============
+
+block.c:
+ Manages the blocks of the map. Each block of the map is
+ seperated into two sub blocks of half the size.
+
+command.c
+ Command line interface.
+
+compass.c
+ Displays the compass on the map.
+
+coord.c
+ Reads coordinates from the map.
+
+country.c
+ Lists all available countries and provides funtions to access
+ the corresponding data.
+
+cursor.c
+ Draws the vehicle possiton on the map.
+
+data_window.c
+ Displays informations about visible objects.
+
+destination.c
+ The destination selection dialog.
+
+display.c
+ Manages the display-list. The graphics driver is called from
+ here to display the map.
+
+file.c
+ Management of map data files.
+
+graphics.c
+ Generates the display-list.
+
+log.c
+ Logs local changes to the map datas. its possible to modify
+ the map without changing the original map data. The modified
+ data are stored in log.txt and reread at program start.
+
+main.c
+ Guess what?
+
+map_data.c
+ Manages the differnt map sources. There's an overview map of
+ europe and a detailed map of each country.
+
+menu.c
+ Callback functions for the gui menu.
+
+navigation.c
+ Generates directions to a destination ( not jet completed )
+
+param.c
+ Utility functions for data_window and and popup menu
+
+phrase.c
+ Assembles directions for the speech guide.
+
+plugin.c
+ Loads available pugins.
+
+poly.c
+ Generate display-list for polygons. ( cities, lakes, ... )
+
+popup.c
+ Popup-menu dialog
+
+profile.c
+ A simple timer for performance analysis.
+
+route.c
+ The routing algorithm. ( see below for a more detailed
+ description )
+
+search.c
+ Functions to search a place ( city, street, ... ) by name
+
+speech.c
+ Interface to speechd
+
+street.c
+ Generates a display-list for streets
+
+street_name.c
+ Reads street names from map datas.
+
+town.c
+ Generates a display-list for city names.
+
+transform.c
+
+ Coordinate transformation. The map uses a Mercator projection.
+
+tree.c
+ Manages search trees.
+
+util.c
+ Some utility functions for strings
+
+vehicle.c
+ Calculates the current vehicle possistion and direction.
+ Issues a cursor update if needed.
+
+
+Routing algorithm
+=================
+
+NavIt uses a dykstra 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.
+
+
+
+Plans:
+======
+
+- use ciaro to draw the map
+
+- get GPS data from gpsd
+
+- complete speech output (speech.c, phrase.c)
+
+- complete directions (navigation.c)
+
+- investigate problem with fib-1.1
+
+