Hallo,
in Osmand 2.5.4 (event. auch schon früher) gibt es unter den Entwickler-Plugins den Auswahlpunkt: “Magnetsensor anstatt Lagesensor nutzen”.
Was bewirkt diese Auswahl bzw. ist es sinnvoll diese beim Smartphone bzw. Tablet zu aktivieren? In den Grundeinstellungen ist sie nicht aktiviert.
Es gibt zwei Möglichkeiten, die Orientierung des Gerätes zu erhalten:
1.) Bei “Magnetsensor anstatt Lagesensor nutzen” verwendet OsmAnd den Beschleunigungssensor (Längsachse und Querachse) und den Kompass (Vertikalachse) zur Berechnung der Orientierung des Gerätes.
2.) Ist diese Option nicht aktiviert, so wird ein virtueller (da üblicherweise aus Beschleunigungssensor und Kompass berechnet) Orientierungs-Sensor (veraltet) verwendet, welcher die Orientierung des Gerätes direkt liefert.
Manche Gerätehersteller haben einen Fehler bei der Implementierung einer der beiden Möglichkeiten gemacht, deshalb bietet OsmAnd an, zwischen diesen beiden Möglichkeiten umschalten zu können, je nachdem ob man ein Gerät mit Fehler hat oder nicht.
Wenn beide Optionen auf einem Gerät funktionieren, dann gibt es kein besser Option, beide sind gleichwertig.
Wenn nur eine der beiden Optionen funktioniert, dann ist die funktionierende die bessere Option…
Gleichwertig nicht unbedingt.
Magnetsensoren werden durch Eisenmassen in der Umgebung z.T. stark beeinflusst, in höheren nördlichen Breiten werden sie immer ungenauer.
Bei aus Beschleunigung berechneter Richtung kumulieren sich die Fehler nach einiger Zeit bis zur Unbenutzbarkeit, da hilft nur Neuikalibrierung.
Beide haben also spezifische Vor- und Nachteile, es kommt also auf den Anwendungsfall (z.B. Stadt/Land) an.
Okay,
da ich bisher keine Probleme bemerkt habe und nach dem probehalter Aktivieren der Funktion auch nicht gemerkt habe bleibt alles bei Alten.
Danke schön
Die Unterscheidung ist hier aber nur softwaretechnischer Natur.
Beide Funktionen greifen auf die selben physikalischen Sensoren (Beschleunigungssensor und Kompass) zu.
Der von Android bereitgestellte virtuelle (!) Sensor wurde als veraltet gekennzeichnet und wird irgendwann entfernt, die neue Funktion erzwingt das softwaretechnisch getrennte Abfragen beider Sensoren, deren Werte kann man dann wiederum mit einer Hilfsfunktion in die Orientierung umrechnen lassen.
Hintergrund ist, dass viele Programmierer die alte Funktion (virtueller Sensor) einfach verwendet haben, aber nicht verstanden, was da physikalisch (Beschleunigungssensor und Kompass) eigentlich dahinter steht, wodurch es zu einigen Fehlinterpretation durch diese kam.
Das Problem, welches einige Hersteller hatten, war übrigens nach meiner Erinnerung, dass die Rotationsmatrix als 4x4-Matrix (Array der Länge 16) abgespeichert war, diese dann aber beim Auslesen als 3x3-Matrix (Array der Länge 9) interpretiert wurde.
Folglich wurden falsche Werte aus der Matrix gelesen und das Ergebnis war falsch…