osmosis-areafilter中的错误? Osmosis.run()不使用--bounding-polygon。

时间:2017-12-09 14:16:47

标签: java openstreetmap osmosis

我已经有一段时间不知所措了,无法解决这个问题。试过替代方法,但无法实现。我相信它是渗透区域过滤器中的一个错误。

GitHub存储库中没有问题跟踪器,并且提供的报告错误的链接需要用户名/密码(https://trac.openstreetmap.org/query?status=!closed&component=osmosis)。

问题:

在我的Java项目中,我尝试运行命令:

Osmosis.run(new String[] {"--xml-read", "data/map.osm", "--bounding-polygon", "data/bounds.poly", "--xml-write", "data/map_cut.osm"});

崩溃并且错误消息包括:"找不到polygon.txt",这是--bounding-polygon函数的默认调用。

将我的bounds.poly重命名为polygon.txt并将其放在主项目文件夹中是一个成功但有希望的临时解决方法。

我期待有人在这里测试它以确认它是否是一个错误,然后在OSM的封闭式追踪器中提出问题。如果我错了,并且它不是错误,那么我很乐意知道错误并能够解决它。

1 个答案:

答案 0 :(得分:0)

解决了这个问题。这是因为我没有在.poly文件的实际路径之前使用参数键“file =”。

发生混淆是因为在某些管道(例如read-xml和write-xml)中,不需要显式参数键,我认为这里的情况是相同的。

事实上,仔细查看wiki可以通过添加“(默认)”单词来定义不需要显示的参数。如果是--bounding-polygon管道,则没有默认参数,因此需要为选项指定每个key = value对。