Exemple #1
0
        public void PropertyChangedIsFiredOnValuesAdd()
        {
            var network = MapTestHelper.CreateMockNetwork();

            var networkCoverage = new NetworkCoverage {
                Network = network
            };
            var networkCoverageFeatureCollection = new NetworkCoverageFeatureCollection
            {
                NetworkCoverage            = networkCoverage,
                NetworkCoverageFeatureType = NetworkCoverageFeatureType.Locations
            };

            var callCount = 0;


            ((INotifyPropertyChanged)networkCoverageFeatureCollection).PropertyChanged += (s, e) => { callCount++; };

            networkCoverage.Locations.Values.Add(new NetworkLocation {
                Branch = network.Branches[0], Offset = 0.0
            });

            //2 one for component, one for argument
            Assert.AreEqual(2, callCount);
        }
Exemple #2
0
        public void ShowNetworkCoverageAsLayer()
        {
            // create network
            var network = MapTestHelper.CreateMockNetwork();

            mocks.ReplayAll();

            var networkCoverage = new NetworkCoverage {
                Network = network
            };
            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);
        }
Exemple #3
0
        public void RenderBilFileAsCoverage()
        {
            var map = new Map(new Size(400, 200))
            {
                Name = "map1"
            };

            string fileName = RasterDataPath + "SchematisatieInt.bil";

            var rasterLayer = new RegularGridCoverageLayer();

            var rasterFeatureProvider = new GdalFeatureProvider {
                Path = fileName
            };

            rasterLayer.CustomRenderers.Add(new RegularGridCoverageRenderer(rasterLayer));
            // add optimized custom gdal renderer
            rasterLayer.DataSource = rasterFeatureProvider;

            map.Layers.Add(rasterLayer);

            IRegularGridCoverage grid   = rasterFeatureProvider.Grid;
            IList <int>          values = grid.GetValues <int>();

            Assert.AreEqual(9, values.Count);

            MapTestHelper.Show(map);
        }
Exemple #4
0
        public void ShowUsingMapView()
        {
            var points = new[, ]
            {
                { new Point(0, 0), new Point(1, 0), new Point(2, 0) },
                { new Point(0, 1), new Point(1, 1), new Point(2, 1) },
            };

            var coverage = new DiscreteGridPointCoverage(2, 3, points.Cast <IPoint>());

            var values = new[, ]
            {
                { 1.0, 2.0 },
                { 3.0, 4.0 },
                { 5.0, 6.0 }
            };

            coverage.SetValues(values);

            var coverageLayer = new DiscreteGridPointCoverageLayer {
                Coverage = coverage
            };

            var map = new Map {
                Layers = { coverageLayer }
            };

            MapTestHelper.ShowModal(map);
        }
Exemple #5
0
        public void ReadEsriMdbGeodatabase()
        {
            var map = new Map(new Size(400, 200))
            {
                Name = "map1"
            };

            const string fileName = SharpMapTestDataPath + "Turtle.mdb";

            IList <OgrFeatureProvider> providers = new List <OgrFeatureProvider>();

            var numberOfLayers = OgrFeatureProvider.GetNumberOfLayers(fileName);

            for (int i = 0; i < numberOfLayers; i++)
            {
                var provider = new OgrFeatureProvider(fileName, i);
                providers.Add(provider);

                log.DebugFormat("Added layer {0}", provider.Name);
            }

            var vectorLayer = new VectorLayer {
                DataSource = providers[6]
            };

            map.Layers.Add(vectorLayer);

            MapTestHelper.Show(map);
        }
