© Andrey Suslov/Shutterstock.com
Teil 2: Geolocation - Ortung mit WLAN, Mobilfunknetz und GPS

An Ort und Stelle


Mittels Ortungsfunktionen lassen sich allgemeine Daten personalisieren und Informationen auf die Wünsche der Nutzer zuschneiden. Wir sehen uns Anwendungsbeispiele und technische Umsetzungsmöglichkeiten für mobile Geräte an.

In der vorigen Ausgabe haben wir uns mit den vielfältigen Sensoren in modernen Smartphones beschäftigt. Dabei haben wir auch einen Blick auf die Ortungsmöglichkeiten geworfen und uns die fachlichen Hintergründe, wie das GPS-System, angesehen. Der Einsatz von Ortungsfunktionen erlaubt es, mit Hilfe des Smartphones oder Tablets die genaue Position eines Nutzers festzustellen. Die Angabe erfolgt auf Basis der geografischen Koordinaten Breite und Länge. Auf diese Weise lässt sich jeder Ort auf der Erde lokalisieren. Von einer GPS-Ortung spricht man, wenn die Standortsuche mit Hilfe des GPS-Sensors auf Satellitenbasis vorgenommen wird.

Diese Vorgehensweise weist eine hohe Genauigkeit auf, ist jedoch zeitintensiv und benötigt relativ viel Energie. Ressourcenschonender ist die Nutzung der Mobilfunkfunktion bzw. eines WLANs. Deren Genauigkeit reicht für viele Zwecke aus. Welchen Grad von Genauigkeit man benötigt, lässt sich über die Systemsoftware vorgeben. Diese entscheidet dann über den Einsatz der passenden Ortungsmethode.

Use Cases

Bevor wir uns mit den programmiertechnischen Grundlagen der Ortung beschäftigen, schauen wir uns mögliche Anwendungsszenarien (Use Cases) an. Diese können als Inspiration dienen, um die eigene App mit Hilfe von Geolocation-Funktionen zu verbessern bzw. zu personalisieren. Beginnen wir mit der einmaligen und statischen Positionsermittlung. Die App ermittelt die Geodaten und kann damit den aktuellen Standort des Nutzers feststellen. Dieser könnte im einfachsten Fall in einer Karte dargestellt oder intern in der App verarbeitet werden. Ein Anwendungsbeispiel aus der Praxis: Die App einer Bank kann aus dem Standort des Nutzers die Entfernungen zur nächsten Filiale oder zum Geldautomaten berechnen. Als Service kann der Nutzer mittels Routenplanung an die Zielposition geleitet werden. Auch andere Anwendungen sind denkbar: Von der einfachen Wetter-App, die den aktuellen Standort ermittelt, bis zur Einblendung der Öffnungszeiten benachbarter Shops lassen sich unterschiedlichste Informationen vorstellen, die mit Geodaten angereichert werden können.

Von einer dynamischen Positionsermittlung sprechen wir dann, wenn die Ortung über einen bestimmten Zeitablauf wiederholt ausgeführt wird. Dadurch entsteht ein Bewegungsprofil. Dazu muss festgelegt werden, in welchem Zeitintervall die jeweils aktuelle Position abgefragt wird. Ebenso kann man bestimmen, bei welchem Ausmaß der Positionsänderung, also bei welcher Entfernung zwischen zwei Orten, das betreffende Ereignis ausgelöst wird. Aus den Ortungspunkten mit den zugehörigen Zeitangaben kann die Bewegungsgeschwindigkeit errechnet werden. So lässt sich zum Beispiel prognostizieren, um welche Uhrzeit ein bestimmtes Ziel erreicht werden wird.

