Am 01.05.2016 um 00:38 schrieb Thomas Heier:
> Moin,
>
> ich fahre heute durch den Elbtunnel (nicht am Steuer) und warte darauf,
> das der GPS-Empfang aussetzt. Wie seit Jahrzehnten gewohnt. Denkste,
> durch die ganze Tunnelstrecke wird auf der Karte (OSMAND) weiter der
> Fahrtverlauf (Kurven, Geschwindigkeisänderungen) angezeigt und
> aufgezeichnet. Gerät: ASUS ZenPad 8.0.
>
> Wurde an der Antennentechnik des Tunnels was verändert? Nimmt OSMAND
> anhand der Karte an wie es weitergeht (dagegen spricht die
> Geschwindigkeitsänderung)? Oder kann das Gerät irgendwie "zaubern"?
OSMAND hat ja für die Bestimmung von Ort, Richtungsvektor und
Geschwindigkeit diverse Möglichkeiten.
Es könnte theoretisch direkt an die Gerätetreiber gehen, aber viel
wahrscheinlicher ist, dass es sich an den Location Service im Android-OS
wendet und der gibt ihm das wahrscheinlichste zurück, was er aus allen
in der jeweiligen Situation jeweils verfügbaren Sensorinformationen
berechnen kann, welche alle für Ortung taugen, also das Ergebnis einer
gewissen Sensordaten und externen Informationen (Informationsfusion).
Also: von den Diensten, die vorhanden sind im Gerät (Hardware),
aktiviert sind (Nutzer/Konfig) und dann noch brauchbare Daten liefern.
Und das sind eine ganze Menge Möglichkeiten.
https://www.asus.com/de/Tablets/ASUS_ZenPad_80_Z380C/specifications/
ASUS ZenPad 8.0
--------------------
Betriebssystem: Android 5.0 (Lollipop)
Location Service
Verfügbare Ortungs-Unter-Dienste:
----------------------------------
1) GPS - braucht Verbindung zu 4 Satelliten. Diese reißt im Tunnel aber ab.
Nun gibt's Unterschiede je nach konkretem Zenpad.
2a) ein Zenpad 8.0 *mit* LTE und SIM-Karte. Und damit auch
GSM/UMTS/LTE-Zellen-Navigation.
Hier kann es Assisted-GPS nutzen: also: vom Mobilfunk-Empfänger kommen
auch Feldstärken der Mobilfunkmast-Signale.
https://de.wikipedia.org/wiki/Assisted_Global_Positioning_System
Das liefert es nach oben, und wenn dort deren Position vorher bekannt
ist, kann daraus eine Entfernung und dann eine Position berechnet werden.
Der Elbtunnel selbst erlaubt durch installierte Antennen die Nutzung von
Mobiltelefonen sowohl im GSM- als auch im UMTS-Bereich. Das dürfte aber
schon einige Zeit so sein.
Fall 2b) Bei einem Zenpad 8.0 ohne LTE und SIM-Karte entfällt diese
Möglichkeit.
Eine echte Mobilfunkverbindung hat dein Zenpad mangels Empfänger nicht.
Wenn du nicht extern was gekoppelt hast (z.B. über Bluetooth oder USB),
bekommt es unterwegs also keine Daten. Und auch keine Feldstärken der
Mobilfunkmast-Signale.
3) Navigation über Entfernung zu WLAN802.11 b/g/n-Basisstationen
Darüber könnte er eine WLAN-Zellen-Navigation machen, wenn er die festen
Positionen der WLAN-Access-Points kennt.
Da glaube ich hier in diesem Fall aber nicht dran. Die meisten WLANs
dort im Tunnel dürften fahrende in anderen Autos sein. Für eine
Navigation nützen aber nur ortsfeste WLAN-APs.
4) E-compass - der ergibt die Ausrichtung im Raum:
https://en.wikipedia.org/wiki/Ecompass
"An eCompass is a tilt compensated electronic compass utilizing an
accelerometer and a magnetometer."
Der Kompass nützt hier aber nicht viel, weil der Elbtunnel eh recht
gerade ist.
5) G-Sensor - darüber ist eine Trägheitsnavigation möglich. Bei
Konstantgeschwindigkeit wirkt das nicht, dann kann man aber weiter die
Geschwindigkeit nehmen, mit der du in den Tunnel gefahren bist und damit
mittels Koppelnavigation (Dead Reckoning) navigieren.
https://de.wikipedia.org/wiki/Koppelnavigation
Bei Geschwindigkeitsänderung bekommt der G-Sensor das aber mit. Und der
Location Service darüber (oder OSMAND, wenn es den Sensor selbst direkt
abfragt) kann es einbeziehen.
Überlagerung mit einem backbone-basierten Ansatz (ein "Cloud-basierter
Dienst" der auch eine gewisse "Schwarmintelligenz" ermöglicht, aber
zentral arbeitet und nicht verteilt): All das oben passiert erstmal nur
im Gerät selbst. Aber es sind ja viele Android-Geräte unterwegs - auch
durch den Elbtunnel. Google selbst sammelt die
Ortungsdaten-Roh-Informationen (z.B. Feldstärken aller möglichen
Drahtlosdienste, GPS-Daten) aus den Geräten auch zusätzlich nochmal bei
sich, wenn man das nicht deaktiviert hat. Basierend darauf kann dann
auch Google nochmal die Daten mit externen Analyse-Algorithmen
untersuchen und daraus verbesserte Daten ableiten. Zum Beispiel ihre
Stammdaten der Basisstationen (Position) gegenprüfen.
Verarbeitung in OSMAND
------------------------
Nun kommt da also irgendwas zurück als Position, Richtungsvektor und
Geschwindigkeit. Das kann OSMAND nochmal verfeinernd korrigieren, weil
es sicher weiß, dass du "Auto" eingestellt hast (OSMAND-Konfig), dass du
in einen Tunnel gefahren bist (da ging GPS noch und dass es ein Tunnel
ist, weiß es aus der Karte, die sowas kennzeichnet).
OSMAND wird deine angenäherte Position also nun auf die Straße und
Fahrtrichtung packen. Den Straßenverlauf an sich weiß es aus der
digitalen Karte.
Gut prüfen kannst du das über eine Aufzeichnung der
Wegstreckeninformationen. Also lass die Position doch mal mitloggen.
http://osmand.net/features?id=trip-recording-plugin
Vermutlich bekommst du da aber nur die resultierende korrigierte
Position. Und nicht die Rohdaten dazu.
Fazit
----------
Erst aus Software-Traces/Debug-Sessions/Netz-Traces könnte man ableiten,
wie die Gewinnung und Verfeinerung/Fusion der Positionsdaten am Ende
wirklich abläuft. Aber oben schon mal die wahrscheinlichen Mechanismen,
die zusammenwirken. Genau genommen sind all diese Dienste noch mit
Metadaten angereicht für die Genauigkeit, Aktualisierungsfrequenz, etc.
Am Ende hat die Anwendung aus allen verfügbaren Sensoren und
Informationen eine recht brauchbare Positionsangabe.
Du kannst es Zaubern nennen, andere nennen es Sensor Data Fusion.
Grüße,
Ralf