Ejemplo n.º 1
0
        /// <summary>
        /// Tests routing from a serialized file.
        /// </summary>
        /// <param name="stream"></param>
        public static void TestSerialized(Stream stream, bool lazy = true)
        {
            var routingSerializer = new RoutingDataSourceSerializer();
            var data = routingSerializer.Deserialize(stream, lazy);

            uint vertex = 1;
            uint significantVertices = 0;

            while (vertex < data.VertexCount)
            {
                var edges = data.GetEdges(vertex).ToKeyValuePairs();
                if (edges.Length > 2)
                {
                    significantVertices++;
                }
                vertex++;
            }

            data.SortHilbert(1000);

            // copy.
            var graphCopy = new Graph <Edge>();

            graphCopy.CopyFrom(data);
            var dataCopy = new RouterDataSource <Edge>(graphCopy, data.TagsIndex);

            RoutingTest.Test(dataCopy, Vehicle.Pedestrian, 50);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Tests routing from a raw OSM-file.
        /// </summary>
        public static void Test(string name, string routeFile, int testCount)
        {
            var testFile = new FileInfo(string.Format(@".\TestFiles\{0}", routeFile));
            var stream   = testFile.OpenRead();

            RoutingTest.Test(name, stream, testCount);

            stream.Dispose();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Tests routing from a serialized routing file.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="stream"></param>
        /// <param name="testCount"></param>
        public static void Test(string name, Stream stream, int testCount)
        {
            var vehicle = Vehicle.Pedestrian;

            var tagsIndex = new TagsIndex(); // creates a tagged index.

            // read from the OSM-stream.
            var reader      = new OsmSharp.Osm.PBF.Streams.PBFOsmStreamSource(stream);
            var interpreter = new OsmRoutingInterpreter();
            var data        = new RouterDataSource <Edge>(new Graph <Edge>(), tagsIndex);

            data.DropVertexIndex();
            var targetData = new GraphOsmStreamTarget(data, interpreter, tagsIndex);

            targetData.RegisterSource(reader);
            targetData.Pull();
            data.RebuildVertexIndex();

            RoutingTest.Test(data, vehicle, testCount);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Tests routing from a raw OSM-file.
 /// </summary>
 public static void Test(Stream stream, int testCount)
 {
     RoutingTest.Test("Routing",
                      stream, testCount);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Tests routing from a raw OSM-file.
 /// </summary>
 public static void Test()
 {
     RoutingTest.Test("Routing",
                      "kempen-big.osm.pbf", 50);
 }