Üblicherweise sollen die Daten nicht nur lokal verarbeitet werden, sondern durch andere Services nutzbar sein. Dazu müssen die Geodaten mit einer Zeitangabe (Zeitstempel) an ein Backend übertragen werden. Achtung: Dafür brauchen Sie die explizite Zustimmung des Nutzers, und Sie müssen angeben, wo Sie die Daten speichern, für welchen Zeitraum und für welchen Zweck (Datenschutz). Andere Nutzer bzw. Apps können dann – entsprechende Berechtigung und Freigabe vorausgesetzt – diese Daten weiter nutzen bzw. verarbeiten. Einfache Anwendungen aus diesem Bereich sind etwa Tracking-Apps, die die Position anderer Personen bzw. von Gegenständen verfolgen.

Geodaten lassen sich auch mit den Daten anderer Sensoren des Smartphones verknüpfen. Eine typische Anwendung ist die Kombination aus Kamera und Ortsangabe. Bildaufnahmen werden unmittelbar, zum Beispiel in den Metadaten der Bilddatei, um die Angabe des Aufnahmeortes ergänzt. Auch eine Analyse der Geodaten in Verbindung mit Zeitangaben kann man mit Hilfe von Algorithmen der künstlichen Intelligenz vornehmen. Beispielsweise kann man in langen Zeitreihen nach Mustern in Bewegungsprofilen suchen. Einem Nutzer, der sich etwa immer montags um 8.30 Uhr in der Nähe des Hauptbahnhofs aufhält und später regelmäßig 30 km weiter verortet werden kann, könnte man beim Aufrufen einer Ticket-App ein passendes Bahnticket vorschlagen und mit einem Fingertipp zum Kauf anbieten. Mit derartigen Nutzungen wird versucht, die Wünsche der Anwender zu prognostizieren und daraus mögliche Aktionen für die App abzuleiten. Kommen wir jetzt zu den verwandten Services am Beispiel von Google Maps.

Google Maps Platform

Mit Geodaten kann man eine ganze Menge mehr anfangen, als nur die aktuelle Position zu bestimmen. Ein Einstieg für die Nutzung kann die Google Maps Platform sein, die Sie unter [1] erreichen. Dazu gehören:

  • Directions API: ermittelt Wegbeschreibungen für Nutzer öffentlicher Verkehrsmittel, Radfahrer, Autofahrer oder Fußgänger zwischen mehreren Orten.

  • Distance Matrix API: berechnet Fahrtzeiten und Entfernungen zwischen mehreren Zielen.

  • Roads API: dient der genauen Ermittlung der Route eines Fahrzeugs.

  • Places SDK bzw. API für Android, iOS und JavaScript, um Details zu Orten abzufragen.

  • Geocoding API: dient der Umwandlung von Adressen in geografische Koordinaten und umgekehrt.

  • Geolocation API: ermöglicht es, den Standort eines Geräts basierend auf den Mobilfunkdaten und den WLAN-Knoten abzufragen. Es wird kein GPS verwendet.

  • Time Zone API: Abrufen der Zeitzone für Breiten- und Längengradkoordinaten.

Sehen wir uns das am Beispiel des Geocodings etwas genauer an. Dabei werden Adressen in geografische Koordinaten konvertiert. Diese Koordinaten können Sie dann zum Beispiel für weitergehende Berechnungen nutzen oder die dazugehörigen Orte in einer Karte darstellen. Bei der umgekehrten Geokodierung werden geografische Koordinaten in eine für Menschen lesbare Adresse umgewandelt. Nun wollen wir die Nutzung der Ortungsfunktionen anhand einiger Praxisbeispiele zeigen.

JavaScript – Ortung mittels Webapplikation

Zum Feststellen der Geoposition brauchen wir kein Smartphone mit GPS-Sensor, das funktioniert auch auf stationären Geräten über das Netzwerk (LAN/WLAN). Dabei nutzen wir JavaScript. Ein API kapselt die Komplexität. Zur Ermittlung der Geoposition braucht es nur wenige Zeilen Quellcode, wie Listing 1 zeigt. Im HTML-Dokument haben wir einen Button hinzugefügt, der als Auslöser für das Abfragen der Geoposition dient. Das onclick-Event verweist auf die JavaScript-Funktion getGeoPosition() [2]. Innerhalb dieser Funktion wird mit navigator.geolocation.getCurrentPosition(showMyPosition); die...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang