Ada*_*yai 2 openstreetmap osmosis
我设法从 OSM 下载了一个行星文件,并使用 osmconvert 将其转换为 o5m 格式,并从中删除了所有作者信息,以保持文件较小。我试图从全世界的这个数据库中获取每个 POI,所以我对城市、城镇、高速公路、道路等不感兴趣,只对便利设施感兴趣。
首先,我尝试通过使用 osmosis 来实现这一点,它似乎设法做我想做的事,只是它总是内存不足,导致文件太大而无法处理。(我可以将文件拆分成更小的文件,但如果可能的话,我想避免这种情况)。
我尝试使用 osmfilter 进行试验,在那里,我设法过滤掉了每个包含名为 amenity 的标签的节点,但是我有几个无法解决的问题:
一种。如果我使用以下命令:
osmfilter planet.o5m -v --keep-tags="amenity=" -o=amenities.osm
Run Code Online (Sandbox Code Playgroud)
它保留所有节点,并过滤掉名称中没有舒适性的每个标签。
湾 如果我使用这个命令:
osmfilter planet.o5m -v --keep-tags="all amenity=" -o=amenities.osm
Run Code Online (Sandbox Code Playgroud)
它现在过滤掉所有没有便利性标签的节点,但也过滤掉匹配节点中的所有附加标签,其中包含我需要的信息(例如,兴趣点的名称或描述)
C。如果我使用这个命令:
osmfilter planet.o5m -v --keep-tags="all amenity= all name=" -o=amenities.osm
Run Code Online (Sandbox Code Playgroud)
过滤掉标签中包含名称或便利设施的每个节点,这给我留下了几个命名的城市或高速公路(我不需要的数据)。
我也尝试用 AND 运算符将其分开,但它说,在过滤标签时我不能使用 AND 运算符。知道我怎么能达到预期的结果吗?
尾注:我运行的是 Windows 7 系统,所以没有基于 Linux 的程序可以帮助我:|
小智 6
请尝试--keep=选项而不是--keep-tags选项。后者对将保存在文件中的对象没有影响。
例如:
osmfilter planet.o5m --keep="amenity= and name=" -o=amenities.osm
将只保留带有便利设施标签和名称标签的对象。
请注意,所有相关对象也将在输出文件中。例如,如果有一个带有所请求标签的路对象,则该路的每个节点也将在输出文件中。这同样适用于关系及其依赖的方式和节点。如果您不想要这种行为,请添加--ignore-dependencies
可以在此处找到更多信息:https : //wiki.openstreetmap.org/wiki/Osmfilter
| 归档时间: |
|
| 查看次数: |
4688 次 |
| 最近记录: |