Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用geocoder gem for ruby在openstreetmap中查找自然地点_Ruby_Openstreetmap_Geocoder - Fatal编程技术网

如何使用geocoder gem for ruby在openstreetmap中查找自然地点

如何使用geocoder gem for ruby在openstreetmap中查找自然地点,ruby,openstreetmap,geocoder,Ruby,Openstreetmap,Geocoder,我正在使用geocoder gem for ruby。我想在openstreetmap中找到给定区域(viewbox)中的自然位置。现在看起来是这样的: Geocoder.search(q, params: {viewbox: viewbox, bounded: 1, limit: 20}) 其中q是搜索词。例如,如果我使用q='[school]',我可以在给定的视图框中找到所有学校。但是我怎样才能找到像森林等自然的地方呢。?我可以使用q='wood',但我希望避免找到包含“wood”一词的建

我正在使用geocoder gem for ruby。我想在openstreetmap中找到给定区域(viewbox)中的自然位置。现在看起来是这样的:

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

其中
q
是搜索词。例如,如果我使用
q='[school]'
,我可以在给定的视图框中找到所有学校。但是我怎样才能找到像森林等自然的地方呢。?我可以使用
q='wood'
,但我希望避免找到包含“wood”一词的建筑物或街道

地理编码器通常用于查找命名地点。若要查询特定类型的未命名位置,请改用并搜索(非托管林地)和(由人类管理的林地)。例如:


不幸的是,到目前为止,我自己还没有在ruby中使用Overpass API,但是至少有一个ruby gem用于此目的:。

我不确定您是否可以这样做:您可能需要自己进行符号映射,例如,森林就是有森林、公园、花园等的地方。。。因此,您的api调用必须发送与自然相关对象关联的语义关键字,而不是查找woods。地图引擎不知道森林是指自然、商店、街道还是邻居的名字。所以你需要找到一个方法来告诉它