claus ginsel: Hat jemand Erfahrung mit der HTML5 Geolocation API?

Hallo

Ich verwende privat die Geolocation-API, es gibt kein Problem mit den Werten von Latitude und Longitude, den gibt es nur mit der Altitude.

Wenn ich zum Beispiel mit meinem Handy, GPS integriert, die Koordinaten für meinen aktuellen Standort abfrage, lande ich bei 115 m statt 69 m, den Wert von Google Maps. Ich habe den Eindruck, dass die Höhe immer etwas weniger als das Doppelte des tatsächlichen Wertes ist.

Hat jemand eine Erklärung dafür? In der Dokumentation auf W3C lese ich, dass der Wert in Metern ist, hab schon überlegt, ob vielleicht eine andere Einheit dahinter steckt.

Hier der Code:

function successCallback(position) 
{ 
  document.getElementById("alt").value = position.coords.altitude + ", " + position.coords.altitudeaccuracy; //first false, second "undefined"
  document.getElementById("lat").value = position.coords.latitude;  //right
  document.getElementById("lon").value = position.coords.longitude; //right
  document.getElementById("acc").value = position.coords.accuracy; //apparently correct
}
function errorCallback(error) {if (error.code!=3) alert(error.code.toString()); }
let myGeo = new Object;
myGeo.myNavi = window.navigator.geolocation;
let options = { enableHighAccuracy: true, timeout: 8000, maximumAge: 0 };
myGeo.id = myGeo.myNavi.watchPosition(successCallback, errorCallback, options);

Ich habe nur Handys mit Android. Meine Browser sind Samsung Browser und Chrom

