- PHP
- 2010-10-28 - 更新:2015-09-30
ある地点から指定した半径以内に該当する座標を絞り込みたいとき、検索に使用する値を得るサンプルです。
考え方としては、指定した半径を基に矩形を作成し、その範囲に含まれる座標を検索する、というものです。
残念ながら“指定した半径を基に作成した円の中に含まれる”ではありません。
通常は2点間の距離を算出し、半径以内に収まるかを出したほうがいいのですが、比較するデータが多い場合は1つ1つ処理しているとかなり負荷がかかります。
そのため、ざっくり検索する方法をご紹介します。
今回はPHPのコードですが、JavaScriptなど他の言語でも利用できます。
まず、算出に必要な度数毎の距離を宣言します。
// 緯度1秒の平均距離 約30.9m // 緯度35度上の緯度1秒の距離 約30.8m $lat_length = 30.9; // 緯度35度上の経度1秒の距離 約25m $lng_length = 25;
探したい範囲の半径(km)を設定します。 続きを読む…»