2012-03-01 4 views
1

私はイベントのデータベース(英国)とそのポストコード(郵便番号)を持っています。運転距離に基づいて結果をリアルタイムで検索するにはどうすればよいですか?

ユーザーはウェブページに郵便番号を入力してEnterキーを押します。その後、いくつかの素晴らしいアルゴリズム/システムが、ユーザーの郵便番号の走行距離のイベントのリストを返します。

これはリアルタイムで可能ですか?私はと考えられてきた

解決策は以下のとおりです。

  • 郵便番号エリア間のすべての距離(それらの4100)をキャッシュし、それを使用して。郵便番号の領域は数マイル四方ですが、今はOKですので不完全です。最大の問題は、約8403000の移動距離が必要であり、Googleマップに使用制限があり、マップクエストのAPIが遅く、ポストコードを調べるのに不完全で、DOS攻撃を実行したくないということです。

  • イベントポストコードと私の郵便番号エリアのリストの間のすべての距離をキャッシュします。 1000秒のイベントが発生するため、まだ不完全で、イベントを追加するときに距離を検索するには時間がかかりすぎます。

  • カラスが飛んでいるので、ポストコードへの旅のキャッシングの量を100マイルまたは200マイル以内に制限します。私はこれを調査していませんが、英国の規模を考えれば、イベントごとに必要な旅の合計数を1/2または2/3に減らすことができます...より良いですが、検索には時間がかかりすぎますイベントを追加するときに使用します。

  • 次の郵便番号エリアまでの移動距離のポストコード場所のグラフを保存し、A *のようなものを使用して、近くのポストコードを検索します。この問題は、このようなシステムを実装してホストするための時間/アベイラビリティがないことです。

もっと良い解決法はありますか?明白な何かを逃したことがありますか?


EDIT:マップクエストはcustom POI data setsを使用してsupport driving distance searchに表示されます。

proximity searchの重複はありませんが、私は走行距離が緯度/経度ではなく近接してほしいと思っています。

答えて

0

残念ながら、MapQuestのデータ制限のため、残念ながら、顧客はそれほど興味深いソリューションを使用することに決めました。

+0

ちょうど不思議なことに、どのデータの制限が顧客にとって問題であることが判明しましたか? – jharahush

+0

1日あたり5000回の検索。あなたが5000 /日の限界を回避するイベント(すなわち、最も近いポストコードを見つける)を追加するときに、逆に検索を行うことであったが、別のアイデアがあった。 – Jon

0

私はUKのOpenStreetMapの品質について知らないけど、データをダウンロードすることができます。 PostalCode情報が含まれているデータの品質が十分であれば、一部のオンラインデータストアでDOS攻撃を行わずにデータを使用したいすべてを事前に計算することができます。

マップクエストはcustom POI data setsを使用してsupport driving distance searchに表示されます:私は編集として追加したとして

関連する問題