I tried to use osm2po as library and to write a simple routing program based on the sample code listed in (http://osm2po.de/) However, when I try to load the .pbf file into the data structure "Graph". The eclipse, the IDE that I used, shows the error message as following: "Exception in thread "main" java.lang.RuntimeException: No osm2po-GraphFile" Can anyone tells me what's going wrong when I tryied to load "C:\\taiwan-latest.osm.pbf"? thanks! //=========== the full codes of the simple routing program are listed below: public static void main(String[] args){ File graphFile = new File("C:\\taiwan-latest.osm.pbf"); Graph graph = new Graph(graphFile); DefaultRouter router = new DefaultRouter(); // Somewhere in Hamburg int sourceId = graph.findClosestVertexId(25.033839f, 121.565064f); int targetId = graph.findClosestVertexId(25.040135f, 121.560328f); // Possible additional params for DefaultRouter Properties params = new Properties(); params.setProperty("findShortestPath", "false"); params.setProperty("ignoreRestrictions", "false"); params.setProperty("ignoreOneWays", "false"); params.setProperty("heuristicFactor", "1.0"); // 0.0 Dijkstra, 1.0 good A* int[] path = router.findPath( graph, sourceId, targetId, Float.MAX_VALUE, params); if (path != null) { // Found! for (int i = 0; i < path.length; i++) { RoutingResultSegment rrs = graph.lookupSegment(path[i]); int segId = rrs.getId(); int from = rrs.getSourceId(); int to = rrs.getTargetId(); String segName = rrs.getName().toString(); System.out.println(from + "-" + to + " " + segId + "/" + path[i] + " " + segName); } } graph.close(); }