как проверить радиус 10 метров от x, y позиции - от GPS - PullRequest
2 голосов
/ 15 февраля 2010

У меня есть эта позиция от GPS:

40,715192, -74,005795

как проверить, находится ли я в радиусе 10 метров?

Спасибо заранее

Ответы [ 2 ]

5 голосов
/ 15 февраля 2010

Используйте формулу Хаверсайна http://en.wikipedia.org/wiki/Haversine_formula

Псевдокод:

R = 6371; // corrected earth radius, km
dLat = degToRad(lat2-lat1);
dLon = degToRad(lon2-lon1); 
a = sin(dLat/2) * sin(dLat/2) +
        cos(degToRad(lat1)) * cos(degToRad(lat2)) * 
        sin(dLon/2) * sin(dLon/2); 
c = 2 * atan2(sqrt(a), sqrt(1-a)); 
distance = R * c;

degToRad преобразует градусы в радианы, см., Например, здесь

1 голос
/ 14 апреля 2010

Я искал что-то подобное и нашел это: http://megocode3.wordpress.com/2008/02/05/haversine-formula-in-c/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...