Vinzenz Mai: Um"quadraht"suche...

Beitrag lesen

Hallo,

In einem Raster von 10000x10000 habe ich zufällig 4791 Punkte verteilt.
Nun möchte ich wissen, welche Punkte Nachbarpunkte in einem gewissen Umkreis, bzw. umquadraht aufweisen. Zur Zeit hab ich das Ganze in einer Datenbanktabelle mit den Spalten id, x, y abgelegt und die Prüfung mache ich wie folgt:

SELECT  
    r1.id,  
    r2.id  
FROM  
    positions r1  
JOIN  
    positions r2  
ON  
    r1.id < r2.id  
WHERE  
    ABS( r1.x - r2.x ) < 5  
AND  
    ABS( r1.y - r2.y ) < 5

https://forum.selfhtml.org/?t=182509&m=1207661 behandelt das gleiche Problem.
Schon mal probiert, Deine WHERE-Klausel in die Join-Bedingung einzubringen.

Ach ja:
Im Mittel hast Du übrigens die Hälfte vergessen: die Punkte, deren id kleiner ist als die des Referenzpunktes. Betrachte zum Beispiel als Ausgangspunkt den Punkt mit der größten id: Deine Ergebnismenge wird leer sein.

Freundliche Grüße

Vinzenz