0

これが私が皆に持っている質問です

「近くの郵便番号」検索を行う既存のシステムを既に持っています。

この投稿の目的は、プロセスを最適化できるかどうかを確認することです。

現在、約 43k の郵便番号レコードがあります。

私の現在のアルゴリズムの仕組みは、1 つのレコードを選択し、43k レコードの完全なテーブル スキャンを実行することです。

サブセット (緯度範囲、長距離) のみを取得し、その方法で計算を行う方法はありますか?

4

2 に答える 2

0

すべての郵便番号の重心の緯度/経度は、Google または geocoder.us (または地理データを入手できる場所) から取得できます。検索を絞り込むための大まかなガイドとして where 句で使用します。

于 2012-08-21T18:58:58.857 に答える
0

私が通常行っていることは、検索をプラスマイナス 1 度で囲みます。前述のとおり、緯度は約 69 マイルです。経度の場合、状況はもう少し複雑になります。北極に近づくほど、ある経度から別の経度への距離が短くなります。たとえば、フロリダとジョージアの国境では、経度 1 度で約 55 マイル離れていますが、カリフォルニアとオレゴンの国境では、約 50 マイルしか離れていません。

最初に開始位置の緯度/経度を取得する必要があり、おそらく beglat、endlat、beglong、endlong などの 4 つの変数を設定する必要があります。beglat を開始位置の緯度マイナス 1 度に割り当て、endlat を開始位置の緯度プラス 1 度などに割り当てます。検索範囲を狭くするには、0.5 度などを選択できます。

于 2012-09-27T22:09:16.027 に答える