//*
* [GetSquarePoint坐标圆周率计算]
* $lng='116.655540 ';
* $lat='39.910980 ';
* $squares=GetSquarePoint($lng,$lat;
* *
*print_r($squares;
* $info_sql='select id,locateinfo,lat,LNG from ` lbs _ info ` wherel at0and lat { $ squares [ ' right-bottom ' ] [
*计算纬度和经度周围距离的正方形的四个点
* *
* param LNG浮动经度
*浮动纬度param lat
* param distance float此点所在的圆的半径。 此圆内切于此正方形,默认值为0.5km
* return array正方形四个点的经纬度坐标
*/
function GetSquarePoint($lng,$lat,$distance=0.5 )
{
if(empty($LNG ) $lat ) )返回';
/*地球半径,平均半径为6371km */
$radius=6371;
$d_LNG=2*Asin(sin ) $distance/(2*$radius ) )/cos ) deg2rad ) $lat ) )
$d_LNG=rad2deg($d_LNG );
$d_lat=$distance/$radius;
$d_lat=rad2deg($d_lat;
返回阵列(
' left-top'=Array'=$lat$d_lat,' lng'=$lng-$d_lng ),
' right-top '=array (' lat '=$ lat $ d _ lat,' lng'=$lng $d_lng ),
' left-bottom '=array (' lat '=$ lat-$ d _ lat,' lng'=$lng - $d_lng ),
' right-bottom '=array (' lat '=$ lat-$ d _ lat,' lng'=$lng $d_lng ) )
);
}