私は特定の都市からの投稿を表示するサイトを持っています。私はCitiesからユーザーの周囲の半径(この場合は10km)に変更することを考えていました。半径10km以内の緯度経度値を持つ行を選択しますか?
radiusを使用してクエリを実行する方法がわかりません。私は2つの条件でクエリを実行し、正方形を取得すると考えることができます。例:
SELECT fields
FROM points
WHERE lat BETWEEN LAT1 AND LAT2
AND lon BETWEEN LON1 AND LON2
特定の場所から半径Xkm/mi以内の行を選択することはできますか?
[This(http://stackoverflow.com/questions/5492750/efficient-sorted-bounding-box-query)質問はあなたにとって価値があるかもしれません.MySQLではなく、その考えはまだ成り立っています。 –
2点間の距離を計算する式はありますか?これは、SQLで実行できるかどうかを判断するのに役立ちます。 –
私はそれが緯度または経度点aproxあたり111kmだと思います。したがって、ピタゴラスを使用すると、関数は(lat * 111)^ 2 +(lon * 111)^ 2 = distance^2となります。私はどのように 'CREATE FUNCTION 'をするのか分かりません。 – lisovaccaro