1
可能重複:
Fastest distance lookup given latitude/longitude?找到lattitude記錄和logintude
我有位置表,包括所有的緯度和logitude值的位置。我得到特定的位置經緯度。 LOGN。和半徑。現在,我想要找到這個半徑內的所有reocords以及給定的lat。和長。值。我正在使用以下查詢。但我不確定它是否給了我正確的結果。
從指定緯度和長我lat.min找出和最大的 -
$lng_min = $longitude - $radius/abs(cos(deg2rad($latitude)) * 69);
$lng_max = $longitude + $radius/abs(cos(deg2rad($latitude)) * 69);
$lat_min = $latitude - ($radius/69);
$lat_max = $latitude + ($radius/69);
,然後用下面的查詢 -
SELECT * FROM merchant_branches,locations
where locations."coorX" BETWEEN $lng_min AND $lng_max
AND
locations."coorY" BETWEEN $lat_min AND $lat_max
and merchant_branches.location_id = locations.id
其中location id爲merchant_brach外鍵表。
我很困惑我得到的結果。 Plz幫助我。
謝謝。