V2 - Calculando a distância entre latitude e longitude de dois pontos utilizando o PostgreSQL
Salve lindus e lindas, eu aqui novamente.
Pessoal, Na versão 1 (link aqui: https://www.tabnews.com.br/jhonatangarcia92/v1-calculando-a-distancia-entre-latitude-e-longitude-de-dois-pontos-utilizando-o-postgresql), compartilhei como podemos calcular a distância usando o PostgreSQL, apenas usando as extensões do PostgreSQL.
Então, recentemente, precisei melhorar meu cálculo, pois, em algumas distâncias, não tinha uma boa precisão.
Agora, alterei minha consulta de seleção apenas usando as funções earth_distance e ll_to_earch:
select to_char(float8 (earth_distance
ll_to_earth(-23.3866831, -51.9514643),
ll_to_earth(-23.43138631596133, -51.935814294826834)
) * 1.609344) / 1000, 'FM999999999.00'
) as distance
-- result
8.41 KM
Isso melhora muito a distância entre 2 pontos.
A função ll_to_earth
retorna um ponto na superfície da terra quando recebe uma latitude e longitude
Lembrando, se você precisa de cálculos muito precisos, isso não é para você; dê uma olhada no PostGIS em vez disso. No meu caso, isso já me ajuda, porém, futuramente também precisarei usar o PostGIS, e trarei aqui para vocês.
Até logo.