É a sugestão que eu iria fazer. Se o cálculo necessita de precisão razoável, use a extensão postgis. Se não, use pitágoras. Mas pitágoras irá te dar erros interessantes, dependendo da distância entre os pontos. Quanto mais distantes forem, maior o erro da fórmula de pitágoras.
Como você tem duas colunas (double precision, ou sei lá) Lat/Long, você precisa construir o ponto para utilizar a fórmula dada pelo Thiago: A função é a seguinte: ST_Distance_Spheroid(ponto_a,ponto_b,spheroid); Para construir os pontos em run-time, caso nao sejam do tipo geometry: ST_Distance_spheroid(ST_Point(coluna long,coluna lat),ST_Point(coluna long, coluna lat)); Você terá de fazer subselects para selecionar cada ponto que precisar, mas é tranquilo. Dê uma olhada neste blog, que tem alguns usos das funções do PostGIS: http://blog.geoprocessamento.net Abraços 2010/6/18 Thiago Tiedtke dos Reis <tied...@gmail.com> > Boa Tarde! > > Não sei qual o nível de precisão que você busca, mas se está trabalhando em > coordenadas geográficas (lat, lon), provavelmente você está sobre um > superfície chamada Elipsóide, e o calculo não é tão simples.... > > Mas felizmente, já teve muita gente que trabalhou para podermos resolver > problemas como este.... veja: > > distance_spheroid(point, point, spheroid) > > > http://webgis.com.br/postgis/docs/capitulo6_Referencias_PostGIS.htm#id3218231 > > Bastando apenas você ativar a extensão Postgis no seu banco de dados. > > Boa sorte! > > []s > > Thiago Tiedtke dos Reis > Engenheiro Cartógrafo > Engemap Geoinformação > Assis / SP > > Em 18 de junho de 2010 12:45, Alexsander Rosa > <alexsander.r...@gmail.com>escreveu: > >> Se você aplicar um Pitágoras terá um ângulo na "hipotenusa"; converta >> este ângulo em km, de acordo com a curvatura da Terra, e terá a distância em >> km. >> >> Antonio Cesar escreveu: >> >> Boa terde pessoal! >> >> Estou precisando calcular a distancia emtre duas cidade com base em >> longitude e latitude alguem tem uma funçao. >> -- >> >> Atenciosamente, >> >> >> **Cesar** Soares** >> Programador (75) 8839-2381 >> >> >> >> -- >> Alexsander da Rosa >> Twitter: @alexrosa >> >> >> >> _______________________________________________ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- George R. C. Silva Desenvolvimento em GIS http://blog.geoprocessamento.net
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral