Logo


Computer Communication & Consulting

Netbook mit Linux und GPS

letzte Änderung 12.04.2009

GPS mit Linux auf Sony Vaio PCG-C1MGP

... GpsDrive auf Xubuntu mit GoogleMaps und/oder OpenStreetMap (OSM)



Einfaches GPS mit GpsDrive
GpsDrive und GoogleMaps
GpsDrive, Mapnik und OpenStreetMap

sony-c1mgp.jpg Bei der Firma Conrad Elektronik gibt es derzeit mit der Artikel Nr. 989777 die GPS-Mouse »GPS RECEIVER 16 KANAL CR4 (USB)« für ca. 50 Euro.

Die GPS CR4 wird mit einem etwa 2 Meter langen USB Kabel an eine USB Schnittstelle angeschlossen. Sie funktioniert in meinem Auto auch hinter einer Windschutzscheibe mit Heizfäden besser als mein alter Garmin Receiver. Unter Xubuntu wird sie automatisch als /dev/ttyACM0 erkannt und funktioniert auch über einen USB1 Port einwandfrei.

Was lag also näher, als sie an meinen C1MGP anzuschließen und dort auszuprobieren.

Auf meinen C1MGP läuft derzeit ein abgespecktes Xubuntu von einem 32 GB SSD Drive, mit Fluxbox als Desktop. Eine genaue Beschreibung des Setup siehe Xubuntu with Fluxbox on a Sony C1MGP

GpsDrive und GPSD

Das Programm GpsDrive habe ich per Synaptic aus den Ubuntu Paketquellen installiert, weil dies einfacher ist als die Installation von Sources. (Version bei Ubuntu ist 2.10pre4 - Stand Sept. 2008)

Theoretisch sollte es ausreichen

gpsdrive -t /dev/ttyACM0
aufzurufen. Das hat bei mir jedoch nie funktioniert. Die Connectivity zwischen GpsDrive und Receiver stell man besser per GPSD her. Auch GPSD habe ich per Synaptic installiert.

Die Aufrufe sehen jetzt wie folgt aus:

gpsd /dev/ttysACM0
gpsdrive -g 900x480 -M car -S
Die erste Zeile starte den GPS Daemon. Dieser stellt die Verbindung zwischen GPS-Receiver und GPS Anwendung her. Die Parameter von gpsdrive in Zeile 2 starten das Programm mit einer Kartengröße von 900x480 Pixeln und der Desktop Darstellung für das Autofahren.

GpsDrive versucht beim Starten die Größe des Desktops zu erkennen und passt seine Bildschirmgröße automatisch daran an. Das hat auf allen meinen Systemen zu einer unvollständigen Darstellung geführt ... was speziell auf dem C1MGP unschön aussah. Durch die manuelle Vorgabe der Grafik bzw. der Kartengröße kann man das Desktopbild optimal an die Displaygröße anpassen.

GpsDrive ist kein Navigationsprogram. Es zeigt lediglich die aktuelle Position auf einer wählbaren Karte. Standardmäßig kommt GpsDrive mit nur wenigen Landkarten (Maps) daher. Einstellungen und Karten werden im Verzeichnis ~/.gpsdrive abgelegt, wobei Karten beliebig in einem Baum unter ~/.gpsdrive/maps/ abgelegt werden bzw. abgelegt werden können.

Über den Menüpunkt Options - Maps - Download können interaktiv Karten des gerade gewählten Bereichs in verschiedenen Maßstäben aus dem Internet geladen werden. Die heruntergeladenen Karten werden automatisch in das richtig Verzeichnis geladen und in der Datei .gpsdrive/maps/map_koord.txt eingetragen. Die Karten selbst werden als GIF-Bilder gespeichert.

Die Datei .gpsdrive/maps/map_koord.txt ist eine Art Datenbank, in der alle für GpsDrive lokal verfügbaren Kartenauschnitte (GIF-Bilder) einschließlich des Maßstabs eingetragen sind. GpsDrive wählt dann daraus, entsprechend der Position und des gewählten Maßstabes, die beste Karte aus. Sollte der gewählte Maßstab nicht verfügbar sein, so wird die nächst höhere angezeigt.

In der Praxis bedeutet dies, man sollte sich z.B. eine Deutschlandkarte mit großem Maßstab (etwa 1:5Mio) laden, dann wird diese angezeigt, wenn keine detailiertere Karte verfügbar ist.
Es bedeutet aber auch, dass man viele Landkarten (Bilder) laden muss, wenn man jeden Teil eines größeren Landes mit entsprechenden Details vorrätig haben möchte. Für jeden Maßstab sind eigene Kartenteile zu laden.


Top of page

GpsDrive und GoogleMaps

Nun kann es ziemlich lässtig sein, die einzelnen Karten per Mausklick zu generieren und zu laden. Unter GoogleMaps to gpsDrive gibt es die Möglichkeit "Map-Kacheln" beliebiger Orte und in verschiedener Auflösung zu laden.

