2017-08-15 15 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

リクエストは同じではない可能性が非常に高いです。ブラウザは、優先言語などのリクエストヘッダーに追加情報を送信します。これらの追加情報は検索結果に影響するようです。

関連する問題