#Samurai
Изучающий
- Регистрация
- 16 Сен 2017
- Сообщения
- 421
- Лучшие ответы
- 0
- Репутация
- 229
Функция, которая определяет расстояние между двумя географическими точками, основанная на формуле гаверсинуса.
[HR][/HR]
Пример использования:
[HR][/HR]
PHP:
stock Float:GeoDistance(Float:lat1, Float:lon1, Float:lat2, Float:lon2)
{
const Float:R = 6371.0087714;
new Float:sin1 = floatsin((lat1 - lat2) /2);
new Float:sin2 = floatsin((lon1 - lon2) /2);
return 2 * R * asin(floatsqroot(sin1 * sin1 + sin2 *sin2 * floatcos(lat1) * floatcos(lat2))) * (3.14 / 180);
}
- lat1 - широта первой точки (в радианах)
- lon1 - долгота первой точки (в радианах)
- lat2 - широта второй точки (в радианах)
- lon2 - долгота второй точки (в радианах)
Пример использования:
PHP:
new Float:lat1 = 52.5243700 * (3.14 / 180);
new Float:lon1 = 13.4105300 * (3.14 / 180);
new Float:lat2 = 50.4546600 * (3.14 / 180);
new Float:lon2 = 30.5238000 * (3.14 / 180);
printf("Широта 1: %f | Долгота 1: %f\n\
Широта 2: %f | Долгота 2: %f\n\
Расстояние: %f", lat1, lon1, lat2, lon2, GeoDistance(lat1, lon1, lat2, lon2));
Последнее редактирование: