Quantcast
Channel: Recent posts
Viewing all articles
Browse latest Browse all 23

Vom GPS zur Geolokalisierung

$
0
0

Die Netbook-Plattform bietet eine Reihe interessanter Funktionen, die nicht nur auf lange Akkulaufzeit, bequeme Tragbarkeit und den robusten Intel® Atom™ Prozessor beschränkt sind. Allerdings sind nur wenige Netbook-Modelle mit einem GPS-Empfänger ausgestattet. Bei der iPhone-Plattform haben wir uns an die Verfügbarkeit dieser nützlichen Funktion gewöhnt.

Viele Anwendungen sind standortabhängig. Daher sind bestimmte Funktionen ohne entsprechende Dienste möglicherweise beeinträchtigt oder überhaupt nicht verfügbar. Erfreulicherweise gibt es eine Alternative zur GPS-Funktionalität, die den meisten Anwendungen ausreichend Informationen zur Verfügung stellt, um standortabhängige Funktionen bereitzustellen.

Geolokalisierung im Überblick

Geolokalisierungsdienste ermöglichen die ungefähre Standortbestimmung eines Benutzers auf Basis der IP-Adresse. Beachten Sie jedoch, dass dieser Dienst nicht denselben Genauigkeitsgrad liefert wie GPS und für Navigationszwecke ungeeignet ist. Sie können ungefähre Werte für den Längengrad, den Breitengrad, das Land, die Region und die Stadt ermitteln. Unter anderem eignen sich folgende Anwendungen für den Umstieg zur Geolokalisierung:

  • Restaurantsuche
  • Stadtführer
  • Soziale Netzwerke

Grundlegende Anforderungen und Dienstmodelle

Die wichtigste Voraussetzung für die Nutzung dieses Dienstes ist die Verfügbarkeit einer Internetverbindung. Sie wird für den Zugriff auf den Geolokalisierungswebdienst benötigt. Beachten Sie vor Projektbeginn, dass zwei Dienstmodelle zur Verfügung stehen.

Option 1 – Hosting durch einen Provider

Option 1 – Hosting durch einen Provider: Bei dieser Geolokalisierungslösung aktualisiert der Provider die Datenbank und stellt eine SOAP-Webdienstschnittstelle bereit. Wenn Sie sich für diese Variante entscheiden, haben Sie keinerlei Wartungsaufwand. Die Kosten dieses Modells basieren normalerweise auf der Anzahl der von Ihnen gestellten Suchanfragen. Ich habe ein Kostenbeispiel für einen Geolokalisierungsdienst gefunden, das bei etwa 49 USD für 10.000 Anfragen liegt (Ip2Location).

Option 2 – Eigenes Hosting

Als Alternative können Sie eine Geolokalisierungsdatenbank kaufen (und, insofern möglich, den Webdienstcode). Die Datenbank führen Sie anschließend auf Ihrem eigenen Webserver aus. In dieser Kategorie gibt es sowohl kostenlose wie auch kostenpflichtige Angebote. Der Hauptvorteil dieser Lösung besteht darin, dass Sie mit einer unbeschränkten Anzahl von Anfragen arbeiten können. Beachten Sie, dass Sie die Datenbank regelmäßig aktualisieren sollten.

Und das bringt uns zur Wahl eines Geolokalisierungsproviders. Sie werden feststellen, dass das Angebot an Providern und Diensten die gesamte Skala abdeckt: von kostenlos bis hin zu ziemlich kostenintensiv. Und wie meistens erhalten Sie auch hier, was Sie bezahlen. Ich habe in der Vergangenheit mit MaxMind GeoLite City hervorragende Erfahrungen gemacht, sowohl in puncto Verfügbarkeit als auch bei der Präzision. Es gibt auch einige kostenlose Provider, die Sie für kleinere Projekte nutzen können.

Kostenloser Geolokalisierungsdienst: http://www.ipinfodb.com

Caching der Ergebnisse

Um die Effizienz zu steigern, sollten Sie Ihre Geolokalisierungslösung mit einer Caching-Funktionalität versehen. Hierzu könnten Sie zum Beispiel einfach die aktuelle IP-Adresse bzw. den Geolokalisierungspositionswert speichern und bei einer Netbook-IP-Änderung aktualisieren. Falls Sie sich für das Hosting durch einen Provider entscheiden, beachten Sie, dass einige Provider ihre Dienste zwar kostenlos anbieten, bei den meisten jedoch Kosten anfallen. Und daher gilt: Je weniger Anfragen Sie an den Provider senden, desto geringer sind Ihre Kosten.

Budgettipp

Falls Sie Bedenken haben, dass die Kosten pro Suche insgesamt zu hoch werden könnten, sollten Sie sich für einen von Ihnen gehosteten Suchserver entscheiden. Im Wesentlichen laden Sie bei dieser Lösung die gesamte IP-Suchdatenbank herunter und führen den Geolokalisierungssuchdienst auf Ihrem eigenen Server aus. Falls Sie vorhaben, Tausende von Geolokalisierungssuchen pro Minute durchzuführen, ist diese Lösung die kosteneffizienteste. Vergessen Sie nicht, einen zuverlässigen Systemwiederherstellungsplan einzurichten, falls Ihre Server ausfallen sollten. Der Plan könnte zum Beispiel einfach nur vorsehen, dass der Zugriff auf die Lokalisierungsfunktionen Ihrer Anwendung in diesem Fall nicht möglich ist.

