我设法从 OSM 下载了一个行星文件,并使用 osmconvert 将其转换为 o5m 格式,并从中删除了所有作者信息,以保持文件大小更小。我试图从全世界的这个数据库中获取每个 POI,所以我对城市、城镇、高速公路、方式等不感兴趣,只对便利设施感兴趣。
首先,我尝试通过使用 osmosis 来实现这一点,它似乎可以做到我想要的,只是它总是内存不足,导致文件太大而无法处理。(我可以将文件分成更小的文件,但如果可能的话,我想避免这种情况)。
我尝试使用 osmfilter 进行试验,在那里,我设法过滤掉了其中包含名为 amenity 的标签的每个节点,但我有几个无法解决的问题:
一个。如果我使用以下命令:
osmfilter planet.o5m -v --keep-tags="amenity=" -o=amenities.osm
它保留所有节点,并过滤掉每个名称中没有便利性的标签。
湾。如果我使用这个命令:
osmfilter planet.o5m -v --keep-tags="all amenity=" -o=amenities.osm
它现在过滤掉所有没有设施标签的节点,但也过滤掉匹配节点中的所有附加标签,这些标签包含我需要的信息(例如,POI 的名称或描述)
C。如果我使用这个命令:
osmfilter planet.o5m -v --keep-tags="all amenity= all name=" -o=amenities.osm
过滤掉标签中包含名称或便利设施的每个节点,这给我留下了几个命名的城市或高速公路(我不需要的数据)。
我还尝试使用 AND 运算符将其分开,但它说,在过滤标签时我不能使用 AND 运算符。知道我怎样才能达到预期的结果吗?
尾注:我运行的是 Windows 7 系统,所以没有基于 Linux 的程序可以帮助我:|