求人検索エンジンで仕事を探している場所に郵便番号を入力すると、アプリはその郵便番号と 5、10、15、ユーザーが設定した設定に応じて、その郵便番号から 20 または 25 マイル。
郵便番号の近隣の場所をどのように計算しますか?
求人検索エンジンで仕事を探している場所に郵便番号を入力すると、アプリはその郵便番号と 5、10、15、ユーザーが設定した設定に応じて、その郵便番号から 20 または 25 マイル。
郵便番号の近隣の場所をどのように計算しますか?
関連する経度/緯度座標を含む郵便番号のリストを取得する必要があります。Google で検索してください- プロバイダーはたくさんあります。
次に、この質問を見て、距離を計算する方法のアルゴリズムを確認してください
私はそれを計算せず、データベースに固定テーブルとして保存します(国で郵便番号の割り当てが変更された場合にのみ変更されます)。ペア(小さい、大きい)を持つ関係「is_neighbor_zip」を作成します。2 つのコードが隣接しているかどうかを判断するには、テーブルで特定のペアを確認します。隣接するすべての zip が必要な場合は、テーブルを対称にする方がよい場合があります。
geonames.org があなたのアプリの存続期間中存在することを期待できるかどうかはわかりませんが、彼らのような Web サービスを使用して車輪の再発明を避けることができます。
GIS データベースを使用して、現在地の近くにある郵便番号を尋ねる必要があります。
単純に郵便番号を取得して、いくつかの数学的計算を適用して近くの他の郵便番号を見つけることはできません。郵便番号は、米国の市外局番ほど地理的に分散していませんが、座標系ではありません。
唯一の例外は、ZIP+4 コードがより大きな ZIP コードのサブセクションであることです。同じ郵便番号を持つ ZIP+4 コードは、互いに近いと見なすことができます。
私は以前、ある会社で郵便番号の処理を合理化することに取り組んでいました。
うまくいけば、他の有用な情報があります。
郵便番号を作成し、それをジオコーディング (例: Google ジオコーダー API、緯度と経度を保存) してから、haversine Formular を Google で検索すると、基準点から (カラスが飛ぶように) 距離が計算されます。町または郵便番号。
さらに明確にするために:
場所に基づいてレコードを取得する場合、各経度と緯度の DECIMAL を基準点 (ユーザーが地理コード化した郵便番号または町名) と比較する必要があります。
次のクエリを実行できます。
SELECT * FROM photos p WHERE p.long < 60 AND p.long > 50 AND p.lat > -10 AND p.lat > 10
イギリスは経度 50 ~ 60 度、緯度 +-10 度であるため、すべてのイギリスの写真などを検索するには
距離を見つけたい場合は、harsine 式をググって参照値をプラグインする必要があります。
これでもう少し問題が解決することを願っています。詳細が必要な場合はコメントを残してください