ホームページ > バックエンド開発 > PHPチュートリアル > Baidu Map で、座標点に基づいてデータベース内の特定の距離内にある N 個の座標点を検索するにはどうすればよいですか?

Baidu Map で、座標点に基づいてデータベース内の特定の距離内にある N 個の座標点を検索するにはどうすればよいですか?

WBOY
リリース: 2016-06-23 13:53:27
オリジナル
1328 人が閲覧しました

環境: php+mysql

既存のデータベースには、経度と緯度(100W以上)の座標点がいくつか保存されています

1つの座標点に基づいて、近隣1km以内のすべての一致情報を取得するにはどうすればよいですか?

データベース内の経度フィールド lng と緯度フィールド lat。 。

百度地図を使用します。

オンラインで待っています ありがとうございます。


ディスカッション (解決策) への返信

Sogou は Baidu よりも優れています

同意見ですが、会社は Baidu 製であることを要求しています。だから選択肢はありません

Sogou は Baidu よりも優れています

座標列を並べ替えます
ユークリッド距離を満たすレコードをフィルターします

私は次のように考えます:

中心点の経度と緯度がわかったので、次のようにしますおおよその経度と緯度の範囲を N キロメートルに基づいて計算できます。 。この検索の結果は 2N*2N の正方形になります

たとえば、北緯 34.5 度の場合、1 キロメートルにわたって北緯 35 度以上または 34 度以上の点を見つける必要はありません。具体的には、次のように変換できます。最初にプログラムを実行します

ただし、半径 N の外側の部分をフィルタリングする必要があります

これが可能であれば、lng lat ジョイント インデックス、100 万スケール、非常に高速です

とても退屈なので、騙されました。また!私の時間は時間ではないですか? ?

http://www.86afei.com/category/work/mysql
http://www.canphp.com/article/show-113.html

アルゴリズムに何か問題があると思われる場合は、次のことができます。それを自分自身から見せてください。
ここで愚かな行動をする必要はありません

この投稿者は非常に非倫理的です。 。 。最終的にどうなるかは言いません

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート