public static void tdsp() { // node list used for store path ArrayList<Long> pathNodeList = new ArrayList<Long>(); // test start end node // OSMOutput.generateStartEndlNodeKML(START_NODE, END_NODE, nodeHashMap); // test count time long begintime = System.currentTimeMillis(); LocationInfo startLoc = new LocationInfo(OSMRouteParam.START_LAT, OSMRouteParam.START_LON); LocationInfo endLoc = new LocationInfo(OSMRouteParam.END_LAT, OSMRouteParam.END_LON); NodeInfo start = startLoc.searchNode(); NodeInfo end = endLoc.searchNode(); double cost; // routing using A* algorithm with priority queue // cost = routingAStar(start.getNodeId(), end.getNodeId(), OSMRouteParam.START_TIME, // OSMRouteParam.DAY_INDEX, pathNodeList); // routing using A* algorithm with fibonacci heap // cost = routingAStarFibonacci(start.getNodeId(), end.getNodeId(), OSMRouteParam.START_TIME, // OSMRouteParam.DAY_INDEX, pathNodeList); // routing using bidirectional hierarchy search cost = routingHierarchy( start.getNodeId(), end.getNodeId(), OSMRouteParam.START_TIME, OSMRouteParam.DAY_INDEX, pathNodeList); long endtime = System.currentTimeMillis(); long response = (endtime - begintime); System.out.println("routing cost: " + cost + " s, response time: " + response + " ms"); // output kml OSMOutput.generatePathKML(pathNodeList); // OSMOutput.generatePathNodeKML(pathNodeList); String turnByTurn = turnByTurn(pathNodeList); System.out.println(turnByTurn); }