ziegenmelker: "NEAREST" Funktion

Beitrag lesen

Hallo,

Hallo,

du solltest mit dem Satz des Pythagoras arbeiten und so den Abstand zu einem gegebenen Punkt ermitteln.

Und im SQL dann entsprechend ein oberes Limit setzen.

cu,
Michael

Hi Michael,

ich glaube du hast mein Problem nicht verstanden oder ich habe deinen Lösungsansatz nicht verstanden. Ich komme ja an den Punkt ran, es geht eigentlich um die doppelte Sortierung nach 2 versch. Kriterien eben laenge und breite. Dazu kommt dann dass ich mit der > ".." nur Punkte finde die größer sind, und keine die kleiner sind.

Ich habe dich so verstanden, dass du den naheliegendsten Ort zu einem gegebenen Punkt x1/y1 suchst und das macht man nun mal über den Abstand.

Ich weiss, das man das hier schön "setzen" kann, habe mich aber noch nicht damit beschäftigt:
abstand = Wurzel ( delta(Längengrad)² + delta(Breitengrad)² )

Den nächsten Punkt(Ort) bekommst du über SQL: MIN(abstand).
Umliegende Ergebnisse mit SQL: WHERE abstand < $xy

Den Abstand muß du in dem SQL-Query zu jedem Ort berechnen(aufwändig):

Setze bitte im folgenden die gültige SQL-Syntax deiner DB ein:
Select c.name, SQRT((c.laengengrad-$x1)^2-(c.breitengrad-$y1)^2) as abstand
from city as c
where abstand < $irgendwas

oder eben: Select c.name, MIN(SQRT((c.laengengrad-$x1)^2-(c.breitengrad-$y1)^2)) as abstand ...

cu,
Michael