Dario Cardoso Postado 3 de abril de 2013 Denunciar Compartilhar Postado 3 de abril de 2013 Ola tenho latitude e longitude do ponto A e do ponto B no iOS como faço para achar a distancia em metros entre estes dois pontos? Dario Citar Link para o comentário Compartilhar em outros sites More sharing options...
Hercules Jr Postado 3 de abril de 2013 Denunciar Compartilhar Postado 3 de abril de 2013 (editado) Achar o rumo(bússola) a seguir entre 2 posições: #define RADIANS_TO_DEGREES(radians) ((radians) * (180.0 / M_PI)) #define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI) - (int)bearingFromLocation:(CLLocation*)location { double latTo = DEGREES_TO_RADIANS(self.latitude); double latFrom = DEGREES_TO_RADIANS(location.coordinate.latitude); double dLon = DEGREES_TO_RADIANS(self.longitude-location.coordinate.longitude); double y = sin(dLon) * cos(latTo); double x = cos(latFrom) * sin(latTo) - sin(latFrom) * cos(latTo) * cos(dLon); return ((int)(RADIANS_TO_DEGREES(atan2(y, x))+360))%360; } Distancia entre 2 locais em metros. CLLocation *actualLocation, *newLocation; int meters = [actualLocation distanceFromLocation:newLocation]; Espero ter ajudado Editado 3 de abril de 2013 por Hercules Jr Citar Link para o comentário Compartilhar em outros sites More sharing options...
abaeda Postado 5 de abril de 2013 Denunciar Compartilhar Postado 5 de abril de 2013 Muito interessante, já conversei com um amigo escoteiro a respeito e ele não soube me dizer se dá pra calcular no punho a distancia dadas as duas ordenadas. Mas deixa perguntar, que linguagem seria essa, e é pra rodar em Mac OS? Ela cria uma rotina em se pede a entrada dos pontos A e B? Grato! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Hercules Jr Postado 5 de abril de 2013 Denunciar Compartilhar Postado 5 de abril de 2013 (editado) Muito interessante, já conversei com um amigo escoteiro a respeito e ele não soube me dizer se dá pra calcular no punho a distancia dadas as duas ordenadas. Mas deixa perguntar, que linguagem seria essa, e é pra rodar em Mac OS? Ela cria uma rotina em se pede a entrada dos pontos A e B? Grato! Da pra calcular sim, inclusive na "mão". A Linguagem é Objetive-C. Existem 3 formas basicamente: Esta é a que se aproxima mais da realidadea = sin²(Δφ/2) + cos(φ1).cos(φ2).sin²(Δλ/2) c = 2.atan2(√a, √(1−a)) d = R.c φ é latitude, λ é longitude, R é o raio da terra (médio = 6371m) http://en.wikipedia.org/wiki/Haversine_formula Mais simples, mas com menor precisão:d = acos( sin(φ1).sin(φ2) + cos(φ1).cos(φ2).cos(Δλ) ).R http://en.wikipedia.org/wiki/Spherical_law_of_cosines Ou simplesmente Pitagoras (somente funciona bem para distancias próximas)!x = Δλ.cos(φ) y = Δφ d = R.√x² + y² http://en.wikipedia.org/wiki/Equirectangular_projection Espero ter ajudado! Editado 5 de abril de 2013 por Hercules Jr Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.