2009-09-14 141 views
3

我有一個地址數據庫,我試圖找到經度和使用谷歌地理編碼雅虎API。有沒有其他流行的API或程序在那裏。我使用的是Ubuntu平臺。緯度經度的API的

回答

2

我知道至少有一個其他地理編碼系統,OpenStreetMap。我發現這些API的唯一主要區別在於每個API的細節級別。 OpenStreetMap的數據少得多,但與自定義數據集成更容易。另外,我認爲谷歌製作的地圖是三者中最美麗的。

2

我通常通過HTTP使用Google Maps地理編碼服務,它會根據您的喜好返回Json或XML。瀏覽大約here以獲得更多關於此的信息。

另一選項可能是GeoNames.org。它還提供了一些有趣的服務和客戶端庫。

-1

使用YQL,u能獲得可能的預測 第一步的列表: 反向地理編碼

SELECT woeid 
FROM geo.places 
WHERE text="##LATITUDE##, ##LONGITUDE##" 

然後應用過濾器通過placeType訂購的結果。這幫助U給ORDER BY地圖級精度的預測(鎮,市,郵政編碼,區域,....)

SELECT woeid 
FROM geo.places 
WHERE text="##LATITUDE##, ##LONGITUDE##" | 
SORT(field="placeTypeName.code") 

現在使用的比喻加入度日WOEID導致由上次查詢所有的預測和過濾結果爲空

SELECT channel 
FROM weather.woeid 
WHERE w in (
    SELECT woeid 
    FROM geo.places 
    WHERE text="##LATITUDE##, ##LONGITUDE##" | 
    SORT(field="placeTypeName.code")) 
AND channel. 
2

有了這兩個,你提了,如果你是大規模處理它們或不顯示在查詢API,您違反服務條款的時間映射出用戶的。

更好的解決方案可以滿足您的需求,就像LiveAddress。我實際上在SmartyStreets工作,我們自己開發它 - 沒有任何許可限制,例如阻止您運行數百萬個地址。除了返回座標外,LiveAddress還將驗證地址的存在併爲您進行標準化。這有助於消除重複並具有很多業務優勢。

如果您有任何進一步的地址相關問題,我會很樂意親自協助。