2.通過使用者當前位置獲取範圍1km的經緯度,如下圖,
上面的4個點的經緯度獲取**
/*** 計算某個經緯度的周圍某段距離的正方形的四個點
** @param
* radius 地球半徑 平均6371km
* @param
* lng float 經度
* @param
* lat float 緯度
* @param
* distance float 該點所在圓的半徑,該圓與此正方形內切,預設值為1千公尺
* @return array 正方形的四個點的經緯度座標
*/public function returnsquarepoint($lng, $lat, $distance = 1, $radius = 6371)
3.通過獲取4個點,從而獲取到經度的最大值與最小值已經緯度的最大最小值,通過資料庫查詢獲取到在此範圍內的資料
$order = 'latitude asc,longitude asc';
//獲取該使用者所在的地區附近的4個點
$start = $this->returnsquarepoint('121.42815983368686','31.258080483782756',1);
//緯度
$where['latitude']=array('between',array($start['left-bottom']['lat'],$start['left-top']['lat']));
//經度
$where['longitude']=array('between',array($start['left-bottom']['lng'],$start['right-bottom']['lng']));
$list = m('residence')->where($where)->order($order)->select();
以上**為獲取附近1km距離的資料
4.通過兩點的距離獲取兩點的直線距離,**如下,返回的為m
/*** @desc 根據兩點間的經緯度計算距離
* @param float $lat 緯度值
* @param float $lng 經度值
*/function getdistance($lat1, $lng1, $lat2, $lng2)
{$earthradius = 6371000;
$lat1 = ($lat1 * pi() ) / 180;
$lng1 = ($lng1 * pi() ) / 180;
$lat2 = ($lat2 * pi() ) / 180;
$lng2 = ($lng2 * pi() ) / 180;
根據經緯度計算範圍 地理計算問題總結
地理計算問題1 經緯度計算 經度差與地方時差算經度 地方時每相差1小時,經度相差1 5 緯 度差與正午太陽高度算緯度 正午太陽相差多小,緯度相差多少 北極星的仰角即地平高度等於當地地理緯度 經緯線上長度算經緯度 1 經線長 111km 1 緯線長 111cos km 為緯度 2 比例尺計算 比例尺 ...
中國經緯度範圍
全球經緯度的取值範圍為 緯度 90 90,經度 180 180 中國的經緯度範圍大約為 緯度3.86 53.55,經度73.66 135.05 北京行政中心的緯度為39.92,經度為116.46 越北面的地方緯度數值越大,越東面的地方經度數值越大 度分轉換 將度分單位資料轉換為度單位資料,公式 度 ...
sql語句查詢經緯度範圍
指定乙個經緯度,給定乙個範圍值 單位 千公尺 查出在經緯度周圍這個範圍內的資料。經度 113.914619 緯度 22.50128 範圍 2km longitude為資料表經度字段 latitude為資料表緯度字段 sql在mysql下測試通過,其他資料庫可能需要修改 sql語句如下 select ...