1

Atlas项目(以及 Java)的新手,我正在尝试一些事情。我正在寻找结合此处此处给出的说明以在 Atlas 上应用标签过滤的首选方式。

以下是一个好方法还是有更好的选择?

String definition = "highway->residential";
final TaggableFilter filter = TaggableFilter.forDefinition(definition);
final Optional<Atlas> predicateAtlas = atlas.subAtlas(filter::test, AtlasCutType.SOFT_CUT);
4

1 回答 1

1

您的代码将工作并生成另一个包含所有元素的 Atlas highway=residential。需要注意的是,Atlas 必须遵循特征完整性(即 anEdge没有 end 就无法存在Node),这意味着某些没有您在此处指定的标签的特征可能仍会被引入(例如 connected Nodes 或 parent Relations)。

仅获取已标记功能的另一种方法是highway=residential不强制将它们反馈到 Atlas,而只是打印或使用您选择的自定义功能进行处理:

String definition = "highway->residential";
final TaggableFilter filter = TaggableFilter.forDefinition(definition);
atlas.entities(filter).forEach(entity -> ...);
于 2019-05-31T16:56:49.260 回答