Ubuntu 12.04 „Precise Pangolin“
Ubuntu 10.04 „Lucid Lynx“
Navit
ist eine Navigationssoftware, die mit unterschiedlichen Kartenformaten umgehen kann. Auch Karten aus dem OpenStreetMap Projekt können verwendet werden, müssen jedoch vor der Verwendung aufbereitet werden. Navit kommuniziert nicht direkt mit einem GPS-Empfänger, sondern über den Hintergrunddienst gpsd. Navit kann (je nach Kartenmaterial) die Routenplanung selbst übernehmen und ist Touchscreen-tauglich. Zusätzlich zum Straßennetz können so genannte Points of Interest (POI) wie z.B. Denkmäler, Museen, Parks, etc. aus den Vektordaten angezeigt werden. Wie es sich für ein vollwertiges Navigationssystem gehört, können die Fahranweisungen als Sprachausgabe über Speech Dispatcher ausgegeben werden.
Für die Kommunikation mit dem GPS-Empfänger muss
der Dienst gpsd installiert
und ein unterstützter GPS Empfänger vorhanden sein
Da im folgenden das Programm aus dem Quelltext kompiliert wird, sind folgende Pakete zu installieren [6]:
build-essential
pkg-config
automake
libglib2.0-dev
libtiff-dev
libtool
libxmu-dev
libfribidi-dev
gettext
zlib1g-dev
cvs
gpsd
gpsd-clients
libgps-dev
libdbus-glib-1-dev
libgtk2.0-dev
freeglut3-dev
glutg3-dev
libcegui-mk2-dev
libdevil-dev
libglc-dev
libpcre3-dev
libmng-dev
libfreeimage-dev
mit apturl
Paketliste zum Kopieren:
sudo apt-get install build-essential pkg-config automake libglib2.0-dev libtiff-dev libtool libxmu-dev libfribidi-dev gettext zlib1g-dev cvs gpsd gpsd-clients libgps-dev libdbus-glib-1-dev libgtk2.0-dev freeglut3-dev glutg3-dev libcegui-mk2-dev libdevil-dev libglc-dev libpcre3-dev libmng-dev libfreeimage-dev
sudo aptitude install build-essential pkg-config automake libglib2.0-dev libtiff-dev libtool libxmu-dev libfribidi-dev gettext zlib1g-dev cvs gpsd gpsd-clients libgps-dev libdbus-glib-1-dev libgtk2.0-dev freeglut3-dev glutg3-dev libcegui-mk2-dev libdevil-dev libglc-dev libpcre3-dev libmng-dev libfreeimage-dev
Navit ist zwar in den Ubuntu-Paketquellen vorhanden, die Version ist jedoch veraltet und beinhaltet ein Memoryleak, weswegen eine Fremdquelle genutzt werden sollte:
Um aus der Fremdquelle zu installieren, muss man die folgenden Paketquellen freischalten:
Zusätzliche Fremdquellen können das System gefährden.
deb http://navit.latouche.info/ubuntu VERSION main
Um die Fremdquelle zu authentifizieren, kann man den Signierungsschlüssel mit folgendem Befehl importieren:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com CB229096
In den Ubuntu-Paketquellen ist Navit als Version 0.2 eingetragen, die in der Fremdquelle enthaltene Version ist jedoch auch 0.2 - somit wird Navit nicht aktualisiert. Dem muss mit einer Konfigurationsänderung im Paketmanagement abgeholfen werden:
Bis Ubuntu 9.10 muss in der Datei /etc/apt/preferences mit Root-Rechten folgender Inhalt gespeichert werden, um die Pakete aus der Fremdquelle vorzuziehen und die Installation der neuesten Version zu gewährleisten.
Package: navit Pin: release o=latouche Pin-Priority: 9999
Ab Ubuntu 10.04 muss der gleiche Code in eine Datei im Verzeichnis /etc/apt/preferences.d eingetragen werden. Diese Datei darf nun einen beliebigen Namen haben. Mehr dazu unter Apt-Pinning.
Nach dem Hinzufügen und Aktualisieren der Paketquellen braucht nur noch das Paket
navit (ppa)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install navit
sudo aptitude install navit
installiert [2] zu werden. Bei der aktuellen Version wird die zentrale Konfigurationsdatei navit.xml während der Installation in /etc/navit/ erstellt. Um diese Datei zu bearbeiten, sind Root-Rechte erforderlich!
Der Ordner, in dem das Kartenmaterial zu finden ist, kann in der aktuellen Version frei gewählt werden. Es empfiehlt sich jedoch, den Kartenordner unter /usr/share/navit/ anzulegen, da sich in dem Verzeichnis bereits die Symboldateien befinden. Davon ausgehend wird die Datei /etc/navit/navit.xml bearbeitet.
Der erste wichtige Parameter ist die Startposition. Hier müssen die Koordinaten an die eigenen Bedürfnisse angepasst werden, helfen kann hier, neben der selbst ermittelten Position mit xgps, diese Webseite . Die ermittelten Werte, Grad und Minute, sind einzutragen, z.B.
<navit center="5146 N 616 E" zoom="256" tracking="1" orientation="-1" recent_dest="10">
Um nun noch die Beispielkarte zu deaktivieren in der Konfigurationsdatei den Wert enabled
auf no
ändern:
<mapset enabled="no"> <xi:include href="$NAVIT_SHAREDIR/maps/*.xml"/> </mapset>
Der einfachste, und auch vom Grundgedanken her sinnvollste, Weg zur Nutzung von Kartenmaterial ist das Einbinden von Kartenmaterial aus dem OpenStreetMap Projekt. Es existiert bereits eine zum Download bereit gestellte Deutschland Karte. Weitere Karten findet man im Navit Wiki
Wer seinen eigenen Kartenausschnitte erstellen möchte kann dieses mit dem Online-Werkzeug Navit-Planet-Extruction machen. Dazu muss im ersten Schritt der ungefähre Bereich sichtbar gemacht werden. Im zweiten Schritt schaltet man, mit den Auswahlfunktionen rechts neben der Karte, auf "select" um und markiert sich einen Bereich. Nach einem Klick auf "Get Map" wird der markierte Bereich als osm_bbox_xxxxxxxxx.bin herunter geladen.
Nach dem Download muss noch die Datei in den Kartenordner verschoben werden und in der navit.xml bekannt gegeben werden.
<mapset enabled="yes"> <map type="binfile" enabled="yes" data="/usr/share/navit/maps/osm_bbox_xxxxxxxxx.bin" /> </mapset>
Dabei ist zu beachten, dass immer nur ein mapset mit enabled ="yes"
gesetzt werden darf. Alle anderen Kartensätze müssen bei enabled ="no"
stehen.
Um Karten aus dem Großen Reiseplaner nutzen zu können, ist die Datei data2.cab von der CD zu entpacken:
unshield x travel/data2.cab
Nun existiert ein Ordner namens DIRLAN_GER, in dem sich die einzelnen Karten befinden. Das Kartenmaterial für Deutschland ist in der Datei smp3.smp enthalten. Dieses Verzeichnis ist nach /usr/share/navit/maps zu kopieren und anschließend die Datei /etc/navit/navit.xml um folgende Zeilen zu erweitern (Rootrechte erforderlich):
<mapset enabled="yes"> <map type="mg" enabled="yes" data="/usr/share/navit/maps/dirlan_ger/dem.map" /> <map type="mg" enabled="yes" data="/usr/share/navit/maps/dirlan_ger/dem.map/smp3.smp" /> </mapset>
Die Daten aus dem "Telefonbuch / Gelbe Seiten Deutschland Map & Route" können ebenfalls verwendet werden. Dazu ist die Datei karten.zip von der CD zu entpacken, die Karte in den Ordner /usr/share/navit/maps/ zu kopieren und die Datei /etc/navit/navit.xml um folgende Zeilen zu erweitern (Rootrechte erforderlich):
<mapset enabled="yes"> <map type="mg" enabled="yes" data="/usr/local/share/navit/maps/d7.map" /> <map type="mg" enabled="yes" data="/usr/local/share/navit/maps/d7.map/deu.smp" /> </mapset>
Navit kann über die Anpassung innerhalb der navit.xml-Datei dazu veranlasst werden, zusätzliche Informationen auszugeben. Dazu sind nachfolgende Befehle in der Datei einzubinden.
<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="-200" y="0" />
<osd enabled="yes" type="text" label="${vehicle.position_coord_geo}" x="-200" y="0" />
<osd enabled="yes" type="text" label="${vehicle.position_height}m" x="-60" y="-80" />
<osd enabled="yes" type="text" label="${vehicle.position_direction}" x="-60" y="-80" />
<osd enabled="yes" type="text" label="${vehicle.position_sats_used}/${vehicle.position_qual}" x="-50 "y="40" />
Darüber hinaus sind im Navigationsbetrieb folgende zusätzliche Informationen verfügbar:
<osd enabled="yes" type="text" label="Currently on ${navigation.item.street_name_systematic}" x="0" y="0" />
<osd enabled="yes" type="text" label="${navigation.item[1].length[named]}" x="0" y="-105" />
<osd enabled="yes" type="navigation_next_turn" x="325" y="-135" w="150" h="100" align="15" background_color="#a60c0f00" icon_src="$NAVIT_SHAREDIR/xpm/%s_wh_48_48.png" />
<osd enabled="yes" type="text" label="Turn onto ${navigation.item[1].street_name_systematic}" x="0" y="-105" />
<osd enabled="yes" type="text" label="ETA ${navigation.item.destination_time[arrival]}" x="-150" y="-30" />
<osd enabled="yes" type="text" label="DR ${navigation.item.destination_length[named]}" x="-85" y="-60" />
<osd enabled="yes" type="text" label="TR ${navigation.item.destination_time[remaining]}" x="-85" y="-90" />
Bei der Positionierung der Bildschirmausgabe ist zu beachten, dass positive x/y Werte von der oberen-linken Bildschirmkante berechnet werden und negative von der unteren-rechten Bildschirmkante.
Um das Profil des Fahrzeugs das standardmäßig benutzt wird von Auto auf z.B. Fahrrad zu ändern muss in der Zeile
<vehicle name="Local GPS" profilename="car" enabled="yes" active="1" source="gpsd://localhost" gpsd_query="w+xj">
car gegen bike ausgetauscht werden.
Die Zeile würde danach also so aussehen:
<vehicle name="Local GPS" profilename="bike" enabled="yes" active="1" source="gpsd://localhost" gpsd_query="w+xj">
Die wichtigsten Bedienfunktionen sind:
und ziehen: Karte bewegen
: Kontextmenü
-> "Punkt <Bezeichner> -> Als Lesezeichen aufnehmen"
Ist der GPS-Empfänger mit freier Sicht zum Himmel ausgerichtet und wird ein GPS-Signal über den GPS-Dienst an Navit weiter gegeben, so wird die aktuelle Position auf der Karte dargestellt. Diese Position mit einem Rechtsklick als Startpunkt übernehmen. Nach einem Klick auf die Zielflagge kann mit einer Eingabeunterstützung das Ziel auf der Karte gesucht und mit einem Rechtsklick als Ziel markiert werden. Die Berechnung der Route startet nun automatisch, und die Navigation beginnt. Ein Klick auf die Straßenliste zeigt die detaillierte Ansicht mit der Länge des zu fahrenden Straßenabschnitts, der noch zu fahrenden Gesamtstrecke und der errechneten Fahrtzeit.
In Verbindung mit einer Software zur Sprachausgabe wird Navit zu einem vollwertigen Navigationssystem. Zur Sprachausgabe stehen unterschiedliche Lösungen zur Verfügung:
Für die Sprachausgabe kann die Software Speech Dispatcher genutzt werden welche über das Paket
speech-dispatcher (universe[2])
mit apturl
Paketliste zum Kopieren:
sudo apt-get install speech-dispatcher
sudo aptitude install speech-dispatcher
aus den offiziellen Quellen installiert werden kann.
Danach ist die Datei /etc/navit/navit.xml mit Rootrechten zu öffnen [4] und die Zeile
<speech type="cmdline" data="echo 'Fix the speech tag in navit.xml to let navit say:' '%s'" />
zu ändern in
<speech type="cmdline" data="spd-say -l de '%s'" />
Nach einem Neustart des Rechners werden die Routenhinweise in deutscher Sprache ausgegeben.
Es existiert ein offener Bug zum Speech Dispatcher. Ändert man die in der Datei /etc/default/speech-dispatcher den Wert RUN_SPEECHD
auf yes
, so startet der Speech-Dispatcher Daemon beim nächsten Systemstart mit, blockiert jedoch das Soundausgabegerät für alle anderen Zugriffe.
Um den Bug in spd-say zu umgehen, können die Anweisungen auch über espeak ausgegeben werden. Espeak ist bereits installiert, falls nicht kann das Paket aus den Quellen nachinstalliert werden [2].
Um espeak in Navit zu nutzen muss die Datei /etc/navit/navit.xml mit Rootrechten geöffnet werden [4] und die Zeile
<speech type="cmdline" data="echo 'Fix the speech tag in navit.xml to let navit say:' '%s'" />
in
<speech type="cmdline" data="espeak -v de '%s'" />
geändert werden.
Vor einem Update ist es sinnvoll, die Datei /etc/navit/navit.xml zu sichern, da diese in den aktuellen Versionen überschrieben wird.
Um den GPS-Dienst und Navit nicht separat starten zu müssen, kann man sich einen Starter anlegen. Dazu diesen Inhalt in einer Datei hinterlegen:
1 2 3 | #!/bin/sh
gpsd /dev/ttyUSB0
navit
|
Dann die Datei ausführbar machen und bei Bedarf starten. Bis Ubuntu 7.10 muss der GPS-Dienst mit dem Zusatz -p
gestartet werden, der Pfad zur GPS-Hardware ist anzupassen.
Bei einer Paketinstallation aus den Quellen genügt eine Deinstallation von Navit. Wer die Entwicklerversion kompiliert hat, braucht lediglich den Ordner zu löschen.
navit-project.org - Projektseite
Navit mit Sprachausgabe - YouTube-Video
OpenStreetMap - Eine frei verfügbare, digitale Landkarte
OpenStreetMap Karten Server - dieser stellt auch Karten einzelnen Bundesländer Deutschlands zur Verfügung