2017-08-15 42 views
1

我使用Nominatim API來獲取項目的某些本地街道的邊界框和多邊形點。Nominatim爲相同的請求檢索不同的數據

我發現的一個問題是,當我在我的網頁瀏覽器請求的URL,例如:

Rua de Santa Maria

它檢索此邊框:

["32.6474594","32.64779","-16.8998967","-16.8993021"] 
["32.6469257","32.6470059","-16.8981943","-16.8974107"] 
["32.6478793","32.6478838","-16.9007069","-16.9005973"] 
["32.6478902","32.647988","-16.9014895","-16.9007494"] 

但是,當我使用使用Node.js應用程序請求的相同URL:

var request = require('request'); 

var url = encodeURI("http://nominatim.openstreetmap.org/search?" + 
    "q=Rua de Santa Maria,Madeira&format=json&polygon=1&addressdetails=1"); 

request({url: url, json: true}, function (err, res, json){ 
    console.log(json); 
}); 

它檢索:

["32.6470059","32.647067","-16.8984633","-16.8981943"] 
["32.6469257","32.6470059","-16.8981943","-16.8974107"] 
["32.6480316","32.6480782","-16.9021559","-16.901742"] 
["32.6478793","32.6478838","-16.9007069","-16.9005973"] 

這是略有不同。檢索到的多邊形點也不同。任何人都知道爲什麼會發生這種情況

+1

原因很簡單,有很多地方被命名爲「Rua de Santa Maria,Madeira」或OSM中有冗餘數據。在這種情況下,您必須手動選擇一個,但不能依賴程序本身,並且可以應用更多條件來過濾掉所需的一個。 – tibetty

回答

1

請求很可能不一樣。您的瀏覽器會在其請求標頭中發送其他信息,例如首選語言。這些附加信息似乎會影響搜索結果。

相關問題