Garmin Forerunner unter Linux

Garmin Forerunner unter Linux
4 (80%) 2 Stimme(n)

(Eine aktualisierte und erweiterte Version dieses Artikels gibt es in meinem Lauf-Blog!)

Wer einen ANT+-fähigen Garmin Forerunner (bei mir: Forerunner 610) und den zugehörigen ANT+-Stick sein Eigen nennt und unter Linux unterwegs ist (bei mir: Ubuntu 14.10), kann seine GPS-Uhr mit dem Rechner über das Kommandozeilentool antfs-cli synchronisieren.

antfs-cli ist ein Python-Programm, das auf den Python-Libraries openant und pyusb aufbaut. Unterstützte Geräte sind auf der Projektseite von antfs-cli aufgelistet.

Da die beiden Bibliotheken und das Programm typischerweise nicht im Lieferumfang der gängigen Linux-Distributionen vorhanden sind, bietet sich eine direkte Installation über github an:


# create a directory where we can put all the source code
mkdir ~/forerunner
cd ~/forerunner

# download and install pyusb
git clone https://github.com/walac/pyusb.git
(cd pyusb; sudo python setup.py install)

# download and install openant
git clone https://github.com/Tigge/openant.git
(cd openant; sudo python setup.py install)

# download and install antfs-cli
git clone https://github.com/Tigge/antfs-cli.git
(cd antfs-cli; sudo python setup.py install)

Nach der Installation der Tools kann das Verzeichnis ~/forerunner im Prinzip wieder entfernt werden.

Ruft man nun im Terminal das Kommando

antfs-cli

auf, wird eine drahtlose Verbindung vom Rechner zum Forerunner über das ANT+-Protokoll hergestellt.

ANT+-Stick

Beim ersten Aufruf wird das sogenannte Pairing durchgeführt, bei dem am Forerunner die Verbindungsanfrage von antfs-cli bestätigt werden muss.

Forerunner Pairing

Anschließend werden auf dem Gerät vorhandene aufgezeichnete Aktivitäten in das Verzeichnis ~/.config/antfs-cli/XXXXX/activities/ heruntergeladen – wobei XXXXX die numerische Id des Forerunners ist (in meinem Fall ist das eine 10-stellige Zahl). Bei weiteren Aufrufen von antfs-cli werden nur die neuen Aktivitäten heruntergeladen.

Forerunner Transfer

Die heruntergeladenen Daten (im Garmin eigenen FIT-Format) können nun z.B. manuell zu Garmin Connect hochgeladen werden oder mit den Kommandozeilentool gpsbabel in andere Formate konvertiert und weiterverarbeitet werden.

Upload zu Garmin Connect

Naturschutzgebiete neu aufgelegt

Bewerte diesen Beitrag

Seit der Schließung des NSG-Atlas werden aus Mangel an öffentlichen Datenquellen auf der Karte keine Informationen zu Naturschutzgebieten mehr dargestellt. Diese Informationen sind aber für Geocacher interessant und insbesondere für Cacheowner essentiell, um bereits in der Planungsphase eines neuen Geocaches ungeeignete Gebiete auszuschließen.

Vor einiger Zeit bin ich auf eine Kartenanwendung des Bundesamtes für Naturschutz gestoßen, die diverse Natur- und andere Schutzgebiete in Deutschland anzeigt.
Im Hintergrund der BfN-Seite arbeitet ein WMS-Server (Web Map Service), der Kartenkacheln rendert und an das Webseitenfrontend ausliefert, von dem sie dann dargestellt werden. Dieser Server ist prinzipbedingt öffentlich zugänglich und könnte auch als Datenquelle für die Karte dienen.

Zeitgleich mit der Anfrage an OpenMapSurfer (wegen der Benutzung von Hillshading-Kacheln) habe ich also auch eine Anfrage an die zuständige Person beim Bundesamt geschickt, die jetzt nach einigen Wochen endlich positiv beantwortet wurde – die Mühlen der Bürokratie mahlen langsam 😉

Eigentlich war diese Anfrage komplett überflüssig, denn die relativ neue Verordnung zur Festlegung der Nutzungsbestimmungen für die Bereitstellung von Geodaten des Bundes (GeoNutzV) sagt folgendes:

[…] Geodaten und Geodatendienste, einschließlich zugehöriger Metadaten, werden für alle derzeit bekannten sowie für alle zukünftig bekannten Zwecke kommerzieller und nicht kommerzieller Nutzung geldleistungsfrei zur Verfügung gestellt […] Die bereitgestellten Geodatendienste dürfen insbesondere mit eigenen Diensten und Diensten Anderer zusammengeführt werden; […]

