Skip to content
Snippets Groups Projects
Select Git revision
  • d22f93794559b6fed82b3e8b2732f81637b6633e
  • main default protected
  • nicoa96-main-patch-39695
  • nicoa96-main-patch-29647
  • jt/bhtfin
  • jt/bhtnew
  • revert-adeaff5e
  • nicoa96-main-patch-73354
  • nicoa96-main-patch-47348
  • jt/bht
  • jima1
  • jima
  • na/bhtalgorithmus
  • yuhe
  • jn/nasa-data
  • Nicola
  • kuba
17 results

helloword.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    App.java 2.74 KiB
    package map.builder;
    
    import java.io.IOException;
    import java.util.ArrayList;
    
    import org.json.JSONArray;
    
    import de.fuberlin.navigator.protos.map_builder.RoadNetwork;
    import map.builder.osm.OSMConnectedComponentParser;
    import map.builder.osm.OSMFetcher;
    import map.builder.osm.OSMParser;
    import map.builder.utilities.BoundingBox;
    import map.builder.utilities.ConnectedComponentGraph;
    import map.builder.utilities.FileHandler;
    
    public class App {
        public static void main(String[] args) throws IOException {
            RoadNetwork.Builder roadNetworkBuilder = RoadNetwork.newBuilder();
            OSMParser parser = new OSMParser(roadNetworkBuilder);
    
            // A small BBox inside Cottbus
            /*
             * float minLat = 51.765120241998865f;
             * float minLon = 14.32669617537409f;
             * float maxLat = 51.77116774623326f;
             * float maxLon = 14.330334220133722f;
             */
    
            // smaller BBox inside Cottbus, better for the debug tool
            float minLat = 51.754092326645475f;
            float minLon = 14.300615062713623f;
            float maxLat = 51.766591637718435f;
            float maxLon = 14.314413070678711f;
    
            // BBox around Cottbus
            /*
             * float minLat = 51.714692361306376f;
             * float minLon = 14.26197052001953f;
             * float maxLat = 51.79290380494767f;
             * float maxLon = 14.415779113769531f;
             */
    
            BoundingBox bbox = new BoundingBox(minLat, minLon, maxLat, maxLon);
    
            JSONArray restrictions = OSMFetcher.fetchTurnRestrictions(bbox);
            JSONArray roads = OSMFetcher.fetchNodesAndWays(bbox);
            OSMFetcher.dumpJsonData(roads, "test_data.json");
    
            parser.parseTurnRestrictions(restrictions);
            parser.parseRoads(roads);
    
            // set it to 0 so that it can be collected by garbage collector
            restrictions = null;
            roads = null;
            bbox = null;
            parser = null;
    
            // create the nodes graph in order to run LCC on it
            ConnectedComponentGraph graph = new ConnectedComponentGraph();
            OSMConnectedComponentParser.addNodes(roadNetworkBuilder, graph);
            OSMConnectedComponentParser.addEdges(roadNetworkBuilder, graph);
    
            ArrayList<Long> component = graph.getSCCs();
            System.out.println(component.toString());
    
            // cleanup
            graph = null;
            OSMConnectedComponentParser.cleanUp(roadNetworkBuilder, component);
    
            RoadNetwork roadNetwork = roadNetworkBuilder.build();
            System.out.println("Turn restrictions count: " + roadNetwork.getTurnRestrictionsCount());
            System.out.println("Nodes count: " + roadNetwork.getNodesCount());
            System.out.println("Segments count: " + roadNetwork.getSegmentsCount());
            FileHandler.saveToFile(roadNetwork, "./roadnetwork_sample.proto");
        }
    }