@Override public synchronized LeastCostPathCalculator createPathCalculator(final Network network, final TravelDisutility travelCosts, final TravelTime travelTimes) { if (this.usePreProcessData) { PreProcessDijkstra preProcessDijkstra = this.preProcessData.get(network); if (preProcessDijkstra == null) { preProcessDijkstra = new PreProcessDijkstra(); preProcessDijkstra.run(network); this.preProcessData.put(network, preProcessDijkstra); } return new Dijkstra(network, travelCosts, travelTimes, preProcessDijkstra); } return new Dijkstra(network, travelCosts, travelTimes); } }
@Override public synchronized LeastCostPathCalculator createPathCalculator(final Network network, final TravelDisutility travelCosts, final TravelTime travelTimes) { if (this.usePreProcessData) { PreProcessDijkstra preProcessDijkstra = this.preProcessData.get(network); if (preProcessDijkstra == null) { preProcessDijkstra = new PreProcessDijkstra(); preProcessDijkstra.run(network); this.preProcessData.put(network, preProcessDijkstra); } return new MultiNodeDijkstra(network, travelCosts, travelTimes, preProcessDijkstra, this.searchAllEndNodes); } return new MultiNodeDijkstra(network, travelCosts, travelTimes, this.searchAllEndNodes); } }
public TransitRouterVariableImpl(final TransitRouterConfig config, final TransitRouterNetworkTravelTimeAndDisutility ttCalculator, final TransitRouterNetworkWW routerNetwork) { this.config = config; this.transitNetwork = routerNetwork; this.ttCalculator = ttCalculator; this.dijkstra = new MultiNodeDijkstra(this.transitNetwork, this.ttCalculator, this.ttCalculator); PreProcessDijkstra preProcessDijkstra = new PreProcessDijkstra(); preProcessDijkstra.run(routerNetwork); mDijkstra = new MultiDestinationDijkstra(routerNetwork, this.ttCalculator, this.ttCalculator, preProcessDijkstra); }
@Override public synchronized LeastCostPathCalculator createPathCalculator(final Network network, final TravelDisutility travelCosts, final TravelTime travelTimes) { RoutingNetwork routingNetwork = this.routingNetworks.get(network); PreProcessDijkstra preProcessDijkstra = this.preProcessData.get(network); if (routingNetwork == null) { routingNetwork = this.routingNetworkFactory.createRoutingNetwork(network); if (this.usePreProcessData) { if (preProcessDijkstra == null) { preProcessDijkstra = new PreProcessDijkstra(); preProcessDijkstra.run(network); this.preProcessData.put(network, preProcessDijkstra); for (RoutingNetworkNode node : routingNetwork.getNodes().values()) { node.setDeadEndData(preProcessDijkstra.getNodeData(node.getNode())); } } } this.routingNetworks.put(network, routingNetwork); } FastRouterDelegateFactory fastRouterFactory = new ArrayFastRouterDelegateFactory(); return new FastDijkstra(routingNetwork, travelCosts, travelTimes, preProcessDijkstra, fastRouterFactory); } }
@Override public synchronized LeastCostPathCalculator createPathCalculator(final Network network, final TravelDisutility travelCosts, final TravelTime travelTimes) { RoutingNetwork routingNetwork = this.routingNetworks.get(network); PreProcessDijkstra preProcessDijkstra = this.preProcessData.get(network); if (routingNetwork == null) { routingNetwork = this.routingNetworkFactory.createRoutingNetwork(network); if (this.usePreProcessData) { if (preProcessDijkstra == null) { preProcessDijkstra = new PreProcessDijkstra(); preProcessDijkstra.run(network); this.preProcessData.put(network, preProcessDijkstra); for (RoutingNetworkNode node : routingNetwork.getNodes().values()) { node.setDeadEndData(preProcessDijkstra.getNodeData(node.getNode())); } } } this.routingNetworks.put(network, routingNetwork); } FastRouterDelegateFactory fastRouterFactory = new ArrayFastRouterDelegateFactory(); return new FastMultiNodeDijkstra(routingNetwork, travelCosts, travelTimes, preProcessDijkstra, fastRouterFactory, this.searchAllEndNodes); } }
@Override public LeastCostPathCalculator createPathCalculator(final Network network, final TravelDisutility travelCosts, final TravelTime travelTimes) { RoutingNetwork routingNetwork = this.routingNetworks.get(network); PreProcessDijkstra preProcessDijkstra = this.preProcessData.get(network); if (routingNetwork == null) { routingNetwork = this.routingNetworkFactory.createRoutingNetwork(network); if (this.usePreProcessData) { if (preProcessDijkstra == null) { preProcessDijkstra = new PreProcessDijkstra(); preProcessDijkstra.run(network); this.preProcessData.put(network, preProcessDijkstra); } if (preProcessDijkstra.containsData()) { for (RoutingNetworkNode node : routingNetwork.getNodes().values()) { node.setDeadEndData(preProcessDijkstra.getNodeData(node.getNode())); } } } this.routingNetworks.put(network, routingNetwork); } FastRouterDelegateFactory fastRouterFactory = new ArrayFastRouterDelegateFactory(); return new BackwardFastMultiNodeDijkstra(routingNetwork, travelCosts, travelTimes, preProcessDijkstra, fastRouterFactory, this.searchAllEndNodes); } }