Nota: Esta pergunta foi publicada no Stackoverflow primeiro .
Eu tenho uma tabela de geometria points_tablecom SRID 4326e alguns pontos nela.
Preciso encontrar uma distância entre um par de pontos (recursos) desta tabela.
Gostaria de selecionar um ponto com id = Xe outro ponto com id = Ye, em seguida, encontrar uma distância entre eles com a ST_Distancefunçã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_Distanceleva 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.