Nota: questa domanda è stata inizialmente pubblicata su Stackoverflow .
Ho una tabella di geometria points_table
con SRID 4326
e alcuni punti in essa.
Devo trovare una distanza tra una coppia di punti (caratteristiche) da questa tabella.
Vorrei selezionare un punto con id = X
e un altro punto con id = Y
e quindi trovare una distanza tra loro con la ST_Distance
funzione.
So come interrogare questi due punti dal database:
select * from points_table where id = X or id = Y;
Ma questa query restituisce un risultato, che non so come passare ST_Distance
, perché ST_Distance
accetta 2 parametri.
Ho provato Select ST_Distance(select the_geom from points_table where id = X or id = Y);
Ma è ovviamente sbagliato.
Come posso trovare la distanza tra due punti della geometria (caratteristiche) da una tabella?
PS Tutti gli esempi che ho trovato finora mostrano l'utilizzo di ST_Distance con punti codificati negli argomenti della funzione ST_Distance. Non ho trovato un esempio, in cui ST_Distance viene utilizzato per calcolare una distanza tra due punti dalla stessa tabella.