Beispiel: GeoLite City C API

Dieses einfache Beispiel zeigt, wie Sie mit der GeoLite City C API den Ländercode der angegebenen IP-Adresse erhalten:

#include <GeoIP.h>
int main (int argc, char *argv[]) 
{
  GeoIP * gi;
  gi = GeoIP_new(GEOIP_STANDARD);
  printf("code %s\n", GeoIP_country_code_by_name(gi, "10.10.5.1"));
}

Grad der Lokalisierungsdetails

Je nach Serviceprovider kann der Umfang der bereitgestellten Lokalisierungsdetails abweichen. Die meisten Anbieter liefern zumindest das Land und die Region. Erweiterte Funktionen umfassen die Stadt, die Postleitzahl und die Koordinaten. Als wertsteigernde Funktionen können darüber hinaus die Verbindungsgeschwindigkeit des Benutzers und die Vorwahl angeboten werden. Diesen Zusatzinformationen sollten Sie beim Portieren Beachtung schenken, da sie Funktionsverbesserungen ermöglichen.

Beispiel der vom Ip2Location-Webdienst zurückgegebenen Details:

Überschreibfunktion

Obwohl die Geolokalisierung gute Dienste und Nutzungseigenschaften bietet, funktioniert sie nicht fehlerfrei. Wenn sich ein Benutzer hinter einem Proxy oder in einem VPN befindet, ist die Standortbestimmung möglicherweise ungenau. Ein weiteres Beispiel sind Satelliten-ISPs (Hughes, Wild Blue usw.), deren öffentliche IP-Adressen von verschiedenen Netzwerkbetriebszentren im ganzen Land stammen können und daher nicht den tatsächlichen Standort des Benutzers widerspiegeln.

Für diese Situationen ist es ratsam, eine Funktion bereitzustellen, die die vom Geolokalisierungsdienst bereitgestellten Angaben überschreibt. Der Zugriff auf diese Funktion sollte einfach und praktisch sein. Der Benutzer sollte die Möglichkeit haben, zum Beispiel eine Stadt oder eine Region einzugeben. Denken Sie daran, dass Benutzer im Normalfall den Längen- und Breitengrad ihres Standorts nicht kennen.

Was soll ich tun, wenn ich GPS-Hardware benötige?

Die Geolokalisierung ist nicht in jedem Fall eine brauchbare Alternative zur GPS-Hardware. Die Detailgenauigkeit ist möglicherweise zu gering, etwa bei Navigationsanwendungen. In diesem Fall sind nur in Echtzeit von der GPS-Hardware ermittelte Standortdaten ausreichend.

Neben den Nutzungseigenschaften ist es ebenfalls von Bedeutung, dass die Erwartungen des Benutzers an die Software erfüllt werden. Daher ist es wichtig, dass Sie in der Metadatenbeschreibung angeben, ob GPS-Hardware benötigt oder empfohlen wird. Wenn Ihre Anwendung einen GPS-Empfänger einer bestimmten Marke benötigt, geben Sie in Ihrer Beschreibung ebenfalls den Hersteller an. Dadurch vermeiden Sie, dass Kunden enttäuscht sind und im AppUp Center negative Erfahrungsberichte veröffentlichen.

GPS-Kompatibilität

So wie es viele Netbook-Hersteller gibt, wird auch GPS-Hardware von unterschiedlichen Firmen angeboten. Während jeder Hersteller eine Hardware-spezifische Schnittstelle anbietet, liefern die meisten die von uns benötigten Daten auch über einen virtuellen seriellen Port. Diese Lokalisierungsdaten werden im NMEA-Standard (http://www.gpsinformation.org/dale/nmea.htm) bereitgestellt. NMEA-formatierte Daten können einfach analysiert und für Standortaktualisierungen in Echtzeit genutzt werden. Hierfür stehen verschiedenen Parser-Bibliotheken zur Auswahl. Wenn Sie nach „NMEA Parser“ suchen, werden Sie eine Reihe nützlicher Ergebnisse erhalten.

Auf zum Portieren

Da Sie nun mit der Nutzung der Geolokalisierung für portierte iPhone-Anwendungen vertraut sind, überlegen Sie, ob Sie diesen Dienst anstelle herkömmlicher GPS-Hardware einsetzen können. Auch wenn die Funktionalität nicht identisch ist, können Benutzer mit diesem Lokalisierungsdienst ohne GPS-Hardware standortabhängige Funktionen Ihrer Anwendung verwenden.

Sollte für die Nutzung Ihrer Anwendung GPS-Hardware erforderlich sein, beschreiben Sie diese Anforderung deutlich in der Metadatenbeschreibung.


Viewing all articles
Browse latest Browse all 23


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>