0

我创建了一些旅行项目,但现在我需要世界各地的海滩数据库。有没有这种类型的数据库。我可以从某个地方刮擦吗?是否可以从 openstreetmap 获取它?

我尝试使用: http: //poi.openstreetmap.nl/但没有这种类型的对象(PO​​I)

我也尝试过用谷歌的地方,但也没有这种类型......

4

2 回答 2

2

OpenStreetMap 中的元素标签描述。对于海滩,有natural=beach标签。

如果您想从 OSM 检索所有海滩,您可以使用Overpass APi并为所有具有此标签的元素运行查询,或者获取原始数据(行星或提取物)并随后运行查询。

Overpass-XML 查询如下所示:

<osm-script output="json">
  <union>
    <query type="node">
      <has-kv k="natural" v="beach"/>
    </query>
    <query type="way">
      <has-kv k="natural" v="beach"/>
    </query>
    <query type="relation">
      <has-kv k="natural" v="beach"/>
    </query>
  </union>
  <recurse type="down"/>
</osm-script>

和等效的 Overpass-QL 查询(只是一种更紧凑的格式):

[out:json];(node["natural"="beach"];way["natural"="beach"];relation["natural"="beach"];);>;;

您可以直接运行此查询来检索原始数据(也可以检索XML而不是JSON)或在OverpassTurbo上显示结果

请注意,这是一个非常繁重的查询,因为它涉及检查整个世界,而不仅仅是特定的地理区域(可以通过指定边界框来实现)。因此查询将需要一些时间来运行,您可能需要增加timeout

另一种方法是下载行星或您感兴趣的提取物,并使用osmfilter提取所有带有特定标签的元素。

于 2013-08-20T17:23:43.010 回答
0

不完全是海滩,但你可以在这个网站上找到很多分类的 POI: http ://waypointer.info

于 2015-07-30T21:32:07.643 回答