use of org.opentripplanner.standalone.OTPServer in project OpenTripPlanner by opentripplanner.
the class TestIntermediatePlaces method setUp.
@BeforeClass
public static void setUp() {
try {
Graph graph = FakeGraph.buildGraphNoTransit();
FakeGraph.addPerpendicularRoutes(graph);
FakeGraph.link(graph);
graph.index(new DefaultStreetVertexIndexFactory());
OTPServer otpServer = new OTPServer(new CommandLineParameters(), new GraphService());
otpServer.getGraphService().registerGraph("A", new MemoryGraphSource("A", graph));
Router router = otpServer.getGraphService().getRouter("A");
TestIntermediatePlaces.graphPathFinder = new GraphPathFinder(router);
timeZone = graph.getTimeZone();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
assert false : "Could not build graph: " + e.getMessage();
} catch (Exception e) {
e.printStackTrace();
assert false : "Could not add transit data: " + e.getMessage();
}
}
use of org.opentripplanner.standalone.OTPServer in project OpenTripPlanner by opentripplanner.
the class TestOpenStreetMapGraphBuilder method testBuildingAreas.
/**
* This reads test file with area
* and tests if it can be routed if visibility is used and if it isn't
*
* Routing needs to be successful in both options since without visibility calculation
* area rings are used.
* @param skipVisibility if true visibility calculations are skipped
* @throws UnsupportedEncodingException
*/
private void testBuildingAreas(boolean skipVisibility) throws UnsupportedEncodingException {
Graph gg = new Graph();
OpenStreetMapModule loader = new OpenStreetMapModule();
loader.skipVisibility = skipVisibility;
loader.setDefaultWayPropertySetSource(new DefaultWayPropertySetSource());
FileBasedOpenStreetMapProviderImpl provider = new FileBasedOpenStreetMapProviderImpl();
File file = new File(URLDecoder.decode(getClass().getResource("usf_area.osm.gz").getFile(), "UTF-8"));
provider.setPath(file);
loader.setProvider(provider);
loader.buildGraph(gg, extra);
new StreetVertexIndexServiceImpl(gg);
OTPServer otpServer = new OTPServer(new CommandLineParameters(), new GraphService());
otpServer.getGraphService().registerGraph("A", new MemoryGraphSource("A", gg));
Router a = otpServer.getGraphService().getRouter("A");
RoutingRequest request = new RoutingRequest("WALK");
// This are vertices that can be connected only over edges on area (with correct permissions)
// It tests if it is possible to route over area without visibility calculations
Vertex bottomV = gg.getVertex("osm:node:580290955");
Vertex topV = gg.getVertex("osm:node:559271124");
request.setRoutingContext(a.graph, bottomV, topV);
GraphPathFinder graphPathFinder = new GraphPathFinder(a);
List<GraphPath> pathList = graphPathFinder.graphPathFinderEntryPoint(request);
assertNotNull(pathList);
assertFalse(pathList.isEmpty());
for (GraphPath path : pathList) {
assertFalse(path.states.isEmpty());
}
}
use of org.opentripplanner.standalone.OTPServer in project OpenTripPlanner by opentripplanner.
the class RoutersTest method getRouterInfoReturnsFirstAndLastValidDateForGraph.
@Test
public void getRouterInfoReturnsFirstAndLastValidDateForGraph() {
final CalendarServiceData calendarService = new CalendarServiceData();
final List<ServiceDate> serviceDates = new ArrayList<ServiceDate>() {
{
add(new ServiceDate(2015, 10, 1));
add(new ServiceDate(2015, 11, 1));
}
};
calendarService.putServiceDatesForServiceId(new AgencyAndId("NA", "1"), serviceDates);
final Graph graph = new Graph();
graph.updateTransitFeedValidity(calendarService);
graph.expandToInclude(0, 100);
OTPServer otpServer = new OTPServer(new CommandLineParameters(), new GraphService());
otpServer.getGraphService().registerGraph("A", new MemoryGraphSource("A", graph));
Routers routerApi = new Routers();
routerApi.otpServer = otpServer;
RouterInfo info = routerApi.getGraphId("A");
assertNotNull(info.transitServiceStarts);
assertNotNull(info.transitServiceEnds);
assertTrue(info.transitServiceStarts < info.transitServiceEnds);
}
use of org.opentripplanner.standalone.OTPServer in project OpenTripPlanner by opentripplanner.
the class RoutersTest method testRouters.
@Test
public void testRouters() {
OTPServer otpServer = new OTPServer(new CommandLineParameters(), new GraphService());
otpServer.getGraphService().registerGraph("", new MemoryGraphSource(null, new Graph()));
otpServer.getGraphService().registerGraph("A", new MemoryGraphSource("", new Graph()));
otpServer.getGraphService().getRouter("A").graph.addVertex(new ExitVertex(null, "A", 0, 0, 0));
otpServer.getGraphService().getRouter("A").graph.addVertex(new ExitVertex(null, "B", 0, 1, 0));
otpServer.getGraphService().getRouter("A").graph.addVertex(new ExitVertex(null, "C", 1, 1, 0));
// this needs to be added since convex hull isn't lazy loaded anymore
otpServer.getGraphService().getRouter("A").graph.calculateConvexHull();
otpServer.getGraphService().getRouter("").graph.calculateConvexHull();
// this needs to be added since it is otherwise calculated during OSM/Transit loading
// which doesn't happen in this test
otpServer.getGraphService().getRouter("A").graph.calculateEnvelope();
otpServer.getGraphService().getRouter("").graph.calculateEnvelope();
Routers routerApi = new Routers();
routerApi.otpServer = otpServer;
RouterList routers = routerApi.getRouterIds();
assertEquals(2, routers.routerInfo.size());
RouterInfo router0 = routers.routerInfo.get(0);
RouterInfo router1 = routers.routerInfo.get(1);
RouterInfo otherRouter;
RouterInfo defaultRouter;
if (router0.routerId.equals("")) {
defaultRouter = router0;
otherRouter = router1;
} else {
defaultRouter = router1;
otherRouter = router0;
}
assertEquals("", defaultRouter.routerId);
assertEquals("A", otherRouter.routerId);
assertTrue(otherRouter.polygon.getArea() > 0);
}
Aggregations