gildo.rj 0 Denunciar post Postado Maio 31, 2012 Boa tarde Grupo, Preciso calcular a distancia entre dois pontos, baseado na latitude e longitude dos mesmos. Ex: O cliente me oferece o endereço 1 e o endereço 2. com base nas coordenadas do endereço 2, preciso encontrar os endereços 3,4 e 5 que sejam mais próximos de endereço 2, sendo que os endereços 3,4 e 5 estão num banco de dados já com suas respectivas latitudes e longitudes. procurei alguma documentação no google mas esse tipo especifico não estou achando, alguém saberia a formula para tal tipo de calculo? Compartilhar este post Link para o post Compartilhar em outros sites
Massaki 47 Denunciar post Postado Maio 31, 2012 A única solução que eu pensei, foi fazer uma busca em todos os endereços e obter a latitude e a longitude de cada um. Usando o teorema de pitágoras, descobre a distância de cada endereço em relação ao ponto 2. Aí ordena do menor para o maior e pega os 3 primeiros. Exemplo: (vou deixar as coordenadas em até 3 dígitos) ponto2: LAT 365 e LONG 100 endA: LAT 222 e LONG 215 endB: LAT 300 e LONG 55 endC: LAT 400 e LONG 70 endD: LAT 350 e LONG 150 Usando a fórmula: Distância 2-A: d² = (365-222)² + (100-215)² -> d=183.5 Distância 2-B: d² = (365-300)² + (100-55)² -> d=79 Distância 2-C: d² = (365-400)² + (100-70)² -> d=46 Distância 2-D: d² = (365-350)² + (100-150)² -> d=52 Ordenando as distâncias, chega ao seguinte: C, D, B, A Compartilhar este post Link para o post Compartilhar em outros sites
gildo.rj 0 Denunciar post Postado Junho 1, 2012 Boa noite Massaki, Muito obrigado pela resposta, na verdade tinha pesquisado algo bem parecido, mas do jeito que voce colocou ficou bem mais claro e bem mais simples tambem. Administradores podem encerrar o topico, problema resolvido. Compartilhar este post Link para o post Compartilhar em outros sites