2014-02-06 65 views
-1

我想我不能問谷歌如何進行反向地理編碼,因爲除谷歌之外,沒人會知道這一點。但是像OSM(OpenStreetMap)這樣的開放源碼如何將GPS座標解析到一個地方呢?反向地理編碼如何工作?

我知道在OSM(和Google地圖)中,每個地址都被認爲是一個帶有指定GPS座標的地方(或點)。反向地理編碼實際上不是返回具有相同座標的精確點,而是最近的點。所有這一切都是爲了它?瀏覽數據庫中的每個已知點並返回最近點?還是更復雜?另外,它如何知道每個點屬於哪個城市/國家?

在此先感謝。

+0

你想知道的具體細節是什麼? * https://en.wikipedia.org/wiki/Geocoding * http://postgis.net/docs/Geocode.html 您是在談論一般想法/解決方案還是以OSM爲中心? * https://wiki.openstreetmap.org/wiki/Nominatim – MaM

+0

重複問題:https://help.openstreetmap.org/questions/30512/how-does-nominatim-reverse-geocode – scai

回答

0

反向地理編碼是一個空間搜索問題。你有路段或地塊數據,你必須找到離你最近的物體lat,lon。一旦你發現你可以從中提取屬性並將其返回給用戶。有很多OpenSource工具能夠進行空間搜索,如PostgreSQL/PostGIS或mapserver.org。

+0

美國人口普查老虎數據放置地址範圍在街道上,所以如果您搜索最近的街道段,則可以將法線放到街道上,然後線性插入以計算街道上的近似地址,假設房屋沿着街道段均勻間隔。 –