Also grünes Licht für eine Integration von Naturschutzgebieten in die Karte!

Technischer Hintergrund

Dafür benutzen wir zwei WMS-Funktionen des WMS-Servers:

1. GetMap liefert eine Kartenkachel in einem gewünschten Bildformat für ein definiertes Gebiet.
Die Anfrage für das rechteckige Gebiet mit den Eckpunkten N 47.931066347509784 E 7.7783203125 und N 47.96050238891509 E 7.822265625 sieht dann beispielsweise so aus

http://geodienste.bfn.de/ogc/wms/schutzgebiet?&REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=Naturschutzgebiete&FORMAT=image/png&BGCOLOR=0xFFFFFF&STYLES=default&TRANSPARENT=TRUE&CRS=CRS:84&BBOX=7.7783203125,47.931066347509784,7.822265625,47.96050238891509&WIDTH=256&HEIGHT=256

Sie veranlasst den WMS-Server zum Versenden folgender halbtransparenter Kartenkachel im PNG-Format:

nsg-tile

Diese Kartenkacheln können mittels eines Karten-Layers von Typ ImageMapType über eine Google-Maps-Karte gelegt werden.

2. GetFeatureInfo liefert Informationen über die Objekte, die an bestimmten Koordinaten innerhalb einer Kartenkachel dargestellt werden. So erhält man mit der Anfrage

http://geodienste.bfn.de/ogc/wms/schutzgebiet?REQUEST=GetFeatureInfo&SERVICE=WMS&VERSION=1.3.0&CRS=CRS:84&BBOX=7.7783203125,47.931066347509784,7.822265625,47.96050238891509&WIDTH=256&HEIGHT=256&INFO_FORMAT=text/plain&FEATURE_COUNT=30&QUERY_LAYERS=Naturschutzgebiete&X=100&Y=150

Informationen zum Naturschutzbegiet, das sich an den Pixel-Koordinaten 100/150 in obiger Kartenkachel befindet:

{
"type": "FeatureCollection",
"features": [
  {
    "type": "Feature",
    "geometry": null,
    "properties": {
      "OBJECTID": "1180",
      "Shape": "Polygon",
      "NAME": "Berghauser Matten",
      "ID": "bw_3225",
      "FLAECHE": "151,292",
      "JAHR": "1996",
      "IUCN_KAT": "IV",
      "CDDA_CODE": "162382",
      "BL": "BW",
      "BL_LANG": "Baden-Württemberg",
      "BfN_ID": "31170",
      "Shape_Length": "9136,663785",
      "Shape_Area": "1512920,202602"
    },
    "layerName": "Naturschutzgebiete"	
  }
]
}

Diese Informationen können z.B. nach einem Klick in die Karte in einem Info-Fenster angezeigt werden.

Und so sieht’s dann aus

Mit einem Setzen des Häkchens bei „Naturschutzgebiete“ aktiviert man die Naturschutzgebiete-Kartenebene:

NSG-Layer aktivieren

Naturschutzgebiete werden als halbtransparente grüne Flächen in der Karte angezeigt:

nsg2

Durch einen Klick auf den Button „Zeige NSG-Info beim nächsten Klick“ der Sidebar und einen anschließenden Klick auf eines der hervorgehobenen Gebiete in der Karte öffnet sich ein Infofenster mit einigen Informationen zum jeweiligen Naturschutzgebiet:

nsg3

Viel Spaß damit und Happy Caching!

Hillshading und Verwaltungsgrenzen

Hillshading und Verwaltungsgrenzen
5 (100%) 1 Stimme(n)

Vor etwa zwei Jahren habe ich auf der Kartenwebsite die Möglichkeit geschaffen, Kreisgrenzen anzuzeigen, d.h. die Grenzen der Gebiete der deutschen Landkreise. Was mich dabei immer gestört hat ist die Beschränkung auf Deutschland, sowie die fehlende Beschriftung. Damit ist jetzt Schluss!

