use of com.graphhopper.config.Profile in project graphhopper by graphhopper.
the class RouteResourceTurnCostsTest method createConfig.
private static GraphHopperServerConfiguration createConfig() {
GraphHopperServerConfiguration config = new GraphHopperServerTestConfiguration();
config.getGraphHopperConfiguration().putObject("graph.flag_encoders", "car|turn_costs=true").putObject("prepare.min_network_size", 0).putObject("datareader.file", "../core/files/moscow.osm.gz").putObject("graph.encoded_values", "road_class,surface,road_environment,max_speed").putObject("graph.location", DIR).setProfiles(Arrays.asList(new Profile("my_car_turn_costs").setVehicle("car").setWeighting("fastest").setTurnCosts(true), new Profile("my_car_no_turn_costs").setVehicle("car").setWeighting("fastest").setTurnCosts(false), new Profile("my_custom_car_turn_costs").setVehicle("car").setWeighting("custom").setTurnCosts(true).putHint("custom_model_file", "empty"), new Profile("my_custom_car_no_turn_costs").setVehicle("car").setWeighting("custom").setTurnCosts(false).putHint("custom_model_file", "empty"))).setCHProfiles(Arrays.asList(new CHProfile("my_car_turn_costs"), new CHProfile("my_car_no_turn_costs"), new CHProfile("my_custom_car_turn_costs"), new CHProfile("my_custom_car_no_turn_costs"))).setLMProfiles(Arrays.asList(new LMProfile("my_car_no_turn_costs"), new LMProfile("my_custom_car_no_turn_costs"), // no need for a second LM preparation: we can just cross query here
new LMProfile("my_car_turn_costs").setPreparationProfile("my_car_no_turn_costs"), new LMProfile("my_custom_car_turn_costs").setPreparationProfile("my_custom_car_no_turn_costs")));
return config;
}
use of com.graphhopper.config.Profile in project graphhopper by graphhopper.
the class RouteResourceProfileSelectionTest method createConfig.
private static GraphHopperServerConfiguration createConfig() {
GraphHopperServerConfiguration config = new GraphHopperServerTestConfiguration();
config.getGraphHopperConfiguration().putObject("graph.flag_encoders", "bike,car,foot").putObject("prepare.min_network_size", 0).putObject("datareader.file", "../core/files/monaco.osm.gz").putObject("graph.encoded_values", "road_class,surface,road_environment,max_speed").putObject("graph.location", DIR).setProfiles(Arrays.asList(new Profile("my_car").setVehicle("car").setWeighting("fastest"), new Profile("my_bike").setVehicle("bike").setWeighting("short_fastest"), new Profile("my_feet").setVehicle("foot").setWeighting("shortest"))).setCHProfiles(Arrays.asList(new CHProfile("my_car"), new CHProfile("my_bike"), new CHProfile("my_feet"))).setLMProfiles(Arrays.asList(new LMProfile("my_car"), new LMProfile("my_bike"), new LMProfile("my_feet")));
return config;
}
use of com.graphhopper.config.Profile in project graphhopper by graphhopper.
the class RouteResourceIssue2020Test method createConfig.
private static GraphHopperServerConfiguration createConfig() {
GraphHopperServerConfiguration config = new GraphHopperServerTestConfiguration();
config.getGraphHopperConfiguration().putObject("graph.flag_encoders", "car").putObject("prepare.lm.split_area_location", "../core/files/split.geo.json").putObject("datareader.file", "../core/files/north-bayreuth.osm.gz").putObject("graph.encoded_values", "road_class,surface,road_environment,max_speed").putObject("graph.location", DIR).setProfiles(Collections.singletonList(new Profile("my_car").setVehicle("car").setWeighting("fastest"))).setLMProfiles(Collections.singletonList(new LMProfile("my_car")));
return config;
}
use of com.graphhopper.config.Profile in project graphhopper by graphhopper.
the class LMProfileSelectorTest method multipleProfiles.
@Test
public void multipleProfiles() {
List<Profile> profiles = Arrays.asList(fastCar, fastBike);
List<LMProfile> lmProfiles = Arrays.asList(new LMProfile("fast_car"), new LMProfile("fast_bike"));
assertProfileFound(profiles.get(0), profiles, lmProfiles, "car", null, null, null);
assertProfileFound(profiles.get(0), profiles, lmProfiles, "car", "fastest", null, null);
assertProfileFound(profiles.get(1), profiles, lmProfiles, "bike", null, null, null);
assertProfileFound(profiles.get(1), profiles, lmProfiles, "bike", "fastest", null, null);
// not specific enough
String error = assertLMProfileSelectionError(MULTIPLE_MATCHES_ERROR, profiles, lmProfiles, null, "fastest", null, null);
assertTrue(error.contains("requested: fastest|*|turn_costs=*"), error);
assertTrue(error.contains("matched: [fastest|car|turn_costs=false, fastest|bike|turn_costs=false]"), error);
assertTrue(error.contains("available: [fastest|car|turn_costs=false, fastest|bike|turn_costs=false]"), error);
assertLMProfileSelectionError(NO_MATCH_ERROR, profiles, lmProfiles, null, "shortest", null, null);
// u_turn_costs is set, but lm should not really care
assertProfileFound(profiles.get(0), profiles, lmProfiles, "car", null, null, 54);
assertProfileFound(profiles.get(0), profiles, lmProfiles, "car", null, false, 64);
}
use of com.graphhopper.config.Profile in project graphhopper by graphhopper.
the class LMProfileSelectorTest method assertProfileFound.
private void assertProfileFound(Profile expectedProfile, List<Profile> profiles, List<LMProfile> lmProfiles, String vehicle, String weighting, Boolean edgeBased, Integer uTurnCosts) {
PMap hintsMap = createHintsMap(vehicle, weighting, edgeBased, uTurnCosts);
try {
Profile selectedProfile = new ProfileResolver(encodingManager, profiles, Collections.<CHProfile>emptyList(), lmProfiles).selectProfileLM(hintsMap);
assertEquals(expectedProfile, selectedProfile);
} catch (IllegalArgumentException e) {
fail("no profile found\nexpected: " + expectedProfile + "\nerror: " + e.getMessage());
}
}
Aggregations