GNSS-Satelliten-Verfügbarkeit

Die Verfügbarkeit der aktuellen GNSS-Satelliten kann auf der Webseite von Trimble angezeigt werden. Der interessierte Nutzer kann je nach Standort die Verfügbarkeit der Satelliten, die Bedingungen der Ionosphäre, usw. anschauen und GNSS-Kampagnen planen.

Koordinaten umrechnen

Die Webseite des LGL (Landesamt für Geoinformation und Landentwicklung Baden-Württemberg) bietet einen Umrechner für Koordinaten in verschiedenen Formaten. Für Geocacher sicher nicht ganz uninteressant.

So kann man Koordinaten wie folgt umrechnen:

  • Umrechnung von geografischen Koordinaten B,L,h nach geozentrischen Koordinaten X,Y,Z.
  • Umrechnung einer Position von Dezimalschreibweise in Grad, Minuten und Sekunden und wieder zurück.
  • Umrechnung von geozentrischen Koordinaten X,Y,Z nach geografischen Koordinaten B,L,h.

 

Öffentliche Geodätische Referenzpunkte

GNSS-Messgeräte, Navigationsgeräte und Handempfänger sind mittlerweile stark verbreitet. Viele Anwender haben den Nutzen erkannt und können ihre Dienstleistungen ohne GNSS heute nicht mehr anbieten. Dem professionellen Anwender stehen systembedingt vielfältige Kontrollmöglichkeiten offen, die dem Hobby- oder Gelegenheitsnutzer bisher verschlossen waren.

Doch seit geraumer Zeit wird hier Abhilfe geschaffen. Dazu werden Geodätische Referenzpunkte geschaffen, die öffentlich zugänglich gemacht werden. Die notwendigen Informationen zu den Koordinaten des Punktes werden direkt vor Ort dauerhaft vermarkt und können im Internet über entsprechende Webseiten abgerufen werden.

Die zuständigen Vermessungsämter und Landesbehörden stellen hierzu in den Landkreisen die Punkte her und die Informationen zur Verfügung. Jetzt machen auch Brandenburg, Bremen, Hessen und Sachsen mit.

Baden-Württemberg

Bayern

Berlin

Brandenburg

Bremen

Hessen

Nordrhein-Westfalen

Sachsen

Thüringen

Wer einen solchen Referenzpunkt kennt, hinterlässt bitte einen Kommentar, dann kann ich die Liste entsprechend ergänzen.

Edit: Diese Liste ist in der OSM-Wochennotiz 159 verlinkt. Dankeschön.

Efringen-Kirchen ausbalanciert

Inspiriert von Flopps Beitrag „Am Schwerpunkt von Freiburg“ hab ich mich gestern hingesetzt und den Schwerpunkt von Efringen-Kirchen berechnet. Da ich als Geodät beruflich vorbelastet bin, ging die Sache recht zügig über die Bühne. Doch wozu braucht man den Schwerpunkt von Efringen-Kirchen?

Auf der offenen Geocaching-Plattform Opencaching.de gibt es so genannte Safari-Caches. Bei diesem Cachetyp handelt es sich um einen virtuellen Cache. Kurz gesagt, es befindet sich keine physikalische Box und kein Logbuch vor Ort. Die Aufgabenstellung beinhaltet, zunächst diesen Ort zu finden und dann den Besuch mit einem Foto zu dokumentieren. Auf dem Foto sollen das GPS-Gerät und der besuchte Ort abgebildet sein.

Der Cache „Am Mittelpunkt“ von following ist genau so ein  Safari-Cache. Die Aufgabenstellung beschreibt mehrere Varianten zum Bestimmen des Schwerpunktes. Ich habe mich für die Berechnungsvariante entschieden. Die Daten stammen aus dem OpenStreetMap-Projekt und wurden mit JOSM, GPS-Babel oder GPSies, LibreOffice.org und Tincta bearbeitet.

Bild des Schwerpunktes von Efringen-Kirchen
Schwerpunkt von Efringen-Kirchen

Das Vorgehen ist wie folgt:

  1. Finden der Stadtgrenze von Efringen-Kirchen (Relation: Efringen-Kirchen (1130296))
  2. Laden der Relation mit JOSM und Speichern als GPX-Datei
  3. Konvertieren der GPX-Datei ins ASCII-Format (XML-Datei ginge in Java auch) mit GPSies oder GPSBabel
  4. Extrahieren der Koordinaten und Einfügen der ersten Zeile zusätzlich als letzte Zeile mit LibreOffice.org
  5. Speichern der Datei mit dem Texteditor
  6. Programmieren des Java-Codes mit Eclipse
  7. Cachen vor Ort

Da mir Python noch nicht so zügig von der Hand geht, hier mein Lösungsansatz in Java.

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

/**
 * Das Programm Schwerpunkt berechnet den geometrischen Schwerpunkt eines Polygons
 * aus Koordinaten (x y). Die Punkte müssen der Reihe nach vorliegen und der erste 
 * und der letzte Punkt in der Liste sind identisch.
 * 
 * Siehe auch: <a href="https://de.wikipedia.org/wiki/Geometrischer_Schwerpunkt#Polygon">Wikipedia-Artikel</a>.
 * 
 * @author Sebastian aka Azimut400gon
 */
public class Schwerpunkt {

	/**
	 * Konstruktor ohne Parameter. Steuert den Programmablauf.
	 */
	public Schwerpunkt() {

		String dateiName = "Efringen-Kirchen.txt";

		/* Dateiaufbau
		 * ===========
		 * 
		 * 47.64511840	7.594074100 // Erster Punkt
		 * 47.64459570	7.593142100
		 * 47.64312320	7.594131000
		 * ...
		 * 47.64511840	7.594074100 // Erster Punkt wiederholt
		 */

		ArrayList<String> geleseneZeilen = datenLesen(dateiName); 

		double[] schwerPunkt = schwerpunktBerechnen(geleseneZeilen);

		System.out.println("Der berechnete Schwerpunkt hat die Koordinaten: \n");
		System.out.println(schwerPunkt[0] + " " + schwerPunkt[1]);

	}

	/**
	 * Liest die Koordinaten aus der Textdatei zeilenweise ein und gibt sie als 
	 * <code>ArrayList<String></code>-Objekt zurück.
	 * @return ArrayList<String> mit den gelesenen Zeilen als String
	 */
	private ArrayList<String> datenLesen(String dateiName) {

		String zeile = null;
		ArrayList<String> zeilen = new ArrayList<String>();

		try {
			FileInputStream fis = new FileInputStream(dateiName);
			BufferedReader leser = new BufferedReader(new InputStreamReader(fis));

			try {
				while ((zeile = leser.readLine()) != null) {
					zeilen.add(zeile);
				}
			} catch (Exception e) {
				System.err.println("Datei konnten nicht geschlossen werden.");
			} finally {
				fis.close();
			}

		} catch (Exception e) {
			System.err.println("Fehler beim Lesen der Datei: "+ dateiName);
		}

		return zeilen;

	}