Vor kurzem bin ich nämlich durch Zufall auf das Projekt „OpenMapSurfer“ der Universität Heidelberg gestoßen. OpenMapSurfer ist eine Kartenwebsite, die nicht nur Kreisgrenzen anzeigt, sondern allgemeine Verwaltungsgrenzen – und das nicht auf Deutschland beschränkt. Je nach Zoomstufe der Karte werden dort unterschiedliche Verwaltungsgrenzen angezeigt – von Stadtteilen bis zu Staatsgrenzen. Die verschiedenen Typen der Verwaltungsgrenzen sind farblich kodiert, außerdem wird der jeweilige Name in der Karte angezeigt. Also genau das, was ich gesucht habe.
Kurzerhand habe ich das Team von OpenMapSurfer kontaktiert und um Erlaubnis gefragt, deren Karten-Kacheln verwenden zu dürfen, was mir freundlicherweise erlaubt wurde.

Aktivieren kann man die Anzeige der Verwaltungsgrenzen mit einem Klick auf ‚Verwaltungsgrenzen‘ in der Sidebar. So sieht das dann aus:

Verwaltungsgrenzen

Bei dieser Aktion habe ich mir außerdem die Erlaubnis eingeholt, die Hillshading-Kacheln von OpenMapSurfer benutzen zu dürfen. Hillshading (zu Deutsch: Schummerung) ist eine Technik aus der Kartografie, mit der der räumliche Eindruck des Höhenprofils des Geländes erzeugt wird. Die Hillshading-Kartenkacheln werden dabei halbtransparent über die eigentliche Karte gelegt; Bergflanken heben sich dadurch plastisch hervor, als ob sie von der Seite beleuchtet worden wären.
Hillshading lässt sich durch einen Klick auf ‚Hillshading‘ in der Sidebar aktivieren:

Hillshading

Zufällige Flughäfen

Bewerte diesen Beitrag

Random Airports ist ein kleines Programmierprojekt, dem ich in den vergangenen Wochen ein bisschen Zeit gewidmet habe.

Random Airports

Die Website zeigt Satellitenansichten zufälliger Flughäfen auf eine visuell ansprechende Art und Weise, und erfüllt damit zwei Hauptaufgaben:

1. Die Seite bringt dem Betrachter die Vielfalt, die verrückten Geometrien, die teils aberwitzigen Einbettungen in die umgebenden Landschaften der Flughäfen der Welt näher. Ich persönlich arbeite in der Flughafenbranche und habe tagtäglich mit Flughafenlayouts zu tun – für die meisten Menschen ist das aber ein unbekanntes Gebiet.

2. Die Seite bedient meinen Spiel- und Programmiertrieb. Es werden verschiedenste Techniken eingesetzt, um zum vorliegenden Stand zu kommen: So bietet die Google Maps Javascript API eine solide Basis für die Kartenanwendung und liefert fantastische Satellitenbilder; OurAirports.com stellt eine freie Datenbank aller Flughäfen zur Verfügung, die ich mit einem Python-Script aufbereite, um z.B. die räumliche Ausdehnung der Flughäfen für eine passgenaue Anzeige zu berechnen; die so erzeugten Flughafendaten werden serverseitig in einer SQLite-Datenbank abgelegt und durch einen PHP-basierten Webservice asynchron an das Web-Frontend geliefert. Insgesamt konnte ich durch die Programmierung einige neue Dinge lernen und mein Wissen vertiefen.

Wer jetzt noch nicht abgeschreckt ist, kann sich ja von ein paar Flughäfen überraschen lassen 😉

Der gesamte Quellcode ist – wie alle meine Projekte – bei Github zu finden; dort und natürlich auch hier können gerne Kommentare und Verbesserungsvorschläge hinterlassen werden.

Hallo Nederland, Witaj Polska

Hallo Nederland, Witaj Polska
5 (100%) 1 Stimme(n)

Seit neustem gibt es auf den Opencaching-Seiten der Niederlande und Polen (und sämtlichen anderen Opencaching-Knoten, die auf dem polnischen Quellcode basieren) eine direkte Verlinkung zur „Flopp’s Karte“, die neben einer Gesamtansicht aller Opencaching-Caches auch verschiedene nützliche Geocaching-Funktionen – wie Wegpunkt-Projektionen, usw. – bietet.

Flopps Karte bei Opencaching.nl

Eingebaut hat die Verlinkung der Administrator des niederländischen OC-Knotens Harrie Klomp, der von der Karte so begeistert war, dass er auch gleich eine Einführung auf Holländisch geschrieben hat.
Seit der Verlinkungen gibt es einen zunehmenden Besucherstrom aus den betroffenen Ländern zur Karten-Website. Ich daher überlege nun, ob ich zusätzlich zur englischen Übersetzung auch eine niederländische und eine polnische anbieten soll.

Flopps Karte bei Opencaching.pl