我有一個控件,允許用戶輸入郵政編碼或在iframe中打開google地圖,然後單擊地圖選擇一個位置。我目前有這一切工作,並且iframe會將click/lat事件發回給父級。從經度/緯度獲取郵政編碼
我也有一個數據庫表設置與經緯度字段映射到郵政編碼。
但是,緯度/經度組合很可能永遠不會匹配我在數據庫中的條目。所以,我正在尋找匹配最接近的郵政編碼的最佳方式。
因爲用戶可以手動輸入郵政編碼,所以我並不完全擔心精度(即用戶點擊郵政編碼之間的邊界),但我希望它儘可能接近。我現在只需要擔心美國的位置。
我目前的解決方案的想法是提出一些寬容(.2?),並查詢db/long + - 容差。然後從結果集中選擇最接近的匹配項。
我很樂意聽到之前做過這個或者有比我提出的更好的解決方案的人的消息。我對使用服務不感興趣,因爲我擁有所有我需要的數據。
我對我提出的解決方案有一個擔憂,那就是確定一個好的容差是多少。這個項目是針對農村地區的,我不確定這些地區經緯度的分佈情況如何。
編輯:這是我的表結構: zip5 |城市|狀態| lat | lon |縣
zip5是緯度的主鍵
請問您爲什麼要將緯度/經度轉換爲郵政編碼?一旦你有了經/緯度,你就有了通過它們的鄰近來找到其他實體的關鍵。有什麼郵政編碼讓你擁有一個經/緯度不會讓你? – Tim 2013-03-08 22:16:33
@Tim根據我給出的設計規範,zip將顯示在html輸入中。我可以反駁它,但這看起來不應該那麼困難。 – Helto 2013-03-08 22:20:55
如果您需要查找2組緯度/經度之間的距離,則可以輕鬆計算從給定的郵政編碼(緯度/經度)到文件中的距離... – keithhatfield 2013-03-08 22:27:52