0

我将地理编码器 gem 用于 ruby​​。我想在给定区域(视图框)的 openstreetmap 中找到自然位置。目前它看起来像这样:

Geocoder.search(q, params: {viewbox: viewbox, bounded: 1, limit: 20})

q搜索词在哪里。q = '[school]'例如,如果我使用,我可以在给定的视图框中找到所有学校。但是我如何找到树林等自然场所?我可以使用q = 'wood',但我想避免找到包含“木头”一词的建筑物或街道。

4

1 回答 1

1

地理编码器通常用于查找命名地点。要查询特定类型的未命名地点,最好使用Overpass API并搜索natural=wood(未管理的林地)和landuse=forest(由人类管理的林地)。示例:https ://overpass-turbo.eu/s/PDo

不幸的是,到目前为止,我自己还没有将 Overpass API 与 ruby​​ 一起使用,但是至少有一个 ruby​​ gem 用于此目的:overpass-api-ruby

于 2020-01-10T09:46:52.933 回答