[pgbr-geral] Distancia entre dusa cidade
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 attachment: cgcesar.vcf___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Distancia entre dusa cidade
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
Re: [pgbr-geral] Distancia entre dusa cidade
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.comescreveu: 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
Re: [pgbr-geral] Distancia entre dusa cidade
É 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.comescreveu: 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
Re: [pgbr-geral] Distancia entre dusa cidade
Ah, documentação da função: http://postgis.refractions.net/docs/ST_Distance_Spheroid.html 2010/6/18 George Silva georger.si...@gmail.com É 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.comescreveu: 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 -- 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