Exemple #6
0
        public void ShowUsingMapViewWhereValuesContainNoDataValue()
        {
            var points = new[, ]
            {
                { new Point(0, 0), new Point(1, 0) },
                { new Point(2, 1), new Point(3, 1.5) },
                { new Point(1, 2), new Point(3, 3) }
            };

            var coverage = new DiscreteGridPointCoverage(2, 3, points.Cast <IPoint>());

            var values = new[, ]
            {
                { 1.0, 2.0 },
                { 3.0, 4.0 },
                { 5.0, -999.0 }
            };

            coverage.Components[0].NoDataValues = new [] { -999.0 };

            coverage.SetValues(values);

            var coverageLayer = new DiscreteGridPointCoverageLayer {
                Coverage = coverage
            };

            var map = new Map {
                Layers = { coverageLayer }
            };

            MapTestHelper.Show(map);
        }
Exemple #7
0
        public void ShowMapWithPointLayerBasedOnFeatureDataTable()
        {
            var table = new FeatureDataTable();

            table.Columns.Add("X", typeof(double));
            table.Columns.Add("Y", typeof(double));
            table.Columns.Add("Category", typeof(string));
            DataRow row = table.NewRow();

            table.Rows.Add(row);
            row.ItemArray = new object[] { 100000, 400000, "testCategory" };
            row           = table.NewRow();
            table.Rows.Add(row);
            row.ItemArray = new object[] { 200000, 400000, "TestCategory" };

            var dataTablePoint = new DataTablePoint(table, "Category", "X", "Y");
            var vectorLayer    = new VectorLayer("test", dataTablePoint);

            vectorLayer.Theme = ThemeFactory.CreateSingleFeatureTheme(vectorLayer.Style.GeometryType, Color.Blue, 10);
            var map = new Map {
                Name = "testmap"
            };

            map.Layers.Add(vectorLayer);
            map.Center = new Coordinate(150000, 400000);

            map.Zoom = 200000;
            //map.ZoomToExtents();
            //map.ZoomToFit(map.Envelope);

            MapTestHelper.ShowModal(map);
        }
