GPS zu ungenau 50 km danaben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Nähere Dich Deinem Problem doch einmal analytisch / strukturiert. Du hast streng genommen drei mögliche Baustellen
    1. Die Standortbestimmung liefert zu ungenaue Ergebnisse. Hier hattest Du mindestens drei Fehler: Akzeptieren und Abbrechen nach der ersten Messung, Verfälschen durch falsche Zahlentypen und Weitergabe ungenauer Messungen. Jetzt scheint es gut auszusehen, aber das solltest Du mit Log-Ausgaben direkt vor dem API-Aufruf verifizieren.
    2. Der API-Aufruf ist fehlerhaft: Vergleiche Deine Übergabe mit dem, was die API als Eingabe protokolliert (wenn sie das liefert) und prüfe die Dokumentation der API. Vielleicht benötigt sie ja Koordinaten auf drei Stellen gerundet oder ähnliches.
    3. Die API selber liefert schlicht keine Ergebnisse in der Granularität, die Du erwartest. Übergib doch einfach einmal per direkter Zuweisung Deinen Standort und schaue Dir das Ergebnis an. Dann ist das Thema CLLocationManager aus der Betrachtung raus. Hier hilft nur abfinden oder API wechseln (oder an deren Community teilnehmen und selber Wetterdaten beisteuern).
    Dein Hauptproblem ist m. E., dass Du das Problem nicht in Teilaspekte zerlegst und diese dann mit Deinem Code verifizierst ... durch Ausgaben, Wertezuweisungen etc. Ich führe derartige Schritte schon bei Schreiben von Code durch, indem ich Funktionen zunächst teilweise implementiere und mit Dummy-Eingaben teste. Oder umgekehrt manche Funktionen erst einmal feste Werte liefern, so dass ich deren Aufrufer testen kann. Das ist für mich Programmieren: Das zerlegen komplexer Probleme in lösbare Teilaufgaben ... und die muss man testen.

    Letztlich wohl Übungssache und ich entschuldige mich, wenn ich dann beim Versuch das zu vermitteln manchmal die Geduld verliere.

    Setz' Dich mal minutiös mit "Deinem" Code auseinander und überlege, wie Du einzelne Funktionen separat testen kannst ... das oben mag ein Weg sein. Und überlege, ob die Anführungsstriche im vorigen Satz ein Teil des Problems sind: Ich zumindest würde als Anfänger nicht mit (komplexerem) Fremdcode arbeiten und bezweifle dessen Lerneffekt.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Ich hab vieles getestet und hab meine Koordinaten übergeben damit geht es super und ich finde einfach den fehler nicht deswegen habe ich ja meinen code gepostet vielleicht übersehe ich ja was. Hab sovieles versucht und bin echt ratlos

    edit: ich probiers mal mit double formatieren. Jetzt muss ich nur noch herausfinden wie man das macht. Wieviele stellen nach dem komma sind denn bei Koordinaten wichtig ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sebi89 ()

  • Arbeite nicht mit Vermutungen! "Ich probier's mal mit double formatieren" ... Was für eine Formatierung ist das und welches Ergebnis erwartest Du? Finde lieber heraus, wie (Darstellung, Genauigkeit) die API Übergaben erwartet.

    Wie viele Nachkommastellen bei geografischen Koordinaten "wichtig" sind, hängt davon ab, wie genau Du eine Position brauchst und weiterverarbeiten kannst. Als Anhaltspunkt könntest Du ja einmal selber recherchieren ... hier sieht man, dass für 1 km etwa 2 Dezimalen benötigt werden.

    Es hilft mir, ein Problem (und bisherige Hinweise) einmal in Ruhe zu überdenken, statt direkt den nächsten Forums-Beitrag mit einer Folgefrage abzusetzen. Teste Deinen Code auf Herz und Nieren - z. B. mit Log-Ausgaben - und beschäftige Dich detaillierter mit den Möglichkeiten und Grenzen der verwendeten API. Ich glaube nicht, dass ein Forumsbeitrag ohne dies wirklich weiterhelfen kann.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Du brauchst an dieser Stelle keinen Numberformatter. Baue nochmal ein paar Prints ein latitude, longitude, die url usw. und poste die evtl. Auch mal hier. Die URL kannst du dann auch einfach mal in den Browser eingeben und die Serverantwort vergleichen. Wobei ich glaube, dass der Service dir schon das richtige liefert du nur ein Problem mit der Genauigkeit hast.
    Das Herz besitzt Gründe, die die Vernunft nicht kennt.
  • pierredrks schrieb:

    Du brauchst an dieser Stelle keinen Numberformatter. Baue nochmal ein paar Prints ein latitude, longitude, die url usw. und poste die evtl. Auch mal hier. Die URL kannst du dann auch einfach mal in den Browser eingeben und die Serverantwort vergleichen. Wobei ich glaube, dass der Service dir schon das richtige liefert du nur ein Problem mit der Genauigkeit hast.
    also latitude und logitude stimmen wenn ich die eingebe bei google earth dann komm ich da raus wo ich wohne. url scheint auch zu stimmen aber meine stadt heißt nicht Enerke weil gibt es nicht sondern Wetter Ruhr wohne ich. entweder ist da was kaputt oder keine ahnung. hier ist die url api.openweathermap.org/data/2.…7266&units=metric&lang=de hoffe geht auch so musste leider den api key darausnehmen für hier zum posten

    edit: wenn ich die ganze url auch eingebe im browser dann kommt die JSON auch

    edit 2 : ich glaub ich hab den fehler also der server bekommt die richtigen coordinaten aber die JSON zeigt dann nur noch 2 nachkomma stellen an und nicht mehr die die ich übergeben habe so kommt dann ne andere stadt raus

    edit 3: Die API ist müll. openweathermap kennt nicht mal Wetter Ruhr die Seite zeigt auch Enerke an. kennt jemand noch eine gute Wetter API die kostenlos ist und JSON kann ??

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Sebi89 ()

  • Nö ohne API key geht es nicht.

    Enerke scheint aber was bei dir in der Nähe zu sein (Stadtteil, Landkreis o.ä.). Vermutlich ist die Region in der API als Enerke bekannt. Du kannst entweder mal testen wie die Ergebnisse in Hagen oder Dortmund aussehen würden, oder du kannst schauen was der Reverse Geocoder als Ortsnamen ausspuckt und evtl. den nutzen.
    Das Herz besitzt Gründe, die die Vernunft nicht kennt.
  • Sebi89 schrieb:

    Weis den keiner weiter ? Liegt es an openweathermap ? Ist die Api nicht gut ??
    Gehen wir doch mal von der fachlichen Seite aus, und setzen, die NOAA als gesetzt.

    dann musst froh sein, wenn das Grid in einer 50sm Auflösung passende Ergebnisse liefert. Also, egal, wie haarklein du das haben willst, die Daten geben es einfach nicht her. Also mein Tipp, vergiss es einfach, hier ist die halbe Gridauflösung doch schon ein zuviel an, augenwischerei, Genauigkeit.

    Keep cool und relax
    Wolf