使用PHP

时间:2019-03-07 21:59:32

标签: php polyline

我正在尝试使用PHP将多段线分成大约160米的偶数段。

我有一个PHP函数,在其中传递了4个变量。折线起点的Lat和Lng以及折线终点的Lat和Lng。然后,我需要返回一个所有纬度和经度坐标的数组,这些坐标构成折线,并分成约160米的长度。

我在搜索返回折线中点的站点时发现了以下功能:

function midpoint ($lat1, $lng1, $lat2, $lng2) {

    $lat1= deg2rad($lat1);
    $lng1= deg2rad($lng1);
    $lat2= deg2rad($lat2);
    $lng2= deg2rad($lng2);

    $dlng = $lng2 - $lng1;
    $Bx = cos($lat2) * cos($dlng);
    $By = cos($lat2) * sin($dlng);
    $lat3 = atan2( sin($lat1)+sin($lat2),
    sqrt((cos($lat1)+$Bx)*(cos($lat1)+$Bx) + $By*$By ));
    $lng3 = $lng1 + atan2($By, (cos($lat1) + $Bx));
    $pi = pi();

    return ($lat3*180)/$pi .' '. ($lng3*180)/$pi;
}

是否仍然可以使用更改此功能,以便它返回相距约160米的坐标?只要折线段相等,长度就不必精确地为160。

0 个答案:

没有答案