Uwaga: to pytanie zostało najpierw opublikowane w Stackoverflow .
Mam tabelę geometrii points_table
z SRID 4326
kilkoma punktami.
Muszę znaleźć odległość między parą punktów (cech) od tej tabeli.
Chciałbym wybrać jeden punkt za pomocą id = X
i drugi punkt za pomocą, id = Y
a następnie znaleźć odległość między nimi za pomocą ST_Distance
funkcji.
Wiem, jak wysłać zapytanie do tych dwóch punktów z bazy danych:
select * from points_table where id = X or id = Y;
Ale to zapytanie zwraca wynik, do którego nie wiem, jak przekazać ST_Distance
, ponieważ ST_Distance
zajmuje 2 parametry.
próbowałem Select ST_Distance(select the_geom from points_table where id = X or id = Y);
Ale to oczywiście źle.
Jak znaleźć odległość między dwoma punktami geometrycznymi (elementami) od stołu?
PS Wszystkie przykłady, które do tej pory znalazłem, pokazują użycie ST_Distance z punktami zakodowanymi na stałe w argumentach funkcji ST_Distance. Nie znalazłem przykładu, w którym ST_Distance służy do obliczenia odległości między dwoma punktami z tej samej tabeli.
źródło