diff --git a/mapbuilder/src/main/java/map/builder/osm/SegmentUtils.java b/mapbuilder/src/main/java/map/builder/osm/SegmentUtils.java index 6a4bd35b7996f07db2bf51e6debb81c29cbe664d..d5a79b377d0d7bcd9f390f19537d817b1dbc6364 100644 --- a/mapbuilder/src/main/java/map/builder/osm/SegmentUtils.java +++ b/mapbuilder/src/main/java/map/builder/osm/SegmentUtils.java @@ -1,45 +1,44 @@ package map.builder.osm; -import de.fuberlin.navigator.protos.map_builder.RoadCategory; -import de.fuberlin.navigator.protos.map_builder.RoadNetwork; -import org.json.JSONObject; - import java.util.Arrays; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.json.JSONObject; + +import de.fuberlin.navigator.protos.map_builder.RoadCategory; + public class SegmentUtils { - private SegmentUtils() {} + private SegmentUtils() { + } + private static final List<String> drivableRoads = Arrays.asList( - "motorway", - "trunk", - "primary", - "secondary", - "tertiary", - "unclassified", - "residential", - "living_street", - "motorway_link", - "trunk_link", - "primary_link", - "secondary_link", - "tertiary_link", - "living_street", - "track", - "road" - ); + "motorway", + "trunk", + "primary", + "secondary", + "tertiary", + "unclassified", + "residential", + "living_street", + "motorway_link", + "trunk_link", + "primary_link", + "secondary_link", + "tertiary_link", + "living_street", + "road"); private static final Map<RoadCategory, Integer> speedMap = Map.ofEntries( Map.entry(RoadCategory.ROAD_CATEGORY_HIGHWAY, 120), Map.entry(RoadCategory.ROAD_CATEGORY_MAIN, 90), Map.entry(RoadCategory.ROAD_CATEGORY_LOCAL, 50), Map.entry(RoadCategory.ROAD_CATEGORY_RESIDENTIAL, 30), - Map.entry(RoadCategory.ROAD_CATEGORY_INVALID, 0) - ); - private static final Pattern patternMaxSpeed = Pattern.compile("^([0-9][\\.0-9]+?)(?:[ ]?(?:km/h|kmh|kph|mph|knots))?$"); + Map.entry(RoadCategory.ROAD_CATEGORY_INVALID, 0)); + private static final Pattern patternMaxSpeed = Pattern + .compile("^([0-9][\\.0-9]+?)(?:[ ]?(?:km/h|kmh|kph|mph|knots))?$"); public static boolean isSegmentDrivable(JSONObject element) { return OSMJSONUtils.isTagValueOneOf(element, "highway", drivableRoads); @@ -51,9 +50,9 @@ public class SegmentUtils { return switch (roadTypeTag) { case "motorway", "highway" -> RoadCategory.ROAD_CATEGORY_HIGHWAY; case "trunk", "primary", "secondary", "motorway_link", "trunk_link", "primary_link", "secondary_link" -> - RoadCategory.ROAD_CATEGORY_MAIN; + RoadCategory.ROAD_CATEGORY_MAIN; case "unclassified", "tertiary", "tertiary_link", "track", "road" -> - RoadCategory.ROAD_CATEGORY_LOCAL; + RoadCategory.ROAD_CATEGORY_LOCAL; case "residential", "living_street" -> RoadCategory.ROAD_CATEGORY_RESIDENTIAL; default -> RoadCategory.ROAD_CATEGORY_INVALID; };