package org.osm2world.core.osm.ruleset; import java.util.Collection; import java.util.HashSet; import org.openstreetmap.josm.plugins.graphview.core.data.Tag; public class HardcodedRuleset implements Ruleset { private static Collection<Tag> areaTags = new HashSet<Tag>(); private static Collection<String> areaKeys = new HashSet<String>(); private static Collection<Tag> landTags = new HashSet<Tag>(); private static Collection<Tag> seaTags = new HashSet<Tag>(); static { areaTags.add(new Tag("area", "yes")); areaTags.add(new Tag("amenity", "fountain")); areaTags.add(new Tag("amenity", "parking")); areaTags.add(new Tag("amenity", "swimming_pool")); areaTags.add(new Tag("leisure", "pitch")); areaTags.add(new Tag("leisure", "swimming_pool")); areaTags.add(new Tag("natural", "beach")); areaTags.add(new Tag("natural", "sand")); areaTags.add(new Tag("natural", "water")); areaTags.add(new Tag("natural", "wood")); areaTags.add(new Tag("power", "generator")); areaTags.add(new Tag("waterway", "riverbank")); areaKeys.add("building"); areaKeys.add("building:part"); areaKeys.add("golf"); areaKeys.add("landuse"); landTags.add(new Tag("landuse", "forest")); landTags.add(new Tag("natural", "water")); landTags.add(new Tag("natural", "wood")); landTags.add(new Tag("waterway", "river")); landTags.add(new Tag("waterway", "stream")); seaTags.add(new Tag("maritime", "yes")); seaTags.add(new Tag("route", "ferry")); seaTags.add(new Tag("seamark", "buoy")); seaTags.add(new Tag("seamark:type", "buoy_cardinal")); seaTags.add(new Tag("seamark:type", "buoy_isolated_danger")); seaTags.add(new Tag("seamark:type", "buoy_lateral")); seaTags.add(new Tag("seamark:type", "buoy_safe_water")); seaTags.add(new Tag("seamark:type", "buoy_special_purpose")); seaTags.add(new Tag("seamark:type", "cable_submarine")); seaTags.add(new Tag("submarine", "yes")); seaTags.add(new Tag("wetland", "tidalflat")); } @Override public boolean isAreaTag(Tag tag) { return areaKeys.contains(tag.key) || areaTags.contains(tag); } @Override public boolean isLandTag(Tag tag) { return landTags.contains(tag); } @Override public boolean isSeaTag(Tag tag) { return seaTags.contains(tag); } }