Exemple #8
0
        public void ShowUsingMapViewWithFaces()
        {
            var points = new[, ]
            {
                { new Point(0.0, 1.0), new Point(0.0, 0.0) },
                { new Point(0.5, 1.5), new Point(1.0, 0.0) },
                { new Point(1.0, 2.0), new Point(2.0, 2.0) }
            };

            var coverage = new DiscreteGridPointCoverage(3, 2, points.Cast <IPoint>());

            var values = new[, ]
            {
                { 1.0, 2.0 },
                { 3.0, 4.0 },
                { 5.0, 6.0 }
            };

            coverage.SetValues(values);

            var coverageLayer = new DiscreteGridPointCoverageLayer {
                Coverage = coverage, ShowFaces = true
            };

            var map = new Map {
                Layers = { coverageLayer }
            };

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

            mocks.ReplayAll();

            var networkCoverage = new NetworkCoverage {
                Network = network, SegmentGenerationMethod = SegmentGenerationMethod.None
            };
            var networkCoverageLayer = new NetworkCoverageGroupLayer {
                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.ShowModal(map);
        }
        public void ShowRegularGridWithQuantityThemeOnMap()
        {
            IRegularGridCoverage grid2D = new RegularGridCoverage(200, 200, 10, 10)
            {
                Name = "pressure"
            };

            double[] values = new double[grid2D.SizeX * grid2D.SizeY];

            double min = 0;
            double max = 0;

            for (int i = 0; i < values.Length; i++)
            {
                values[i] = i;
                if (values[i] > max)
                {
                    max = values[i];
                }
                if (values[i] < min)
                {
                    min = values[i];
                }
            }

            grid2D.SetValues(values);

            var map = new Map();

            var rasterLayer = new RegularGridCoverageLayer {
                Grid = grid2D
            };

            var defaultStyle = new VectorStyle {
                GeometryType = typeof(IPolygon), Line = Pens.SeaGreen
            };

            double interval     = (max - min) / 10;
            var    intervalList = new List <Interval>();

            double start = min;
            double stop  = min + interval;

            for (int i = 0; i < 10; i++)
            {
                intervalList.Add(new Interval(start, stop));
                start = stop;
                stop += interval;
            }

            QuantityTheme quantityTheme = ThemeFactory.CreateQuantityTheme(grid2D.Components[0].Name, defaultStyle,
                                                                           ColorBlend.BlueToGreen, 10, intervalList
                                                                           );

            rasterLayer.Theme = quantityTheme;

            map.Layers.Add(rasterLayer);

            MapTestHelper.ShowModal(map);
        }
Exemple #11
0
        public void CreateFeatureCollectionForNetworkLocationsAndSegments()
        {
            var network = MapTestHelper.CreateMockNetwork();

            var networkCoverage = new NetworkCoverage {
                Network = network
            };
            var networkLocationFeatureProvider = new NetworkCoverageFeatureCollection
            {
                NetworkCoverage            = networkCoverage,
                NetworkCoverageFeatureType = NetworkCoverageFeatureType.Locations
            };
            var segmentFeatureProvider = new NetworkCoverageFeatureCollection
            {
                NetworkCoverage            = networkCoverage,
                NetworkCoverageFeatureType = NetworkCoverageFeatureType.Segments
            };

            networkCoverage.Locations.Values.Add(new NetworkLocation {
                Branch = network.Branches[0], Offset = 0.0
            });

            Assert.AreEqual(1, networkLocationFeatureProvider.Features.Count);
            Assert.AreEqual(1, segmentFeatureProvider.Features.Count);
        }
Exemple #12
0
        public void RenderAscFileAsCoverage()
        {
            var map = new Map(new Size(10, 20))
            {
                Name = "map1"
            };

            string fileName = RasterDataPath + "test.ASC";
            // const string fileName = @"D:\habitat\boomkikker_a_huidig.asc";

            var newFileName = Path.GetFullPath(Path.GetFileName(fileName));

            File.Copy(Path.GetFullPath(fileName), newFileName, true);
            var fileInfo = new FileInfo(newFileName);

            if (fileInfo.IsReadOnly)
            {
                fileInfo.IsReadOnly = false;
            }

            var rasterLayer = new RegularGridCoverageLayer();

            var rasterFeatureProvider = new GdalFeatureProvider {
                Path = fileName
            };

            //rasterLayer.CustomRenderers.Add(new GdalRenderer()); // add optimized custom gdal renderer
            rasterLayer.CustomRenderers.Add(new RegularGridCoverageRenderer(rasterLayer));
            rasterLayer.DataSource = rasterFeatureProvider;

            map.Layers.Add(rasterLayer);

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

            mocks.ReplayAll();

            var networkCoverage = new NetworkCoverage
            {
                Network                 = network,
                IsTimeDependent         = true,
                SegmentGenerationMethod = SegmentGenerationMethod.SegmentBetweenLocationsFullyCovered
            };
            var networkCoverageLayer = new NetworkCoverageGroupLayer {
                NetworkCoverage = networkCoverage
            };
            var time1 = new DateTime(2010, 1, 1);

            // set values
            var branch1 = network.Branches[0];
            var branch2 = network.Branches[1];

            networkCoverage[time1, new NetworkLocation(branch1, 0.0)]   = 0.1;
            networkCoverage[time1, new NetworkLocation(branch1, 10.0)]  = 0.2;
            networkCoverage[time1, new NetworkLocation(branch1, 50.0)]  = 0.3;
            networkCoverage[time1, new NetworkLocation(branch1, 100.0)] = 0.4;

            // no coverage point for branch2 offset 0
            // the fully covered option will look for the begin node point
            // on other branches (branch 1 offset 100 == node2 == branch2 offset 0)

            networkCoverage[time1, new NetworkLocation(branch2, 20.0)]  = 0.5;
            networkCoverage[time1, new NetworkLocation(branch2, 40.0)]  = 0.6;
            networkCoverage[time1, new NetworkLocation(branch2, 60.0)]  = 0.7;
            networkCoverage[time1, new NetworkLocation(branch2, 100.0)] = 0.8;

            var time2 = new DateTime(2010, 1, 2);

            foreach (var location in networkCoverage.Locations.Values)
            {
                networkCoverage[time2, location] = (double)networkCoverage[time1, location] * 2;
            }

            networkCoverage.Locations.InterpolationType = InterpolationType.Constant;
            networkCoverageLayer.SegmentLayer.LabelLayer.LabelColumn = "SegmentNumber";
            networkCoverageLayer.SegmentLayer.LabelLayer.Visible     = true;

            var map = new Map(new Size(1000, 1000));

            map.Layers.Add(networkCoverageLayer);

            networkCoverageLayer.SetCurrentTimeSelection(time2, time2);
            MapTestHelper.ShowModal(map);
        }
        public void Show3BandTif()
        {
            var path = rasterDataPath + @"\..\dvim3.tif";
            var map  = new Map {
                Layers = { new GdalRasterLayer {
                               DataSource = new GdalFeatureProvider{
                                   Path = path
                               }
                           } }
            };

            MapTestHelper.ShowModal(map);
        }
        public void ReadTryoutBergenTif()
        {
            var path = rasterDataPath + "Tryout_Bergen.tif";
            var map  = new Map {
                Layers = { new GdalRasterLayer {
                               DataSource = new GdalFeatureProvider{
                                   Path = path
                               }
                           } }
            };

            MapTestHelper.Show(map);
        }
        public void ShowWsiearthTif()
        {
            var path = rasterDataPath + @"\..\wsiearth.tif";
            var map  = new Map {
                Layers = { new GdalRasterLayer {
                               DataSource = new GdalFeatureProvider{
                                   Path = path
                               }
                           } }
            };

            MapTestHelper.Show(map);
        }
Exemple #17
0
        public void ShowUsingMapViewWithFacesAndTimeNavigation()
        {
            var points = new[, ]
            {
                { new Point(0.0, 1.0), new Point(0.0, 0.0) },
                { new Point(0.5, 1.5), new Point(1.0, 0.0) },
                { new Point(1.0, 2.0), new Point(2.0, 2.0) }
            };

            var coverage = new DiscreteGridPointCoverage(3, 2, points.Cast <IPoint>())
            {
                IsTimeDependent = true
            };

            var values1 = new[, ]
            {
                { 1.0, 2.0 },
                { 3.0, 4.0 },
                { 5.0, 6.0 }
            };

            var values2 = new[, ]
            {
                { 2.0, 2.0 },
                { 2.0, 4.0 },
                { 1.0, 2.0 }
            };

            coverage[new DateTime(2000, 1, 1)] = values1;
            coverage[new DateTime(2001, 1, 1)] = values2;
            coverage[new DateTime(2002, 1, 1)] = values1;
            coverage[new DateTime(2003, 1, 1)] = values2;

            var coverageLayer = new DiscreteGridPointCoverageLayer {
                Coverage = coverage, ShowFaces = true
            };

            var map = new Map {
                Layers = { coverageLayer }
            };

            MapTestHelper.Show(map);

            /*
             * var mapView = new MapView {Data = map};
             * var timeNavigator = new TimeSeriesNavigator {Data = mapView};
             *
             * WindowsFormsTestHelper.Show(timeNavigator);
             * WindowsFormsTestHelper.ShowModal(mapView);
             */
        }
        public void ShowWsiearthTif()
        {
            var path = rasterDataPath + @"\..\wsiearth.tif";
            var gdalFeatureProvider = new GdalFeatureProvider {
                Path = path
            };
            var map = new Map {
                Layers = { new GdalRasterLayer {
                               DataSource = gdalFeatureProvider
                           } }
            };

            Assert.AreEqual("WGS 84", gdalFeatureProvider.CoordinateSystem.Name);

            MapTestHelper.ShowModal(map);
        }
Exemple #19
0
        public void IntersectTriangles()
        {
            ICoordinate[] v1 = new ICoordinate[7];
            v1[0] = new Coordinate(0, 0);
            v1[1] = new Coordinate(5, 10);
            v1[2] = new Coordinate(10, 0);

            v1[3] = new Coordinate(8, 0);
            v1[4] = new Coordinate(5, 3);
            v1[5] = new Coordinate(4, 0);

            v1[6] = new Coordinate(0, 0);


            IGeometry pol1 = new Polygon(new LinearRing(v1));

            ICoordinate[] v2 = new ICoordinate[5];
            v2[0] = new Coordinate(0, 0);
            v2[1] = new Coordinate(10, 0);
            v2[2] = new Coordinate(10, 1);
            v2[3] = new Coordinate(0, 1);
            v2[4] = new Coordinate(0, 0);

            IGeometry pol2 = new Polygon(new LinearRing(v2));

/*
 *          IGeometry g = pol1.Difference(pol2);
 *          Assert.AreEqual(6, g.Coordinates.Length);
 *
 *          IGeometry g1 = pol1.Union(pol2);
 *          Assert.AreEqual(7, g1.Coordinates.Length);
 *
 */
            Map map = new Map();

            IGeometry gIntersection = pol1.Intersection(pol2);

            map.Layers.Add(new VectorLayer("g1", new DataTableFeatureProvider(new [] { gIntersection })));


/*
 *          map.Layers.Add(new VectorLayer("g", new DataTableFeatureProvider(new IGeometry[] { pol1 }) ));
 *          map.Layers.Add(new VectorLayer("g1", new DataTableFeatureProvider(new IGeometry[] { pol2 })));
 */

            MapTestHelper.Show(map);
        }
        private static NetworkCoverage GetNetworkCoverage()
        {
            var network         = MapTestHelper.CreateMockNetwork();
            var networkCoverage = new NetworkCoverage {
                Network = network
            };

            // 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;
            return(networkCoverage);
        }
        public void ShowNetworkCoverageAsRoute()
        {
            // create network
            var network = MapTestHelper.CreateMockNetwork();

            mocks.ReplayAll();

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

            var networkCoverageLayer = new NetworkCoverageGroupLayer {
                NetworkCoverage = networkCoverage
            };

            NetworkCoverageGroupLayer.SetupRouteLayerTheme(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.ShowModal(map);
        }
Exemple #22
0
        public void RenderBilFile()
        {
            Debug.WriteLine(Directory.GetCurrentDirectory());

            var map = new Map(new Size(400, 200))
            {
                Name = "map1"
            };

            //string fileName = @"..\..\..\..\data\RasterData\SchematisatieInt.bil";
            string fileName = RasterDataPath + "bodem.bil";
            //string fileName = @"..\..\..\..\data\wsiearth.tif";
            var rasterLayer = new GdalRasterLayer(fileName);

            rasterLayer.CustomRenderers.Add(new GdalRenderer(rasterLayer)); // add optimized custom gdal renderer

            map.Layers.Add(rasterLayer);
            MapTestHelper.Show(map);
        }
        public void NetworkCoverageWithNaNValuesDoesNotCrashTools9794()
        {
            //create a layer with a coverate
            NetworkCoverage networkCoverage = GetNetworkCoverage();

            networkCoverage[new NetworkLocation(networkCoverage.Network.Branches[1], 17.0)] = double.NaN;
            networkCoverage.Components[0].Name = "kees";

            var networkCoverageLayer = new NetworkCoverageGroupLayer {
                NetworkCoverage = networkCoverage
            };

            Assert.IsTrue(networkCoverageLayer.HasReadOnlyLayersCollection);

            var map = new Map(new Size(1000, 1000));

            map.Layers.Add(networkCoverageLayer);
            MapTestHelper.ShowModal(map);
        }
Exemple #24
0
        public void GdalRendererShouldRenderBilFileWithDefaultTheme()
        {
            const string rasterPath = @"..\..\..\..\..\test-data\DeltaShell\DeltaShell.Plugins.SharpMapGis.Tests\RasterData\";
            const string path       = rasterPath + "Schematisatie.bil";

            Assert.IsTrue(File.Exists(path));
            var rasterLayer = new GdalRasterLayer();

            var rasterFeatureProvider = new GdalFeatureProvider {
                Path = path
            };

            rasterLayer.CustomRenderers.Add(new GdalRenderer(rasterLayer)); // add optimized custom gdal renderer
            rasterLayer.DataSource = rasterFeatureProvider;

            Map map = new Map(new Size(200, 200));

            map.Layers.Add(rasterLayer);
            MapTestHelper.Show(map);
        }
        public void ShowNetworkCoverageAsLayerWithSegmentBetweenLocationsType()
        {
            // create network
            var network = MapTestHelper.CreateMockNetwork();

            mocks.ReplayAll();

            var networkCoverage = new NetworkCoverage
            {
                Network = network,
                SegmentGenerationMethod = SegmentGenerationMethod.SegmentBetweenLocations
            };
            var networkCoverageLayer = new NetworkCoverageGroupLayer {
                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(branch1, 100.0)] = 0.4;

            networkCoverage[new NetworkLocation(branch2, 0.0)]   = 0.4;
            networkCoverage[new NetworkLocation(branch2, 4.0)]   = 0.5;
            networkCoverage[new NetworkLocation(branch2, 12.0)]  = 0.6;
            networkCoverage[new NetworkLocation(branch2, 16.0)]  = 0.7;
            networkCoverage[new NetworkLocation(branch2, 100.0)] = 0.8;

            networkCoverage.Locations.InterpolationType = InterpolationType.Constant;
            networkCoverageLayer.SegmentLayer.LabelLayer.LabelColumn = "SegmentNumber";
            networkCoverageLayer.SegmentLayer.LabelLayer.Visible     = true;

            var map = new Map(new Size(1000, 1000));

            map.Layers.Add(networkCoverageLayer);

            MapTestHelper.ShowModal(map);
        }
        public void FeaturesChangedIsFiredOnValuesAdd()
        {
            var network = MapTestHelper.CreateMockNetwork();

            var networkCoverage = new NetworkCoverage {
                Network = network
            };
            var networkCoverageFeatureCollection = new NetworkCoverageFeatureCollection
            {
                NetworkCoverage            = networkCoverage,
                NetworkCoverageFeatureType = NetworkCoverageFeatureType.Locations
            };

            var callCount = 0;

            networkCoverageFeatureCollection.FeaturesChanged += (s, e) => { callCount++; };

            networkCoverage.Locations.Values.Add(new NetworkLocation {
                Branch = network.Branches[0], Chainage = 0.0
            });

            Assert.AreEqual(2, callCount);
        }
Exemple #27
0
        public void ReadGdalRasterLayer()
        {
            var map = new Map {
                Name = "map1"
            };

            var provider    = new DataTableFeatureProvider("LINESTRING(90 0,100 0,100 90)");
            var vectorLayer = new VectorLayer("test", provider);

            map.Layers.Add(vectorLayer);

            string fileName              = DataPath + "dvim3.tif";
            var    rasterLayer           = new RegularGridCoverageLayer();
            var    rasterFeatureProvider = new GdalFeatureProvider {
                Path = fileName
            };

            rasterLayer.DataSource = rasterFeatureProvider;
            rasterLayer.CustomRenderers.Add(new GdalRenderer(rasterLayer)); // add optimized custom gdal renderer

            map.Layers.Add(rasterLayer);
            MapTestHelper.Show(map);
        }
Exemple #28
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);
        }