use of com.graphhopper.GHResponse in project graphhopper by graphhopper.
the class RouteResourceTest method testPathDetails.
@Test
public void testPathDetails() {
GraphHopperWeb client = new GraphHopperWeb(clientUrl(app, "/route"));
GHRequest request = new GHRequest(42.554851, 1.536198, 42.510071, 1.548128).setProfile("my_car");
request.setPathDetails(Arrays.asList("average_speed", "edge_id", "time"));
GHResponse rsp = client.route(request);
assertFalse(rsp.hasErrors(), rsp.getErrors().toString());
assertTrue(rsp.getErrors().isEmpty(), rsp.getErrors().toString());
Map<String, List<PathDetail>> pathDetails = rsp.getBest().getPathDetails();
assertFalse(pathDetails.isEmpty());
assertTrue(pathDetails.containsKey("average_speed"));
assertTrue(pathDetails.containsKey("edge_id"));
assertTrue(pathDetails.containsKey("time"));
List<PathDetail> averageSpeedList = pathDetails.get("average_speed");
assertEquals(13, averageSpeedList.size());
assertEquals(30.0, averageSpeedList.get(0).getValue());
assertEquals(14, averageSpeedList.get(0).getLength());
assertEquals(60.0, averageSpeedList.get(1).getValue());
assertEquals(5, averageSpeedList.get(1).getLength());
List<PathDetail> edgeIdDetails = pathDetails.get("edge_id");
assertEquals(77, edgeIdDetails.size());
assertEquals(882L, edgeIdDetails.get(0).getValue());
assertEquals(2, edgeIdDetails.get(0).getLength());
assertEquals(883L, edgeIdDetails.get(1).getValue());
assertEquals(8, edgeIdDetails.get(1).getLength());
long expectedTime = rsp.getBest().getTime();
long actualTime = 0;
List<PathDetail> timeDetails = pathDetails.get("time");
for (PathDetail pd : timeDetails) {
actualTime += (Long) pd.getValue();
}
assertEquals(expectedTime, actualTime);
}
use of com.graphhopper.GHResponse in project graphhopper by graphhopper.
the class RouteResourceTest method testPathDetailsSamePoint.
@Test
public void testPathDetailsSamePoint() {
GraphHopperWeb hopper = new GraphHopperWeb(clientUrl(app, "/route"));
GHRequest request = new GHRequest(42.554851, 1.536198, 42.554851, 1.536198).setPathDetails(Arrays.asList("average_speed", "edge_id", "time")).setProfile("my_car");
GHResponse rsp = hopper.route(request);
assertFalse(rsp.hasErrors(), rsp.getErrors().toString());
assertTrue(rsp.getErrors().isEmpty(), rsp.getErrors().toString());
}
use of com.graphhopper.GHResponse in project graphhopper by graphhopper.
the class RouteResourceTest method testPathDetailsRoadClass.
@Test
public void testPathDetailsRoadClass() {
GraphHopperWeb client = new GraphHopperWeb(clientUrl(app, "/route"));
GHRequest request = new GHRequest(42.546757, 1.528645, 42.520573, 1.557999).setProfile("my_car");
request.setPathDetails(Arrays.asList(RoadClass.KEY, Surface.KEY, RoadEnvironment.KEY, "average_speed", RoadClassLink.KEY));
GHResponse rsp = client.route(request);
assertFalse(rsp.hasErrors(), rsp.getErrors().toString());
assertEquals(4, rsp.getBest().getPathDetails().get(RoadClass.KEY).size());
assertEquals(RoadClass.PRIMARY.toString(), rsp.getBest().getPathDetails().get(RoadClass.KEY).get(3).getValue());
assertFalse((Boolean) rsp.getBest().getPathDetails().get(RoadClassLink.KEY).get(0).getValue());
List<PathDetail> roadEnvList = rsp.getBest().getPathDetails().get(RoadEnvironment.KEY);
assertEquals(10, roadEnvList.size());
assertEquals(RoadEnvironment.ROAD.toString(), roadEnvList.get(0).getValue());
assertEquals(RoadEnvironment.TUNNEL.toString(), roadEnvList.get(6).getValue());
}
use of com.graphhopper.GHResponse in project graphhopper by graphhopper.
the class RouteResourceTest method testSnapPreventions.
@Test
public void testSnapPreventions() {
GraphHopperWeb hopper = new GraphHopperWeb(clientUrl(app, "route"));
GHRequest request = new GHRequest(42.511139, 1.53285, 42.508165, 1.532271);
request.setProfile("my_car");
GHResponse rsp = hopper.route(request);
assertFalse(rsp.hasErrors(), rsp.getErrors().toString());
assertEquals(490, rsp.getBest().getDistance(), 2);
request.setSnapPreventions(Collections.singletonList("tunnel"));
rsp = hopper.route(request);
assertEquals(1081, rsp.getBest().getDistance(), 2);
}
use of com.graphhopper.GHResponse in project graphhopper by graphhopper.
the class RouteResourceTest method testPathDetailsNoConnection.
@Test
public void testPathDetailsNoConnection() {
GraphHopperWeb hopper = new GraphHopperWeb(clientUrl(app, "/route"));
GHRequest request = new GHRequest(42.542078, 1.45586, 42.537841, 1.439981);
request.setPathDetails(Collections.singletonList("average_speed"));
request.setProfile("my_car");
GHResponse rsp = hopper.route(request);
assertTrue(rsp.hasErrors(), rsp.getErrors().toString());
}
Aggregations