Schlagwort-Archive: AGPS

Eine freie GSM-Masten-Datenbank für offline Standortbestimmung

GPS erlaubt Nutzern von Smartphones und anderen Geräten, auf der ganzen Welt gebührenfrei ihren Standort zu bestimmen. Leider kann so eine Standortbestimmung je nach Witterung bzw. Sichtverhältnis zu den GPS-Satelliten mitunter mehrere Minuten dauern. Um dies zu beschleunigen, kann man auf das „A“ in „AGPS“ zurückzugreifen, das für „Assisted“ steht, die Miteinbeziehung der sichtbaren GSM-Masten in die Standortbestimmung. Welche Masten verfügbar sind, erlaubt praktisch verzögerungslos einen Rückschluss auf die ungefähre Position, die ggf. auch mit unvollständig vorliegenden GPS-Werten verfeinert werden kann.

Für diese Triangulation ist freilich erforderlich, dass man den Standort der jeweils sichtbaren GSM-Masten kennt. Um die Standorte abzurufen, greifen Smartphones ab Werk auf das Internet zu, doch dies bringt einige Probleme mit sich:

  • Es setzt voraus, dass eine Internet-Verbindung besteht.
  • Es erzeugt zusätzlichen, ggf. kostenpflichtigen Traffic.
  • Es öffnet eine Tür für Manipulationen der Standort-Daten.
  • Es ermöglicht dem Provider, den eigenen Standort festzustellen.

Die Lösung ist eine offline-Datenbank, also eine Datenbank aller GSM-Masten weltweit, die der Benutzer bei bestehender Internetverbindung, also z.B. im häuslich WLAN, herunterlädt zusammen mit einer Ersatz-App für den Standort-Dienst (Location Provider), welche anstelle der Internetverbindung die lokale Datenbank nutzt.

UnifiedNlp ist eine solche App und es gibt verschiedene Datenbanken für sie.

Tobias Kuban hat nun auf Github die Datenbanken von OpenCellId und Mozilla Location Services zu einer globalen Karte von GSM-Masten für UnifiedNlp zusammengeführt. Die Datenbank ist entpackt ca. 1 GB groß und kann hier heruntergeladen werden:

Nach dem Herunterladen des Archivs kann es mit xz (Linux) oder 7-Zip (Linux,Windows) entpackt werden:

und bei per microUSB angeschlossenem Smartphone mit adb rübergeladen werden:

Dazu muss noch das UnifiedNlp Frontend und Backend installiert werden, z.B. aus F-Droid.