É 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

Responder a