例如,我正在尝试搜索某个区域中的燃料(Tankstelle)。
这是一个50公里的边界框,它只给出了很少的结果:
http://nominatim.openstreetmap.org/search?q=Tankstelle&format=xml&limit=50&viewbox=7.98435,49.40889,8.95440,48.77371&bounded=1它包含一个"more_url“链接以获取更多数据。尽管我使用了limit-参数,但我只得到了很少的结果。有没有可能至少用limit而不是这个more_url得到指定的结果?
汤姆
发布于 2014-09-04 19:40:15
编辑(尝试更明确)
如果你想用Nominatim搜索OSM“特性”,你应该使用专用的-即使没有文档记录!- Nominatim语法,在括号中使用Special Phrases:
http://nominatim.openstreetmap.org/search?q=[Tankstelle]&format=xml&limit=50&viewbox=7.98435,49.40889,8.95440,48.77371&bounded=1使用此语法的限制:
您可以看到,当我的查询检索max = 50 (50个加油站,即使地址中没有"Tankstelle“)时,您的查询检索了4个结果(地址中有"Tankstelle”)。
我不知道为什么Nominatim会在你的搜索示例中使用more_url。
现在,如果您搜索常规地址("q=50 Mozart street,Denver"),那么Nominatim通常会坚持您设置的限制(50)。如果Nominatim找到了超过50个答案,那么more_url允许获取下一个包含50个结果的“页面”(依此类推)。
发布于 2014-09-03 17:24:47
为了检索给定区域中的所有加油站,最好使用不同的API,例如Overpass API。Nominatim主要是一个(反向)地理编码器,并不是为此类查询而设计的。
查看使用overpass turbo可视化的在边界框中显示所有加油站的this example query
<osm-script output="json" timeout="25">
<union>
<query type="node">
<has-kv k="amenity" v="fuel"/>
<bbox-query e="8.95440" n="49.40889" s="48.77371" w="7.98435"/>
</query>
<query type="way">
<has-kv k="amenity" v="fuel"/>
<bbox-query e="8.95440" n="49.40889" s="48.77371" w="7.98435"/>
</query>
<query type="relation">
<has-kv k="amenity" v="fuel"/>
<bbox-query e="8.95440" n="49.40889" s="48.77371" w="7.98435"/>
</query>
</union>
<print mode="body"/>
<recurse type="down"/>
<print mode="skeleton" order="quadtile"/>
</osm-script>https://stackoverflow.com/questions/25640313
复制相似问题