Hinweis: Diese Frage wurde bei Stackoverflow bei veröffentlicht zuerst .
Ich habe eine Geometrietabelle points_table
mit SRID 4326
und ein paar Punkten darin.
Ich muss einen Abstand zwischen zwei Punkten (Merkmalen) aus dieser Tabelle finden.
Ich möchte einen Punkt mit id = X
und einen anderen Punkt mit auswählen id = Y
und dann mit ST_Distance
Funktion einen Abstand zwischen ihnen finden .
Ich weiß, wie man diese beiden Punkte aus der Datenbank abfragt:
select * from points_table where id = X or id = Y;
Diese Abfrage gibt jedoch ein Ergebnis zurück, an das ich nicht weitergeben kann ST_Distance
, da ST_Distance
zwei Parameter erforderlich sind .
Ich habe versucht Select ST_Distance(select the_geom from points_table where id = X or id = Y);
Aber es ist offensichtlich falsch.
Wie kann ich den Abstand zwischen zwei Geometriepunkten (Features) von einer Tabelle ermitteln?
PS Alle Beispiele, die ich bisher gefunden habe, zeigen die Verwendung von ST_Distance mit Punkten, die in den Argumenten der Funktion ST_Distance fest codiert sind. Ich habe kein Beispiel gefunden, in dem ST_Distance verwendet wird, um einen Abstand zwischen zwei Punkten aus derselben Tabelle zu berechnen.
quelle