2012-03-01 94 views
1

我有一個事件數據庫(在英國)和他們的郵政編碼(郵政編碼)。如何根據駕駛距離實時搜索結果?

用戶將輸入他們的郵政編碼到網頁中,然後按回車,一些真棒算法/系統將隨後返回用戶郵政編碼的x英里駕駛距離內的事件列表。

這是可能的實時?

我考慮的解決方案是:

  • 緩存(其中4100)郵政編碼區域之間的所有距離和使用。由於郵編區域只有幾英里,所以不太好,但現在可以。最大的問題是我需要大約8403000次旅行距離,谷歌地圖有使用限制,Map Quest的API速度慢,不適合查找郵編,我不想對它進行DOS攻擊。

  • 緩存事件郵編和我的郵編區域列表之間的所有距離。仍然不完善,因爲將會有1000個事件,並且在添加事件時查找距離將會花費太長時間。

  • 限制在烏鴉飛行時在100或200英里範圍內的旅程高速緩存的數量。我沒有調查過這個,但考慮到英國的規模,它可以減少每次活動所需的旅程總數1/2或甚至2/3 ...哪個更好,但仍然需要很長時間來查找添加事件時。

  • 存儲某種郵政編碼位置的圖形,並顯示下一個郵政編碼區域的行程距離,並使用類似於A *的內容快速搜索關閉郵政編碼。問題在於我沒有時間/可用性來實現和託管這樣的系統。

有沒有更好的解決方案?我錯過了明顯的東西嗎?


編輯: MapQuest似乎support driving distance search使用custom POI data sets

不是proximity search的副本,因爲我想駕駛距離接近,而不是緯度/經度接近度。

回答

0

正如我已在爲編輯:

MapQuest的使用custom POI data sets似乎support driving distance search

不幸的是,由於MapQuest的數據限制,客戶決定使用一個不太有趣的解決方案!

+0

只是好奇,什麼數據限制原來是客戶的問題? – jharahush 2012-03-09 16:12:36

+0

每天5000次搜索。儘管有另外一個想法,那就是當你添加一個事件(即找到最近的郵政編碼)時可以反向搜索,這樣可以達到5000次/天的限制。 – Jon 2012-03-12 15:32:10

0

我不知道OpenStreetMap在英國的質量,但你可以下載他們的數據。如果數據質量足夠好並且包含PostalCode信息,則可以預先計算您希望使用其數據的所有數據,而不會在某些在線數據存儲上發生DOS攻擊。

相關問題