地理的にローカライズされたオブジェクトがいくつかあります(各オブジェクトに緯度と経度があります)。私のアプリは、モバイル デバイスの GPS 位置から 3 km 離れたオブジェクトを表示する必要があります。私は数千のオブジェクトを持っており、それらは広い地域 (たとえば、いくつかの米国の州、いくつかの小さな国) にローカライズされています。非常に近い(数メートル)。
現在、私のアプリは反復検索を実行しています。各オブジェクトについて、GPS 位置を使用して距離を計算し、距離が <= 3KM の場合はオブジェクトを保持し、それ以外の場合は無視します。このアルゴリズムはあまり効率的ではありません。パフォーマンスが向上するアルゴリズムを探しています。
地理座標を使用してオブジェクトを並べ替え、次に GPS 位置の周囲にあるオブジェクトをより迅速に見つける方法があると思います。
私の現在のアイデアは、検索ゾーンを制限するために、北/南/東/西(GPS位置の3kmから)の「極値」で長方形を計算することです。次に、このボックス内のオブジェクトのみの距離を計算します。もっといいものができると思うのですが、思いつきません...
どんな提案でも大歓迎です;-) ありがとう、
セブ。