2012-03-09 66 views
2

我想知道Google地理編碼和地址如何?它是否像DNS查詢一樣工作,他們在哪裏有一個大地址表,這是一個地理編碼的散列表,或者是否有任何有趣的幾何圖形?如果它是一個很大的散列表,他們是如何收集所有這些數據的?如何從地址完成地理編碼?

回答

5

Busbina,我爲SmartyStreets工作,在那裏我們驗證和地理編碼街道地址 - 所以我會告訴你我所瞭解的情況,並將您鏈接到您自己的研究的更多資源。

回答你的問題:它是兩個。

有大量數據庫(例如,那些像TIGER Data)的供應商,其中包含關係,地理政治信息,包括座標,街道,邊界和名稱。對於美國的數據,通過簡單的查找就可以通過這樣的表格獲得至少ZIP級別的準確性。但爲了更準確,附加+4代碼,您可以將其縮小到高樓的城市街區或樓層。

爲了進一步提高準確性(即瞭解建築物在街道上的精確位置),Google和其他人執行了所謂的插值,他們從數據集中獲取已知邊界以及從已知的主要數字範圍該街區或街道的開始到結束時,他們解決比例問題。 如果正確的主號是已知,以及在一個理想的環境筆直的街道,像這樣一個簡單的比例結果:

(primary number - starting primary number)/(ending primary number) = 
     (x - starting boundary coordinate)/(ending boundary coordinate) 

x着密切的猜測到街道上的實際位置 - 但只有一個猜測。準確的建築物數據可能非常昂貴,我認爲只適用於一些城市地區。

關鍵是要獲得正確的主號碼和準確的最新數據。由於涉及這麼多信息的所有開銷,維護這可能是耗時且昂貴的。

請注意,Google和類似的地圖服務僅執行地址近似,而不是地址驗證,因此可能會出錯(即使地理編碼算法非常精確),因爲主號碼可能是錯誤的或甚至可能不存在。因此,當您對您有影響(或者您沒有展示Google地圖並且必須遵守服務條款)時,以LiveAddress爲起點,通過USPS認證,並且不會返回錯誤的地址。

所以有一些事情要考慮。

的更多信息:

**我會添加註釋,因爲我有過這樣的問題很多:rooftop-或建築物級精度非常昂貴的信息。我知道很少有提供這種服務的提供商,他們已經自己挖掘並收集了這些數據。例如,Google有街景視圖項目,他們可以從中獲得精確的近似地址座標,並且可以提供這種精確度。但是大多數地理編碼器使用來自官方來源的相同數據,它們只是內插不同。如果你想要像建築一樣的非常精確的座標,你可以期待付出高昂的代價,或者自己去收集數據。 (是的,谷歌是免費的一點 - 除非你打算使用的信息不僅僅是顯示地圖,基本上。)

0

另一種非常相似的服務是GeoNames,它是美國政府運行的位置名稱數據庫。這項服務更適合興趣點,如機場或地標。這只是一個名稱,位置和一些元數據的數據庫。

http://www.geonames.org/