	/**
	 * Berechnet den geometrischen Schwerpunkt der eingelesenen Datei und gibt 
	 * diesen als double-Feld zurück.
	 * @return Berechneter Schwerpunkt als double [x, y]
	 */
	private double[] schwerpunktBerechnen(ArrayList<String> zeilen) {

		double[][] pkt = new double[zeilen.size()][2];

		StringTokenizer st = null;

		for (int i = 0; i < zeilen.size(); i++) {

			st = new StringTokenizer(zeilen.get(i));

			if (st.countTokens() == 2) {
				pkt[i][0] = Double.parseDouble(st.nextToken());
				pkt[i][1] = Double.parseDouble(st.nextToken());
			} else {
				System.err.println("Falsches Format in der Eingabedatei.");
			}

		}

		// Flächenberechung  mit Gauß'scher Trapezformel
		// https://de.wikipedia.org/wiki/Gaußsche_Trapezformel
		double a = 0d;

		for (int i = 0; i < pkt.length-1; i++) {
			a += (pkt[i][0] * pkt[i+1][1]) - (pkt[i+1][0] * pkt[i][1]);
		}

		a += (pkt[pkt.length-1][0] * pkt[0][1]) - (pkt[0][0] * pkt[pkt.length-1][1]);

		a /= 2.0;

		// Berechnung des Schwerpunktes
		// https://de.wikipedia.org/wiki/Geometrischer_Schwerpunkt#Polygon
		double x_S = 0d, y_S = 0d, hilf = 0d;

		for (int i = 0; i < pkt.length-1; i++) {
			hilf = (pkt[i][0] * pkt[i+1][1] - pkt[i+1][0] * pkt[i][1]);
			x_S += (pkt[i][0] + pkt[i+1][0]) * hilf;
			y_S += (pkt[i][1] + pkt[i+1][1]) * hilf;
		}

		hilf = (pkt[pkt.length-1][0] * pkt[0][1] - pkt[0][0] * pkt[pkt.length-1][1]);
		x_S += (pkt[pkt.length-1][0] + pkt[0][0]) * hilf;
		y_S += (pkt[pkt.length-1][1] + pkt[0][1]) * hilf;

		x_S /= 6d * a;
		y_S /= 6d * a;

		double[] schwerpunkt = {x_S, y_S};

		return schwerpunkt;

	}

	/**
	 * main()-Methode - Einstiegspunkt des Programms.
	 */
	public static void main(String[] args) {

		//Schedule a job for the event-dispatching thread:
		//creating and showing this application's GUI.
		javax.swing.SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				new Schwerpunkt();
			}
		});
	}

}

Holux M241 – Wireless GPS Logger am Mac mit Bluetooth

In diesem Artikel habe ich bereits beschrieben, wie man den USB-Datenlogger Holux M-241 per USB an den Mac anschließt und Daten auslesen kann. In diesem Artikel wird beschrieben, wie die Verbindung mit Bluetooth funktioniert.

Koppeln via Bluetooth

Damit die Koppelung des Macs und des Holux M-241 möglich ist, muss zunächst Bluetooth am Logger aktiviert werden (Einstellungen -> Bluetooth -> EIN). Im Anschluss daran wird Bluetooth am Mac eingeschaltet (via Menüleiste) und die Option „Bluetooth Gerät konfigurieren…“ gewählt.

Bildschirmfoto Holux M-241 gefunden
Bildschirmfoto Holux M-241 gefunden

Nachdem der Logger gefunden wurde, muss er verbunden werden.

Bildschirmfoto automatisches Kennwort
Bildschirmfoto automatisches Kennwort

Das hierzu notwendige Kennwort wird automatisch gesetzt.

Bildschirmfoto der erfolgreichen Verbindung
Bildschirmfoto der erfolgreichen Verbindung

Auslesen mittels HoudahGPS

Die aufgezeichneten Daten werden mit dem Programm HoudahGPS ausgelesen.

Bildschirmfoto HoudahGPS
Bildschirmfoto HoudahGPS

Damit dies funktioniert, werden die in der obigen Bildschirmaufnahme gezeigten Einstellungen (Port: Serial / Bluetooth und Name: HOLUX_M-241-SPPSlave) gewählt.

 

Holux M241 – Wireless GPS Logger am Mac mit USB

Der Holux M241 ist ein  kleiner GPS-Datenlogger, der mit einer AA-Batterie betrieben wird und auf Grund seiner Größe perfekt in jeden Rucksack passt.

Es gibt zwei Wege den Logger mit dem Mac zu verbinden. In diesem ersten Artikel beschreibe ich den Weg via USB. In einem weiteren Artikel geht es um die Bluetooth-Verbindung.

Von Haus aus passiert zunächst nichts, wenn man den Logger per USB an einen Mac anschließt. Apple hat keine Treiber für diesen Chipsatz an Bord. Somit muss man selbst aktiv werden.

Installation benötigter Treiber

