Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Adressen Datenbank - Entfernungen schnell messen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Adressen Datenbank - Entfernungen schnell messen

    Hallo Zusammen,

    ich befasse mich zurzeit mit dem Thema Adressdaten vergleich / Entfernungen berechnen etc.

    Von Google gibt es ja bereits nützliche Hilfestellung (Geocoding API) jedoch, was mache ich mit den Daten?

    Ein Eintrag hätte ja folgende Werte:

    Straße / Hausnummer
    PLZ, Ort
    und die Koordinaten Lat / Long

    Nun kann ich auf Basis von Lat und Long ja die Luftlinie zwischen zwei Adressen berechnen.

    Nur wie sieht hier meine Datenbank aus?
    Wenn ich zB eine Adresse mit allen anderen in der Datenbank vergleichen möchte, wäre dies (je nach Anzahl der Einträge) vermutlich ein riesen Aufwand (an Leistung).


    Gibt es hier gute Ansätze worauf man achten sollte?
    Mein erster Gedanke war, dass man diese Berechnungen jeweils (pro Adresskombi) ja nur einmal ausführen muss und dadurch wäre es dennoch schnell.
    Jedoch können sich Adressen von Nutzern ja schnell ändern (es ist also immer variabel).


    Ich bin dankbar für Ansätze!
    Bin auch parallel nach wie vor am googeln, bisher finde ich aber nur die Berechnungen für die Luftlinie (das habe ich ja bereits).

    Es geht mir um den Distanzvergleich mit 1000den Einträgen.


    Bedanke mich recht herzlich für jeden Vorschlag / hilfreichen Hinweis!



  • #2
    Zitat von Quellcode Beitrag anzeigen
    Hallo Zusammen,

    ich befasse mich zurzeit mit dem Thema Adressdaten vergleich / Entfernungen berechnen etc.

    Von Google gibt es ja bereits nützliche Hilfestellung (Geocoding API) jedoch, was mache ich mit den Daten?

    Ein Eintrag hätte ja folgende Werte:

    Straße / Hausnummer
    PLZ, Ort
    und die Koordinaten Lat / Long

    Nun kann ich auf Basis von Lat und Long ja die Luftlinie zwischen zwei Adressen berechnen.

    Nur wie sieht hier meine Datenbank aus?
    Wenn ich zB eine Adresse mit allen anderen in der Datenbank vergleichen möchte, wäre dies (je nach Anzahl der Einträge) vermutlich ein riesen Aufwand (an Leistung).


    Gibt es hier gute Ansätze worauf man achten sollte?

    Was willst den machen? Eine Umkreissuche? Die geht indexbasiert, Stichwort ist hier KNN.
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

    Kommentar


    • #3
      Vielen lieben Dank, akretschmer!

      Hier lag es wieder an den Begrifflichkeiten... jetzt spuckt Google eine Reihe informativer und genau passender Seiten aus

      Damit wäre mir schon geholfen - nochmal danke

      Kommentar


      • #4
        Zitat von Quellcode Beitrag anzeigen
        Vielen lieben Dank, akretschmer!

        Hier lag es wieder an den Begrifflichkeiten... jetzt spuckt Google eine Reihe informativer und genau passender Seiten aus

        Damit wäre mir schon geholfen - nochmal danke
        Beachte, daß nicht jede Datenbank KNN kann. Vielleicht irre ich mich, aber möglicherweise gibt es sogar nur eine, die das derzeit kann: PostgreSQL.
        Man möge mich korrigieren, falls ich da falsch liege.
        PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

        Kommentar


        • #5
          Zitat von akretschmer Beitrag anzeigen
          Beachte, daß nicht jede Datenbank KNN kann. Vielleicht irre ich mich, aber möglicherweise gibt es sogar nur eine, die das derzeit kann: PostgreSQL.
          Man möge mich korrigieren, falls ich da falsch liege.
          vermutlich hast du recht. macht aber nichts, kennt man ein wort findet man andere lösungswege, bspw. "Store locator":
          https://developers.google.com/maps/a...hpsqlsearch_v3

          Kommentar


          • #6
            Zitat von moma Beitrag anzeigen
            vermutlich hast du recht. macht aber nichts, kennt man ein wort findet man andere lösungswege, bspw. "Store locator":
            Diese Lösung kann aber keine Indexe nutzen. Der Fragesteller wollte eine schnelle Möglichkeit und nicht die Entfernung für alle Objekte berechnen und danach sortieren, nur um im Umkreis suchen zu können. Via KNN-Index erspart man sich das.
            PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

            Kommentar


            • #7
              ja akretschmer; da haste recht.

              Kommentar


              • #8
                Habe grad nicht mehr die Seite im Kopf, aber es gibt Beispiele im Internet, wie man anhand der Koordinaten die Entfernung via PHP ausrechnen kann.

                Bei einer Umkreissuche, hatte ich mir alle Infos vorgeparst gehabt. Das berechnen meines Index hatte einige Stunden gebraucht.

                Man kann da auch Datenbanken kaufen mit Stadtnamen, Ländern, PLZ, Koordinaten und so. Die Gratis Daten sind nicht so dolle, weil da immer irgendwas fehlt.

                Kommentar


                • #9
                  Zitat von smilla Beitrag anzeigen
                  Habe grad nicht mehr die Seite im Kopf, aber es gibt Beispiele im Internet, wie man anhand der Koordinaten die Entfernung via PHP ausrechnen kann.
                  Ja. Und langsam.

                  Man kann da auch Datenbanken kaufen mit Stadtnamen, Ländern, PLZ, Koordinaten und so. Die Gratis Daten sind nicht so dolle, weil da immer irgendwas fehlt.
                  OSM.
                  PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                  Kommentar


                  • #10
                    Oder GeoDB
                    Standards - Best Practices - AwesomePHP - Guideline für WebApps

                    Kommentar


                    • #11
                      Ich mache das mit google maps api. Ist super schnell!

                      Kommentar


                      • #12
                        Moin...
                        ich wollte mal diesen Thread wieder raus kramen. Ich beschäftige mich auch gerade mit der google maps api für eine umkreissuche.
                        allerdings check ich noch nicht ganz wie ich das machen soll.
                        Ich hab ne tabelle wo meine user drin sind. Die haben plz und stadtname und meistens auch die lat, lng. (die speichere ich wenn sich ein user einloggt.)
                        Nun weiß ich wie ich google maps nutze um die aktuelle position des Suchenden auszulesen. Bevor dann aber ergebnisse ausgespuckt werden können, muss ich ja für jeden user eine abfrage machen um erstmal zu wissen ob er im umkreis ist. Gibt es dafür denn irgendwo codebeispiele oder habt ihr da noch ein paar tipps? Ich komme da gerade nicht so richtig weiter.

                        Danke schon mal
                        TYPO3 Camp Berlin 2013

                        Kommentar


                        • #13
                          Gibt es dafür denn irgendwo codebeispiele
                          https://www.google.at/?gws_rd=ssl#sa...ng+OR+distance

                          LG
                          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                          PHP.de Wissenssammlung | Kein Support per PN

                          Kommentar

                          Lädt...
                          X