Add kilometers to a map point
Posted
by proveyourselfthom
on Stack Overflow
See other posts from Stack Overflow
or by proveyourselfthom
Published on 2010-04-19T14:07:30Z
Indexed on
2010/04/19
20:43 UTC
Read the original article
Hit count: 257
Good morning.
I would like to know how do I add kilometers to a map point (latitude / longitude).
For example: The city Jaraguá do Sul is in latitude -26.462049, longitude -49.059448. I want to add 100 kilometers up, down, and on the sides. I want to do a square and get the new points.
How do I do that?
I tried it:
<?php
$distance = 100;
$earthRadius = 6371;
$lat1 = -26.4853239150483;
$lon1 = -49.075927734375;
$bearing = 0;
$lat2 = asin(sin($lat1) * cos($distance / $earthRadius) + cos($lat1) * sin($distance / $earthRadius) * cos($bearing));
$lon2 = $lon1 + atan2(sin($bearing) * sin($distance / $earthRadius) * cos($lat1), cos($distance / $earthRadius) - sin($lat1) * sin($lat2));
echo 'LAT: ' . $lat2 . '<br >';
echo 'LNG: ' . $lon2;
?>
But it's returning wrong cordinates. Thank you!
Thank you very much.
© Stack Overflow or respective owner