在PHP中给定中心纬度/经度的情况下获取圆的外部坐标

时间:2018-11-10 02:48:08

标签: php coordinates geopoints

我有下面的函数,它是从Swift函数改编而成的,该函数每10m生成一个新的纬度/经度坐标,从中心纬度/经度创建一个圆。问题在于该功能正在超时,但是没有错误,所以我不知道它出了什么问题。

所以本质上我想在中心点周围生成36个点。

距离是将步长转换为米。

$distanceInMetres = 1000 / 0.75;
$coordinates = [];

$first = 0;
$last = 360;
$step = 10;

$n = 0.0;

for($i = 0; $i < 360; $i + 10)
{
    $distanceInMetres = $distanceInMetres / (3.14 * 2);
    $directionInDegrees = $n;

    $lat = -37.713870;
    $long = 144.944215;

    $radDirection = deg2rad($directionInDegrees);

    $dx = $distanceInMeter * cos($radDirection);
    $dy = $distanceInMeter * sin($radDirection);

    $radLat = deg2rad($lat);

    $deltaLongitude = $dx/(111320 * cos($radLat));
    $deltaLatitude = $dy/110540;

    $endLat = $lat + $deltaLatitude;
    $endLong = $long + $deltaLongitude;

    $coordinates = array('latitude' => $endLat, 'longitude' => $endLong);

    if($n == 0.0) {
        $firstLat = $endLat;
        $firstLng = $endLong;
    }
    $n += 10.0;
}

0 个答案:

没有答案