Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $EARTH_RADIUS = 6372795;
- $φA = '57.8185';
- $λA = '28.3253';
- $φB = $node->field_lat['und'][0]['value'];
- $λB = $node->field_lon['und'][0]['value'];
- $lat1 = $φA * pi() / 180;
- $lat2 = $φB * pi() / 180;
- $long1 = $λA * pi() / 180;
- $long2 = $λB * pi() / 180;
- // косинусы и синусы широт и разницы долгот
- $cl1 = cos($lat1);
- $cl2 = cos($lat2);
- $sl1 = sin($lat1);
- $sl2 = sin($lat2);
- $delta = $long2 - $long1;
- $cdelta = cos($delta);
- $sdelta = sin($delta);
- // вычисления длины большого круга
- $y = sqrt(pow($cl2 * $sdelta, 2) + pow($cl1 * $sl2 - $sl1 * $cl2 * $cdelta, 2));
- $x = $sl1 * $sl2 + $cl1 * $cl2 * $cdelta;
- $ad = atan2($y, $x);
- $dist = $ad * $EARTH_RADIUS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement