2016-04-12 26 views
-1

私のSQLのレコードを使用した最も近い場所を見つけます。私はMySQLのテーブルは、これはフィールド <code>Place_id</code>、<code>PlaceName</code>、<code>Place_LATITUDE</code>、<code>place_LONGITUDE</code>が含まれている<code>tbl_places</code> を命名した緯度と経度

place detailページでご利用したい オープンページの現在のplace_idが4の場合、その場所に最も近い最大6個のレコードが必要です。

は、現在の場所があると仮定します。

place_id = 4 
place_name = Lal Killa 
place_LATITUDE = 77.2413969039917 
place_LONGITUDE = 28.653838307772872 

私は、現在の場所に最も近い場所を見つける方法を理解することはできません?クエリ以下

答えて

0

使用:

SELECT Place_id,PlaceName, (3959 * acos(cos(radians(37)) * cos(radians(Place_LATITUDE)) * cos(radians(Place_LONGITUDE) - radians(-122)) + sin(radians(37)) * sin(radians(Place_LATITUDE)))) AS distance FROM tbl_places HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

注 - ここでは= -122

= 37 &経度緯度また、より多くの参照用hereをチェックします。

0

Cohen-Sutherland(ポイントクリッピング)アルゴリズムを使用して近くの人を知ることができます。結果を最小限に抑えたい場合は、0からYOUR_LIMITの増分オーダーで設定します。

極座標[(すなわち)緯度および経度]をXYに変換する式よりも優れています

関連する問題

 関連する問題