Motorsägen: MYSQL Anzeige naheliegender GEOCoordinaten

Hallo,

ich habe mir eine schöne MYSQL Adressdatenbank gebastellt und habe alle Orte mit den jeweiligen Geocoordinaten X + Y Wert versehen.
Soweit alles ganz toll. Nur die Frage ist, wenn ich meinen jetzigen Wert mit Geocoordinaten kenne, wie suche ich dann in der Datenbank Punkte in meiner nähe heraus?

Ich gibt es für MYSQL hier vielleicht einen passenden Befehl der nach Werten sucht die meinen 2 Werten ähnlich sind (2 Werte weil X und Y Koordinaten ja ähnlich sein müssen...

Danke

Motorsäge

  1. n'abend,

    Hallo,

    ich habe mir eine schöne MYSQL Adressdatenbank gebastellt und habe alle Orte mit den jeweiligen Geocoordinaten X + Y Wert versehen.
    Soweit alles ganz toll. Nur die Frage ist, wenn ich meinen jetzigen Wert mit Geocoordinaten kenne, wie suche ich dann in der Datenbank Punkte in meiner nähe heraus?

    Datensätze in deiner Nähe kannst du (schnell und Einfach) in einem Quadrat um deinen Suchpunkt finden:

    X zwischen (SuchX - Radius) und (SuchX + Radius) und
    Y zwischen (SuchY - Radius) und (SuchY + Radius)

    Da du aber das Format der Kooridnaten nicht angegeben hast, kann ich dir über diesen Denkanstoß hinaus nicht weiterhelfen.

    weiterhin schönen abend...

    --
    #selfhtml hat ein Forum?
    sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
    1. Es gibt auch eine Spatial Extension für MySQL. Ist aber für Deine "Probleme" etwas overdressed :-)

      1. Hallo,

        Es gibt auch eine Spatial Extension für MySQL. Ist aber für Deine "Probleme" etwas overdressed :-)

        Nunja, wenn er tatsächlich Adressen _in der Nähe_ finden möchte, wäre die Spatial Extension doch gar nicht verkehrt ... Um z.B. alle Orte der Entfernung nach zu einer gegebenen Koordinate "händisch" zu sortieren bedarf es ansonsten schon ein wenig Code. Mit DISTANCE geht das sicherlich einfacher ...

        Grüße, luti

    2. Moin :-)

      das Format der 2 Spalten ist varchar(12) und eine Koordinate sieht:
      Spalte1 = 9.9990823
      Spalte2 = 53.7177583

      aus

      1. Hallo,

        das Format der 2 Spalten ist varchar(12) und eine Koordinate sieht:
        Spalte1 = 9.9990823
        Spalte2 = 53.7177583

        daher wäre es günstiger für Deine Koordinaten einen angemessenen numerischen Datentyp wie DECIMAL mit einer entsprechenden Nachkommaanzahl oder DOUBLE zu verwenden.

        Freundliche Grüße

        Vinzenz