/// <summary>
 /// Add a new empty route to the map in a newly added coverage Layer.
 /// </summary>
 /// <param name="map"></param>
 /// <param name="network"></param>
 /// <returns></returns>
 public static void AddNewRoute2Map(Map map, INetwork network)
 {
     int count = map.Layers.Count(l => l is INetworkCoverageLayer);
     var routeCoverage = new NetworkCoverage(string.Format("route_{0}", (count + 1)), false, "Offset", "m")
     {
         Network = network,
         SegmentGenerationMethod = SegmentGenerationMethod.RouteBetweenLocations
     };
     //no sorting on route locations.
     routeCoverage.Locations.AutoSort = false;
     routeCoverage.Segments.AutoSort = false;
     var networkCoverageLayer = new NetworkCoverageLayer
                                    {
                                        NetworkCoverage = routeCoverage,
                                        Name = routeCoverage.Name,
                                        Map = map
                                    };
     map.Layers.Insert(0, networkCoverageLayer);
 }
示例#2
0
        /// <summary>
        /// Add a new empty route to the map in a newly added coverage Layer.
        /// </summary>
        /// <param name="map"></param>
        /// <param name="network"></param>
        /// <returns></returns>
        public static void AddNewRoute2Map(Map map, INetwork network)
        {
            int count         = map.Layers.Count(l => l is INetworkCoverageLayer);
            var routeCoverage = new NetworkCoverage(string.Format("route_{0}", (count + 1)), false, "Offset", "m")
            {
                Network = network,
                SegmentGenerationMethod = SegmentGenerationMethod.RouteBetweenLocations
            };

            //no sorting on route locations.
            routeCoverage.Locations.AutoSort = false;
            routeCoverage.Segments.AutoSort  = false;
            var networkCoverageLayer = new NetworkCoverageLayer
            {
                NetworkCoverage = routeCoverage,
                Name            = routeCoverage.Name,
                Map             = map
            };

            map.Layers.Insert(0, networkCoverageLayer);
        }
        public void ShowNetworkCoverageAsLayerWithNoneSegmentationType()
        {
            // create network
            var network = MapTestHelper.CreateMockNetwork();

            mocks.ReplayAll();

            var networkCoverage = new NetworkCoverage { Network = network, SegmentGenerationMethod = SegmentGenerationMethod.None };
            var networkCoverageLayer = new NetworkCoverageLayer { NetworkCoverage = networkCoverage };

            // set values
            var branch1 = network.Branches[0];
            var branch2 = network.Branches[1];
            networkCoverage[new NetworkLocation(branch1, 4.0)] = 0.1;
            networkCoverage[new NetworkLocation(branch1, 16.0)] = 0.2;
            networkCoverage[new NetworkLocation(branch2, 4.0)] = 0.3;
            networkCoverage[new NetworkLocation(branch2, 12.0)] = 0.4;
            networkCoverage[new NetworkLocation(branch2, 16.0)] = 0.5;

            var map = new Map(new Size(1000, 1000));
            map.Layers.Add(networkCoverageLayer);

            MapTestHelper.Show(map);
        }
        public void ShowNetworkCoverageAsRoute()
        {
            // create network
            var network = MapTestHelper.CreateMockNetwork();

            mocks.ReplayAll();

            var networkCoverage = new NetworkCoverage { Network = network, SegmentGenerationMethod = SegmentGenerationMethod.RouteBetweenLocations };

            var networkCoverageLayer = new NetworkCoverageLayer {NetworkCoverage = networkCoverage};

            NetworkCoverageLayerHelper.SetupRouteNetworkCoverageLayerTheme(networkCoverageLayer, null);

            // set values
            var branch1 = network.Branches[0];
            var branch2 = network.Branches[1];
            networkCoverage[new NetworkLocation(branch1, 4.0)] = 0.1;
            networkCoverage[new NetworkLocation(branch1, 16.0)] = 0.2;
            networkCoverage[new NetworkLocation(branch2, 4.0)] = 0.3;
            networkCoverage[new NetworkLocation(branch2, 12.0)] = 0.4;
            networkCoverage[new NetworkLocation(branch2, 16.0)] = 0.5;

            var map = new Map(new Size(1000, 1000));
            map.Layers.Add(networkCoverageLayer);

            // add branch layer
            var branchLayer = new VectorLayer {DataSource = new FeatureCollection{Features = (IList) network.Branches} };
            branchLayer.Style.Outline.Width = 25;
            branchLayer.Style.Outline.Color = Pens.LightGray.Color;
            map.Layers.Add(branchLayer);

            MapTestHelper.Show(map);
        }
示例#5
0
        public void GenerateSegmentsForNetworkCoverageOnTwoBranches()
        {
            var network = CreateNetwork();

            var networkCoverage = new NetworkCoverage { Network = network, SegmentGenerationMethod = SegmentGenerationMethod.RouteBetweenLocations };
            networkCoverage[new NetworkLocation(network.Branches[0], 10.0)] = 0.0;
            networkCoverage[new NetworkLocation(network.Branches[0], 90.0)] = 90.0;
            networkCoverage[new NetworkLocation(network.Branches[1], 10.0)] = 110.0;
            networkCoverage[new NetworkLocation(network.Branches[1], 90.0)] = 190.0;

            Assert.AreEqual(4, networkCoverage.Segments.Values.Count);

            var segments = networkCoverage.Segments.Values;

            Assert.AreEqual(network.Branches[0], segments[0].Branch);
            Assert.AreEqual(10.0, segments[0].Offset);
            Assert.AreEqual(80.0, segments[0].Length);

            Assert.AreEqual(network.Branches[0], segments[1].Branch);
            Assert.AreEqual(90.0, segments[1].Offset);
            Assert.AreEqual(10.0, segments[1].Length, 1e-6);

            Assert.AreEqual(network.Branches[1], segments[2].Branch);
            Assert.AreEqual(0.0, segments[2].Offset);
            Assert.AreEqual(10.0, segments[2].Length);

            Assert.AreEqual(network.Branches[1], segments[3].Branch);
            Assert.AreEqual(10.0, segments[3].Offset);
            Assert.AreEqual(80.0, segments[3].Length);

            var networkCoverageLayer = new NetworkCoverageLayer { NetworkCoverage = networkCoverage };

            var map = new Map(new Size(1000, 1000));
            map.Layers.Add(networkCoverageLayer);

            NetworkCoverageLayerHelper.SetupRouteNetworkCoverageLayerTheme(networkCoverageLayer, null);

            // add branch/node layers
            var branchLayer = new VectorLayer { DataSource = new FeatureCollection { Features = (IList)network.Branches } };
            map.Layers.Add(branchLayer);
            var nodeLayer = new VectorLayer { DataSource = new FeatureCollection { Features = (IList)network.Nodes } };
            map.Layers.Add(nodeLayer);

            MapTestHelper.Show(map);
        }