Gruß Claus

  1. Hallo,

    ich glaube nicht, dass das mit der API zusammenhängt. Ohne weitere Hilfsmittel hat GPS eine ausreichende Genauigkeit für Längen- und Breitengrad, aber bei der Höhenbestimmung ist der Fehlerbereich einfach deutlich größer.

    Dass du einen systematischen Fehler zu erkennen glaubst, kann tatsächlich in deiner Region so sein, wird aber anderswo und/oder zu anderen Zeiten anders sein.

    Gruß
    Kalk

    1. Hallo Tabellenkalk

      ein Fehler ist es sicher nicht. Aber wäre schon schön, auf den "wahren" Wert zu kommen, oder gegebenenfalls umzurechnen.

      Gruß Claus

      1. Hallo,

        ein Fehler ist es sicher nicht.

        Ein Fehler ist sicher enthalten. Bei Länge und Breite kein allzu großer. Bei der Höhe ein deutlicher.

        Bei Messwerten immer. Der „wahre“ Wert ist und bleibt unbekannt…

        Gruß
        Kalk

  2. Hallo Claus,

    Ich verwende privat die Geolocation-API, es gibt kein Problem mit den Werten von Latitude und Longitude, den gibt es nur mit der Altitude.

    Wenn ich zum Beispiel mit meinem Handy, GPS integriert, die Koordinaten für meinen aktuellen Standort abfrage, lande ich bei 115 m statt 69 m, den Wert von Google Maps.

    wie kann ich denn bei Google Maps die Höhe über NN abfragen? Das ist mir bisher nicht gelungen.

    Ich habe den Eindruck, dass die Höhe immer etwas weniger als das Doppelte des tatsächlichen Wertes ist.

    Ich hätte eher vermutet, dass es Zufall ist. Hast du es mal mit den Angaben von irgendeinem anderen Gerät verglichen? Ein KFZ-Navi beispielsweise?

    Prinzipbedingt muss ein GPS-Empfänger mindestens drei Satelliten "sehen", um überhaupt eine Position (Lat/Lon) herauszufinden. Für eine zusätzliche Höhenbestimmung sind mindestens vier erforderlich. Die Höhenangabe ist aber per se relativ ungenau; die Genauigkeit wird aber besser, je mehr Satelliten das Gerät empfängt.

    Hat jemand eine Erklärung dafür? In der Dokumentation auf W3C lese ich, dass der Wert in Metern ist, hab schon überlegt, ob vielleicht eine andere Einheit dahinter steckt.

    Das wäre aber - wenn deine Beobachtung allgemein stimmt - eine sehr komische Einheit. Müsste ja so etwa 1.30 .. 1.50m sein. Dazu passen nicht einmal amerikanische Füße.

    Einen schönen Tag noch
     Martin

    --
    Wer nicht genießt, wird ungenießbar.
    (Mottospruch auf einem T-Shirt)
    1. Hallo Martin

      wie kann ich denn bei Google Maps die Höhe über NN abfragen? Das ist mir bisher nicht gelungen.

      einfach eine Route auf eine kurze ebene Strecke legen und dann links unter Details schauen, dort stehen die Höhenangaben

      1. Hi,

        wie kann ich denn bei Google Maps die Höhe über NN abfragen? Das ist mir bisher nicht gelungen.

        einfach eine Route auf eine kurze ebene Strecke legen und dann links unter Details schauen, dort stehen die Höhenangaben

        ach so, du meinst das Höhenprofil, das dann unter den Routendetails angezeigt wird? Das kenne ich wohl. ich dachte aber an sowas wie irgendwo auf die Karte klicken oder einen Marker setzen und dann Detailinformationen abfragen.

        Einen schönen Tag noch
         Martin

        --
        Wer nicht genießt, wird ungenießbar.
        (Mottospruch auf einem T-Shirt)
        1. Hallo Martin

          ich hab gerade eine Seite gefunden, die gibt Dir nach Auswahl auf Karte oder nach Eingabe von lat lon die Höhe aus:

          https://www.koordinaten-umrechner.de/

          1. Hallo,

            ich hab gerade eine Seite gefunden, die gibt Dir nach Auswahl auf Karte oder nach Eingabe von lat lon die Höhe aus:

            https://www.koordinaten-umrechner.de/

            und ich habe mal einen Link draus gemacht. Kurz ausprobiert ... schade, ein Satz mit X:

            Diese Funktion ist nur für Mitglieder verfügbar. Bitte melden Sie sich an oder erstellen sie sich einen kostenlosen Zugang.

            Dann eben nicht.

            Einen schönen Tag noch
             Martin

            --
            Wer nicht genießt, wird ungenießbar.
            (Mottospruch auf einem T-Shirt)
            1. Wo warst Du denn drauf? Ich hab mich auch nicht angemeldet und habe für meinen aktuellen Standort wieder 69 m, wie Google Maps, erhalten.

              1. Wo warst Du denn drauf?

                Voilà:

                Screenshot

                Rechts ziemlich weit nach unten gescrollt, und auf den Taschenrechner neben "Höhe" geklickt (im Screenshot rot markiert). Wie sonst?

                Ich hab mich auch nicht angemeldet und habe für meinen aktuellen Standort wieder 69 m, wie Google Maps, erhalten.

                Wie machst du das? Wo wird der Wert angezeigt?

                Einen schönen Tag noch
                 Martin

                --
                Wer nicht genießt, wird ungenießbar.
                (Mottospruch auf einem T-Shirt)
                1. Genau da!

                  Aber ich seh gerade, dass er mich beim 2. mal auch zur Anmeldung auffordert 😕

                  Immer aber auch diese Gratis-Mentalität der Besucher 🙄

                  Schönen Feierabend

                  1. Hi there,

                    Aber ich seh gerade, dass er mich beim 2. mal auch zur Anmeldung auffordert 😕

                    Naja, aber wenn Du das ohnehin in einem Skript verwenden willst, ist das ja kein Problem. Cookies lassen sich automatisch und manuell löschen (wenn nicht, unwahrscheinlicherweise, ein anderes Verfahren zur Anwendung kommt)...

    2. Ich hätte eher vermutet, dass es Zufall ist. Hast du es mal mit den Angaben von irgendeinem anderen Gerät verglichen? Ein KFZ-Navi beispielsweise?

      Ich vergleiche meine Werte dann mit dem Wert von Google Maps am heimischen PC. Auch in anderen Regionen zeigte sich bisher diese Abweichung.

      Prinzipbedingt muss ein GPS-Empfänger mindestens drei Satelliten "sehen", um überhaupt eine Position (Lat/Lon) herauszufinden. Für eine zusätzliche Höhenbestimmung sind mindestens vier erforderlich. Die Höhenangabe ist aber per se relativ ungenau; die Genauigkeit wird aber besser, je mehr Satelliten das Gerät empfängt.

      Ich verwende meine App eigentlich nur outdoor, also irgendwann sollte ich schon mal in den Genuss von mehr als 3 Satelliten gekommen sein. Auch sollte die API, wenn geometrisch gar nicht möglich, weil zu wenige Satelliten, natürlich auch keinen Wert ausgeben.

      Gruß Claus

      1. Ich wusste gerne, wie ihr mit Google Maps die Höhe bestimmt. Mir wurde noch nie ein Höhenprofil angezeigt und auch keine Höhe.

        1. Hallo,

          Ich wusste gerne, wie ihr mit Google Maps die Höhe bestimmt.

          das wollte ich ja auch wissen. Es geht anscheinend nur von hinten durch die Brust ins Knie.

          Mir wurde noch nie ein Höhenprofil angezeigt und auch keine Höhe.

          Angenommen du möchtest die Höhe des Ortes $foo wissen. Dann lass dir eine Route von $x nach $foo oder von $foo nach $x berechnen (wobei $x beliebig ist). Gib dann in den Routenplaner-Details an, dass du mit dem Rad fahren oder zu Fuß gehen willst (fürs Auto gibt Google anscheinend keine Höheninformationen an). Dann bekommst du ganz unten unter den Routenanweisungen ein Höhenprofil für die gesamte Strecke angezeigt.

          Für Radfahrer ist das besonders interessant: Da sieht man gleich, ob man euf der Strecke extreme Steigungen erwarten muss.

          Einen schönen Tag noch
           Martin

          --
          Wer nicht genießt, wird ungenießbar.
          (Mottospruch auf einem T-Shirt)
          1. Ich bekomme kein Höhenprofil angezeigt, egal ob ich eine Route für Auto, Fahrrad oder Fußgänger berechnen lasse.Das ist eine Fahrrad-Route. Wo soll da ein Höhenprofil sein?

            Übrigens lässt Google mich einige Umwege fahren, um Radwege zu vermeiden. Ich fahre die von Saarstr. 2 in Weingarten nach Boschstr. 5 in Speyer nur 17 km und fahre durchgehend Radwege oder asphaltierte Feldwege. Die Google-Strecke über Landstraßen ohne Radweg ist was für Mutige, sie ist deutlich weiter und ich muss durch 3 Ortschaften mit lauter Rechts-vor-links-Kreuzungen. Ich fahre nur durch einen Ort.

            1. Moin Friedel

              sieh mal hier, unten links

              Google macht eben auch nicht alles perfekt

              Gruß Claus

              1. Hallo,

                sieh mal hier, unten links

                Friedel hat einen Screenshot gepostet, wie es bei ihm aussieht. Dort könntest du ihm markieren, wo er gucken soll.

                Dein Screenshot, wie es bei dir aussieht, hilft ihm relativ wenig…

                Gruß
                Kalk

                1. Hallo Tabellenkalk,

                  habe gerade mal etwas gespielt. Es gibt zwei Varianten:

                  • Flachland: Dann sieht man auf der Seite mit der Routenauswahl unten einen Hinweis wie "Größtenteils flach" oder "Überwiegend flach". Den kann man ausklappen. Öffnet man eine der Wegbeschreibungsseiten, gips kein Höhenprofil.

                  • Hügelige/gebirgige Route: Das Höhenprofil wird sowohl auf der Routenauswahl wie auf der Wegbeschreibungsseite angezeigt.

                  Diese Höhenangaben haben aber nichts mit einer GPS-Messung auf dem Gerät zu tun, sondern entstammen, soweit ich weiß, dem bei Google gespeicherten Höhennetz der Welt, aus dem auch die Geländeansicht generiert wird.

                  Rolf

                  --
                  sumpsi - posui - obstruxi
                  1. Hallo,

                    Diese Höhenangaben haben aber nichts mit einer GPS-Messung auf dem Gerät zu tun, sondern entstammen, soweit ich weiß, dem bei Google gespeicherten Höhennetz der Welt, aus dem auch die Geländeansicht generiert wird.

                    Das ist z.B. das, was ich mit weiteren Hilfsmitteln meinte. GPS ist für Höhe nicht genau, man muss entweder mit den XY-Koordinaten eine Datenbank befragen oder man benötigt zusätzliche stationäre Referenzstationen für Differential-GPS.

                    Gruß
                    Kalk

                2. Hallo

                  Friedel hat wahrscheinlich die Detail ausgeklappt, dann ist der betreffende Teil nach unten verschoben und auf dem Plot nicht sichtbar

                  Gruß Claus

                  1. Danke erstmal an Euch

                    Ich hab das Problem in ein Geodäten-Forum gestellt.

                    Gruß Claus

                    1. Hallo

                      hier ist die Erklärung:

                      GPS liefert die Höhe über dem Ellipsoiden, eine rein geometrische Höhe.

                      Wenn man von Höhe NN oder Meeresspiegel spricht wie bei Google Maps, dann ist das die physikalische Höhe.

                      Eine Umrechnung kann man auf der Seite Umrechnung ellipsoide in physikalische Höhe vornehmen

                      In einer Region kann man die Differenz aus beiden als relativ konstant ansehen.

                      Gruß Claus