テーブルの 1 つに保存したのは、次の形式の地理的ポイントです。
経度 緯度 郵便番号
アイデアは、表の情報を使用して、指定された経度と緯度によって最も近い利用可能な郵便番号を取得することです。
私のアルゴリズムは次のように機能します。
- UserLongitude と UserLatitude の初期化
- StepVariable を 1.0 として初期化
テーブルからすべてのレコードを取得する
longitude>UserLongitude-StepVariable and longitude<UserLongitude+StepVariable and latitude>Userlatitude-StepVariable and latitude<Userlatitude+StepVariable
- レコードが見つからない場合は、StepVariable を 1.0 で増やし、手順 3 を実行します。
私が読んだように、1.0 の経度の値は、極に移動するにつれて小さくなります。そのため、経度と緯度の 1.0 の値が同じでない場合、私のアルゴリズムは正しくない方法で検索領域を拡張します。
検索可能な領域を正方形として拡張するトリッキーな方法はありますか? 今のところ、代わりに長方形を使用している場所があり、これにより検索が遅くなると思います。