Dazu muss man den entsprechenden Ausschnitt auf der Karte wählen, die Map Limits und den Zoom Faktor setzen ... und dabei sein Hirn einschalten!

Wenn man nämlich versucht, hochauflösende Karten von ganz Deutschland zu generieren, warnt einen die Webseite zurecht, ob man dies auch wirklich will. Ganz Deutschland mit Zoom-Faktor 15 ergibt etwa 250 mal 300 Images ... ein bisschen viel auf einmal.

Die Werte: North, South, West and East Limit kann man, wenn man sie kennt, per Hand eintragen oder einfach durch die Karte übernehmen. Wenn beim Klick auf "Set west" eine Fehlermeldung auftaucht, zuerst "Set east" durchführen. Wets Limit kann nicht größer als East sein. Durch Verschieben und Zoomen kann man die Limits mit der Karte sehr gut an den persönlichen Bedarf anpassen. Auch deshalb, weil man zwischen den einzelnen "Set" Operationen die Karte verscheiben und/oder Zoomen darf.

Die defaulmäßige Überlappung (overlap) von 5% reicht für einen flüssigen Übergang bei GpsDrive nicht aus. Ich würde hier mindestens 15% empfehlen ... ggf auch 20% oder mehr, je nach verfügbarem Speicherplatz. Mehr Überlappung bedeutet auch mehr GIF-Images.

Ein Zoom-Faktor von 8 entspricht ca. einem Maßstab von 1:1,2Mio und ergibt 3x3 Images für Deutschland.
Der Zoom-Faktor von 16 entspricht etwa 1:5.000 und ergibt etwa 600x750 GIF-Images. Diese Auflösung sollte also nur für sehr begrenzte Gebiete verwendet werden. Die Anzahl der Bilder kann mit dem "Recalculate" Button geprüft werden.
Die Programm-Auswahl sollte man auf gpsDrive stellen ... dann kalkuliert die Seite auch gleich die Einträge für .gpsdrive/maps/map_koord.txt. Am einfachsten ist die Generierung für wGet. Dann kann man die wget-Befehlszeilen einfach in ein Shell-Script kopieren und die Bilder automatisch laden lassen.

Es empfiehlt sich, die Bild-Dateien in Subdirectories mit "sprechenden" Namen zu kopieren und die Zeilen beim Eintragen in die .gpsdrive/maps/map_koord.txt entsprechend zu ergänzen. Dann bleibt auch bei mehreren tausend Kacheln halbwegs der Überblick und man kann einzelne "Gebiete" löschen bzw. ersetzen. Die map_koord.txt kennt leider keine Kommentarzeilen ... man kann dort aber Fließtext eintragen. Jede Zeile Text erzeugt dann jedoch beim Starten von gpsdrive eine Fehlermeldung.


Top of page

GpsDrive, Mapnik und OpenStreetMap

Der Ansatz, zu jedem MaßStab einen passenden Kartenausschnitt zu haben ist einfach, aber auf Dauer auch sehr unübersichtlich.

GpsDrive bietet zur Kartenauswahl auch den Mapnik-Mode an. Mapnik ist ein Rendering System, das Kartenbilder aus Punkten und Vektoren errechnet. Man muss also nicht für jeden Maßstab eine eigene Karte haben, sondern hat Stützpunkte, Vektoren und Beschreibungen in einer Datenbank. Mapnik liest diese aus und generiert passend zum Maßstab ein Kartenbild.

Mapnik benötigt dazu eine PostgreSQL Datenbank. Diese lässt sich wiederum aus dem Internet z.B mit

mapnik-osm-updater.sh --all-planet-geofabrik=europe/germany/bayern
für Bayern laden. Auch hier empfiehlt es sich mit einer kleineren Kartenauswahl zu beginnen, bis man die "Unwägsamkeiten" der ersten Installation und Inbetriebnahme überstanden hat.

Das benötigt: PostgreSQL (postgresql-8.3), PostGIS (postgresql-8.3-postgis) und Mapnik (libmapnik1d, mapnik-plugins) sind installierbar per Synaptic. Das Skript mapnik-osm-updater.sh (in osm2pgsql) ist bei Ubuntu nur in einer sehr alten Version vorhanden. Es crashed, wenn man die Ubuntu Version installiert. Hier gibt es die aktuelle Version von osm2pgsql. Ich habe die Version 0.52 installiert.




Home Page
Ranking-Hits
Copyright © 2001-2014 Bernd Holzhauer. Alle Rechte vorbehalten.
Warenzeichen und Marken sind Eigentum der jeweiligen Besitzer.

Das Ing.Büro Bernd Holzhauer distanziert sich grundsätzlich von gesetzeswidrigen und möglicherweise illegalen Inhalten in Seiten, auf die über www.cc-c.de verwiesen wird. Sollte Ihnen diesbezüglich etwas auffallen, melden Sie es uns bitte per email.