我正在尝试使用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。