Nota: Esta pergunta foi publicada no Stackoverflow primeiro .
Eu tenho uma tabela de geometria points_table
com SRID 4326
e alguns pontos nela.
Preciso encontrar uma distância entre um par de pontos (recursos) desta tabela.
Gostaria de selecionar um ponto com id = X
e outro ponto com id = Y
e, em seguida, encontrar uma distância entre eles com a ST_Distance
função.
Eu sei como consultar esses dois pontos do banco de dados:
select * from points_table where id = X or id = Y;
Mas essa consulta retorna um resultado, para o qual eu não sei como passar ST_Distance
, porque ST_Distance
leva 2 parâmetros.
eu tentei Select ST_Distance(select the_geom from points_table where id = X or id = Y);
Mas está obviamente errado.
Como posso encontrar a distância entre dois pontos geométricos (recursos) de uma tabela?
PS Todos os exemplos que encontrei até agora mostram o uso de ST_Distance com pontos codificados nos argumentos da função ST_Distance. Não encontrei um exemplo, em que ST_Distance é usado para calcular uma distância entre dois pontos da mesma tabela.
fonte