Ein guter Einstieg für die Suche ist die Holux-Webseite. Es hat Treiber für verschiedene Betriebssysteme, Firmware-Updates, Tools und Manuale.

Bildschirmaufnahme der Holux-Webseite (16.06.2013
Bildschirmaufnahme der Holux-Webseite (16.06.2013

Wir nehmen den „USB Cable Driver Mac“ und installieren diesen. Hierzu sind die Administrator-Rechte am Mac nötig. Alternativ kann man den Treiber auch von der Webseite des Chipsatz-Herstellers herunterladen. Dieser ist neueren Datums, funktioniert genauso wie der ältere Treiber.

Bildschirmfoto des Installationsdialogs
Bildschirmfoto des Installationsdialogs

Im Anschluss an die Installation muss der Mac neu gestartet werden.

Die richtige Software zum download der GPS-Daten

Am einfachsten funktioniert der Download der aufgezeichneten GPS-Daten mit dem Programm HoudahGPS.

HoudahGPS in Aktion
HoudahGPS in Aktion

Unter Type wählt man den richtigen Empfänger aus („Holux M-241“) und unter Port „USB“. Mit einem Klick auf „Acquire“ kann man die Daten jetzt vom per USB-Kabel angeschlossenen Empfänger herunterladen.

Topografische Karten basierend auf OSM-Daten

Das OpenTopoMap-Projekt hat das Ziel, eine topografische Karte auf Basis von OpenStreetMap-Daten zu erzeugen. Das Projekt verfolgt, unterstützt durch die Uni Erlangen, das ehrgeizige Ziel dem Nutzer ein gewohntes Kartenbild zu präsentieren.

Bildschirmaufnahme der OpenTopoMaps
Bildschirmaufnahme der Webseite OpenTopoMaps.org

Die Wikipedia schreibt hierzu:

Die topografische Karte (auch topographische Karte oder Landkarte) ist eine mittel- bis großmaßstäbige Karte, die zur genauen Abbildung der Geländeformen (Topografie) und anderer sichtbarer Details der Erdoberfläche dient. Das Gelände wird meist durchHöhenlinien dargestellt, ergänzt um markante Höhenpunkte (Gipfel, Sättel usw.) und den Verlauf der Gewässer.

Zum Inhalt solcher Karten gehören auch Straßen, Bahnlinien, größere Gebäude, die Umrisse von Ortschaften und andere technische Sachverhalte wie Grenzen, Wasser- oder Stromleitungen. Alle diese geografischen Objekte werden entsprechend demMaßstab lagerichtig und vollständig durch ein System kartografischer Zeichen wiedergegeben.

Wegen ihrer grundlegenden Bedeutung für die Wirtschaft, Verwaltung und Verteidigung eines Landes gehören die Herausgabe, Laufendhaltung und Führung eines flächendeckenden Systems topografischer Karten zu den öffentlichen Aufgaben (amtliche topografische Karten). Ähnliche Karten werden aber auch – meistens für begrenzte, touristisch interessante Gebiete – von derVerlagskartografie herausgegeben.

Die Erstellung einer topografischen Karte basiert nicht nur auf einer guten Datengrundlage (OSM-Daten), sondern auch auf so genannten Generalisierungsmechanismen. Bei der händischen Erzeugung von topografischen Karten wird diesem Punkt die größte Aufmerksamkeit gewidmet. Es ist eine Menge Erfahrung nötig, bis eine gute Karte entsteht. Gerade die Zusammenfassung und Verdrängung von Objekten (Häuser, Autobahnen, Flüsse), die Position der Beschriftungen (Orts- und Straßennamen) und die Beschriftung von Flächen (Seen, Wälder) ist sehr zeitintensiv.

Für die automatisierte Erzeugung der Karte ist hierzu noch viel Arbeit notwendig. Am Lehrstuhl für Grafische Datenverarbeitung der Uni Erlangen werden hierzu die notwendigen Studienarbeiten angeboten.

QLandkarte GT – OpenSourceGIS und mehr

Mit QLandkarte GT ist ein OpenSource-GIS verfügbar, dass primär dazu dient, GPS-Daten auf verschiedensten Karten anzuzeigen.

Bildschirmaufnahme von QLandKarte GT
Bildschirmaufnahme von QLandKarte GT

Das Programm bietet hierzu die Möglichkeit diverse Kartenquellen einzubinden, Wegpunkte, Tracks und Routen zu erstellen und zu verwalten. Eine kurze Geschichte (engl.) zu den Funktionen des Programms findet man hier.

 

 

Garmin eTrex10 – schwarz-gelb-sexy!?

Seit kurzem habe ich ein eTrex10 von Garmin zum Testen aus der Bucht.

Das Ding ist gelb-schwarz, unterstützt Paperless-Caching, nutzt GLONASS, GPS und WASS/EGNOS, hat ein Monochrom-Display, keinen elektronischen Kompass, keine Speicherkarte und knapp 9MB internen Speicher. Die Basiskarte kennt Basel, Freiburg, Frankfurt und sowohl die deutsch-französische wie auch die deutsch-schweizer Grenze. Es passen 1000 Wegpunkte, 50 Routen und 100 Tracks mit insgesamt 10’000 Wegpunkten drauf. Das alles muss in die 9 MB Speicher passen.

Zugegeben, die Fakten lesen sich zunächst einmal ernüchternd, aber das Gerät macht richtig Spaß!

Zu einem späteren Zeitpunkt werde ich berichten, wie man doch! eine Karte auf dem Gerät installieren kann und wie man mit Hilfe von GPS-Babel oder anderen Online-Tools eigene Wegpunkte als POI-Dateien auf das Gerät bringen kann.

Firmware 7.15 für Magellan eXplorist 710

Seit kurzem ist die Aktualisierung der Firmware auf Version 7.15 für den eXplorist 710 draußen. Die Änderungen sind laut Magellan:

1. Add Japanese and Korean languages
2. Fix NZ grid issue
3. Fix Magmatic/True North issue
4. New GPS firmware to fix Active Suspend issue
5. Various other bug fixes

Ich habe die Version installiert und möchte Euch dies an Hand der folgenden Bildschirmaufnahmen zeigen, wie ihr das mit einem Apple-Rechner macht. Mit einem Windows-Rechner wird es analog funktionieren. Damit es losgehen kann, braucht ihr das Update von der Magellan-Webseite und zwei volle Batterien bzw. Akkus, sowie das USB-Kabel zum Anschluss des GPS-Gerätes.

Der Empfänger wird eingeschaltet und mit dem Rechner verbunden.

Nachdem die Datei heruntergeladen wurde, wird mit einem Doppelklick das Image aktiviert und eingebunden. Ein weiterer Doppelklick startet die Installation.

Zunächst bestätigt man den folgenden Dialog.

Firmware-Update Screenshot

 

Hier folgen die Hinweise für die Installation.

Firmware-Update Screenshot

 

Das Installationsprogramm entpackt im Hintergrund die notwendigen Dateien…

 

Firmware-Update Screenshot

 

…und beginnt kurz darauf mit der Installation.

Firmware-Update Screenshot

Firmware-Update Screenshot

 

Nachdem die Installation beendet ist erscheint der folgende Dialog.

Firmware-Update Screenshot

Jetzt trennt man das Gerät vom USB-Kabel und schaltet es ein. Der Aktualisierungsvorgang wird gestartet. Ein paar Minuten später startet das Gerät erneut neu und dann ist es aktualisiert.

Ein erstes positives Fazit kann ich nach einem Kurztest ziehen. Die Aktualisierung war problemlos, das Gerät kommt schneller aus dem Ruhemodus und die Karte reagiert ein wenig flüssiger. Die Datenbank-Indizierungen nach dem Einschalten sind immer noch vorhanden und wesentliche Verbesserungen (z.B. nächster Wegpunkt, Barometer-Funktionen, etc.) sind auf unbekannt verschoben. Bleiben wir mal gespannt was da noch kommt…