Nominatim边界限制?

时间:2014-09-03 09:03:02

标签: openstreetmap nominatim

我试图在一个地区寻找燃料(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指定的结果相同而不是more_url?

汤姆

2 个答案:

答案 0 :(得分:2)

编辑(试图更明确)

如果您想搜索OSM"功能"与Nominatim,你应该使用专用 - 即使没有记录! - 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

使用此语法的限制:

  • 您必须设置一个视图框,并且有界= 1。
  • 限制的最大值为50。

当我的查询检索到最大值= 50(50个加油站,即使没有#34; Tankstelle")时,您可以看到您的查询检索到4个结果(地址为" Tankstelle")在地址中)。

我不知道为什么Nominatim会为你的搜索示例提出more_url。

现在,如果您搜索常规地址(" q = 50 Mozart street,Denver"),那么Nominatim通常会达到您设定的限制(50)。如果Nominatim找到超过50个答案,那么more_url允许获得下一个"页面" 50个结果(等等)。

答案 1 :(得分:0)

要检索给定区域内的所有加油站,最好使用不同的API,例如Overpass API。 Nominatim主要是一个(反向)地理编码器,并不是为此类查询而设计的。

参见this example query显示边界框中的所有加油站,使用overpass turbo显示:

<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>