Skip to content
Snippets Groups Projects
Commit e3e7182a authored by kraleva's avatar kraleva
Browse files

remove track from segment building

parent d8c3ce1a
No related branches found
No related tags found
1 merge request!23remove track from segment building
package map.builder.osm; 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.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.json.JSONObject;
import de.fuberlin.navigator.protos.map_builder.RoadCategory;
public class SegmentUtils { public class SegmentUtils {
private SegmentUtils() {} private SegmentUtils() {
}
private static final List<String> drivableRoads = Arrays.asList( private static final List<String> drivableRoads = Arrays.asList(
"motorway", "motorway",
"trunk", "trunk",
"primary", "primary",
"secondary", "secondary",
"tertiary", "tertiary",
"unclassified", "unclassified",
"residential", "residential",
"living_street", "living_street",
"motorway_link", "motorway_link",
"trunk_link", "trunk_link",
"primary_link", "primary_link",
"secondary_link", "secondary_link",
"tertiary_link", "tertiary_link",
"living_street", "living_street",
"track", "road");
"road"
);
private static final Map<RoadCategory, Integer> speedMap = Map.ofEntries( private static final Map<RoadCategory, Integer> speedMap = Map.ofEntries(
Map.entry(RoadCategory.ROAD_CATEGORY_HIGHWAY, 120), Map.entry(RoadCategory.ROAD_CATEGORY_HIGHWAY, 120),
Map.entry(RoadCategory.ROAD_CATEGORY_MAIN, 90), Map.entry(RoadCategory.ROAD_CATEGORY_MAIN, 90),
Map.entry(RoadCategory.ROAD_CATEGORY_LOCAL, 50), Map.entry(RoadCategory.ROAD_CATEGORY_LOCAL, 50),
Map.entry(RoadCategory.ROAD_CATEGORY_RESIDENTIAL, 30), Map.entry(RoadCategory.ROAD_CATEGORY_RESIDENTIAL, 30),
Map.entry(RoadCategory.ROAD_CATEGORY_INVALID, 0) Map.entry(RoadCategory.ROAD_CATEGORY_INVALID, 0));
); private static final Pattern patternMaxSpeed = Pattern
private static final Pattern patternMaxSpeed = Pattern.compile("^([0-9][\\.0-9]+?)(?:[ ]?(?:km/h|kmh|kph|mph|knots))?$"); .compile("^([0-9][\\.0-9]+?)(?:[ ]?(?:km/h|kmh|kph|mph|knots))?$");
public static boolean isSegmentDrivable(JSONObject element) { public static boolean isSegmentDrivable(JSONObject element) {
return OSMJSONUtils.isTagValueOneOf(element, "highway", drivableRoads); return OSMJSONUtils.isTagValueOneOf(element, "highway", drivableRoads);
...@@ -51,9 +50,9 @@ public class SegmentUtils { ...@@ -51,9 +50,9 @@ public class SegmentUtils {
return switch (roadTypeTag) { return switch (roadTypeTag) {
case "motorway", "highway" -> RoadCategory.ROAD_CATEGORY_HIGHWAY; case "motorway", "highway" -> RoadCategory.ROAD_CATEGORY_HIGHWAY;
case "trunk", "primary", "secondary", "motorway_link", "trunk_link", "primary_link", "secondary_link" -> 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" -> case "unclassified", "tertiary", "tertiary_link", "track", "road" ->
RoadCategory.ROAD_CATEGORY_LOCAL; RoadCategory.ROAD_CATEGORY_LOCAL;
case "residential", "living_street" -> RoadCategory.ROAD_CATEGORY_RESIDENTIAL; case "residential", "living_street" -> RoadCategory.ROAD_CATEGORY_RESIDENTIAL;
default -> RoadCategory.ROAD_CATEGORY_INVALID; default -> RoadCategory.ROAD_CATEGORY_INVALID;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment