示例#1
0
        public void OrderOfFunctionsAfterReopenShouldBeTheSame()
        {
            var path  = TestHelper.GetCurrentMethodName() + ".tif";
            var store = new GdalFunctionStore();

            store.CreateNew(path);
            var grid = new RegularGridCoverage(2, 2, 1, 1);

            store.Functions.Add(grid);

            // remember indices
            var indexGrid   = store.Functions.IndexOf(grid);
            var indexValues = store.Functions.IndexOf(grid.Components[0]);
            var indexX      = store.Functions.IndexOf(grid.X);
            var indexY      = store.Functions.IndexOf(grid.Y);

            store.Close();

            // re-open store and check if we functions are at the same indices
            var openedStore = new GdalFunctionStore();

            openedStore.Open(path);

            var openedGrid = openedStore.Grid;

            openedStore.Functions.IndexOf(openedGrid)
            .Should("index of grid coverage").Be.EqualTo(indexGrid);
            openedStore.Functions.IndexOf(openedGrid.Components[0])
            .Should("index of values component").Be.EqualTo(indexValues);
            openedStore.Functions.IndexOf(openedGrid.X)
            .Should("index of X").Be.EqualTo(indexX);
            openedStore.Functions.IndexOf(openedGrid.Y)
            .Should("index of Y").Be.EqualTo(indexY);
        }
示例#2
0
        public void Clone()
        {
            var path = TestHelper.GetCurrentMethodName() + ".tif";

            var store = new GdalFunctionStore();

            store.CreateNew(path);

            var grid = new RegularGridCoverage(2, 2, 1, 1);

            grid.SetValues(new[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);

            var clonedStore = (GdalFunctionStore)store.Clone();

            clonedStore.Functions.Count
            .Should().Be.EqualTo(4);

            clonedStore.Path
            .Should().Be.EqualTo(path);

            var clonedGrid = clonedStore.Functions.OfType <RegularGridCoverage>().FirstOrDefault();

            clonedGrid.GetValues <double>()
            .Should().Have.SameSequenceAs(new double[] { 1, 2, 3, 4 });
        }
示例#3
0
        public void CloneFunctionStoredInGdalFunctionStore()
        {
            var path = TestHelper.GetCurrentMethodName() + ".tif";

            var store = new GdalFunctionStore();

            store.CreateNew(path);

            const int deltaX = 1;
            const int deltaY = 10;
            var       grid   = new RegularGridCoverage(2, 2, deltaX, deltaY);

            grid.SetValues(new[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);

            // create grid clone and check if function and cloned store are correct
            var clonedGrid = (RegularGridCoverage)grid.Clone();

            var clonedStore = (GdalFunctionStore)clonedGrid.Store;

            clonedStore.Functions.Count
            .Should().Be.EqualTo(4);

            clonedStore.Path
            .Should().Be.EqualTo(path);

            clonedGrid.GetValues <double>()
            .Should().Have.SameSequenceAs(new double[] { 1, 2, 3, 4 });
        }
示例#4
0
        public void CreateBilFileFromRegularGrid()
        {
            var gdalFunctionStore = new GdalFunctionStore();

            var gridCoverage = new RegularGridCoverage();

            gridCoverage.Components.Clear();
            var newComponent = new Variable <float>();

            gridCoverage.Components.Add(newComponent);


            gridCoverage.Resize(3, 2, 10, 20, new Coordinate(200, 2000));

            //create a sequence of numbers: 1 , 2, 3, 4, 5, 6,
            var originalValues = new float[] { 1, 2, 3, 4, 5, 6 };

            gridCoverage.SetValues(originalValues);
            string path = TestHelper.GetCurrentMethodName() + ".bil";

            //TODO: get rid of this strang method.
            //do store.CreateNew(path)
            //   store.Functions.Add(gridCoverage)
            //this is more like the other stores
            gdalFunctionStore.CreateNew(path);
            gdalFunctionStore.Functions.Add(gridCoverage);


            var clone = gdalFunctionStore.Grid;

            Assert.AreEqual(gdalFunctionStore, clone.Store);
            Assert.IsTrue(originalValues.SequenceEqual(gdalFunctionStore.GetVariableValues <float>(clone.Components[0])));
            //replace data in first column
            clone.SetValues(new float[] { 0, 0 }, new VariableValueFilter <double>(clone.X, new double[] { 200 }));
            Assert.IsTrue(new float[] { 0, 2, 3, 0, 5, 6 }.SequenceEqual(gdalFunctionStore.GetVariableValues <float>(clone.Components[0])));

            Assert.AreEqual(2000, clone.Origin.Y);
            Assert.AreEqual(200, clone.Origin.X);
            Assert.AreEqual(3, clone.SizeX);
            Assert.AreEqual(2, clone.SizeY);
            Assert.AreEqual(10, clone.DeltaX);
            Assert.AreEqual(20, clone.DeltaY);
            gdalFunctionStore.Close();


            gdalFunctionStore = new GdalFunctionStore();
            //reread file to see wether it contains the right data.
            gdalFunctionStore.Open(path);
            var grid = (IRegularGridCoverage)gdalFunctionStore.Functions.First(f => f is IRegularGridCoverage);

            Assert.IsTrue(new float[] { 0, 2, 3, 0, 5, 6 }.SequenceEqual(gdalFunctionStore.GetVariableValues <float>(grid.Components[0])));
            Assert.AreEqual(2000, grid.Origin.Y);
            Assert.AreEqual(200, grid.Origin.X);
            Assert.AreEqual(3, grid.SizeX);
            Assert.AreEqual(2, grid.SizeY);
            Assert.AreEqual(10, grid.DeltaX);
            Assert.AreEqual(20, grid.DeltaY);
        }
示例#5
0
        public void WriteCoverageInMap()
        {
            var functionStore = new GdalFunctionStore();

            functionStore.CreateNew("file.map");

            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));

            grid.SetValues(new[] { 1, 2, 3, 4 });

            functionStore.Functions.Add(grid);
        }
示例#6
0
        public void AddingFilteredFunctionShouldResetParent()
        {
            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));

            var filteredGrid = grid.Filter();

            string path  = rasterDataPath + "AddingFilteredFunctionShouldResetParent.bil";
            var    store = new GdalFunctionStore();

            store.CreateNew(path);

            store.Functions.Add(filteredGrid);
        }
示例#7
0
        public void CreateTiffFileFromRegularGrid()
        {
            var gdalFunctionStore = new GdalFunctionStore();


            var gridCoverage = new RegularGridCoverage();

            gridCoverage.Resize(3, 2, 10, -20, new Coordinate(200, 2000));
            gridCoverage.Components.RemoveAt(0);
            gridCoverage.Components.Add(new Variable <float>());


            var inputData = new float[] { 1, 2, 3, 4, 5, 6 };

            gridCoverage.SetValues(inputData);
            const string path = "CreateTiffFileFromRegularGrid.tiff";

            gdalFunctionStore.CreateNew(path);
            gdalFunctionStore.Functions.Add(gridCoverage);
            gdalFunctionStore.Close();

            gdalFunctionStore = new GdalFunctionStore();
            //reread file to see wether it contains the right data.
            gdalFunctionStore.Open(path);
            var grid = (IRegularGridCoverage)gdalFunctionStore.Functions.First(f => f is IRegularGridCoverage);

            Assert.IsTrue(inputData.SequenceEqual(gdalFunctionStore.GetVariableValues <float>(grid.Components[0])));
            Assert.AreEqual(gridCoverage.Origin.Y, grid.Origin.Y);
            Assert.AreEqual(gridCoverage.Origin.X, grid.Origin.X);
            Assert.AreEqual(gridCoverage.SizeX, grid.SizeX);
            Assert.AreEqual(gridCoverage.SizeY, grid.SizeY);
            Assert.AreEqual(gridCoverage.DeltaX, grid.DeltaX);
            Assert.AreEqual(gridCoverage.DeltaY, grid.DeltaY);
            //updating tiff file
            //values before: 2,5

            // TODO: make it readable!
            Assert.IsTrue((new float[] { 2, 5 }).SequenceEqual(gdalFunctionStore.GetVariableValues <float>(grid.Components[0],
                                                                                                           new VariableValueFilter <double>(
                                                                                                               grid.X,
                                                                                                               new double[] { 210 }))));
            grid.SetValues(new[] { 0, 10.5f }, new VariableValueFilter <double>(grid.X, new double[] { 210 }));
            //values after: 0,10
            Assert.IsTrue(
                (new[] { 0, 10.5f }).SequenceEqual(gdalFunctionStore.GetVariableValues <float>(grid.Components[0],
                                                                                               new VariableValueFilter <double>(grid.X,
                                                                                                                                new double[]
                                                                                                                                { 210 }))));
        }
示例#8
0
        public void StoringDoubleGridInBilFileShouldThrowException()
        {
            var path = TestHelper.GetCurrentMethodName() + ".bil";

            // create store and add grid
            var store = new GdalFunctionStore();

            store.CreateNew(path);

            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));

            grid.SetValues(new double[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);
        }
示例#9
0
        public void StoreShouldHaveCorrectFunctionsAfterAdd()
        {
            var functionStore = new GdalFunctionStore();

            functionStore.CreateNew(TestHelper.GetCurrentMethodName() + ".bil");

            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));

            grid.SetValues(new[] { 1, 2, 3, 4 });

            functionStore.Functions.Add(grid);

            functionStore.Functions.Count
            .Should("Added function should be: grid, values, x, y").Be.EqualTo(4);
        }
示例#10
0
        public void AddGridShouldAddCorrectFunctionsToStore()
        {
            var store = new GdalFunctionStore();

            store.CreateNew(TestHelper.GetCurrentMethodName() + ".bil");

            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));

            grid.SetValues(new[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);

            grid.Geometry
            .Should().Not.Be.Null();

            store.Functions.Count
            .Should("grid, values, x, y").Be.EqualTo(4);

            store.Functions.OfType <RegularGridCoverage>().FirstOrDefault()
            .Should().Be.EqualTo(grid);
        }
示例#11
0
        public void StoreShouldHaveCorrectFunctionsAfterOpen()
        {
            var path = TestHelper.GetCurrentMethodName() + ".tif";

            // create store and add grid
            var store = new GdalFunctionStore();

            store.CreateNew(path);

            var grid = new RegularGridCoverage(2, 2, 1, 1);

            grid.SetValues(new[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);

            store.Close();

            // re-open store and check if we have correct functions
            var openedStore = new GdalFunctionStore();

            openedStore.Open(path);

            openedStore.Functions.Count
            .Should("Added function should be: grid, values, x, y").Be.EqualTo(4);

            openedStore.Functions.OfType <RegularGridCoverage>().Count()
            .Should("Store should contain a single grid").Be.EqualTo(1);

            var openedGrid = openedStore.Functions.OfType <RegularGridCoverage>().FirstOrDefault();

            openedGrid.SizeX
            .Should().Be.EqualTo(2);

            openedGrid.SizeY
            .Should().Be.EqualTo(2);

            openedGrid.GetValues <double>()
            .Should().Have.SameSequenceAs(new double[] { 1, 2, 3, 4 });
        }
示例#12
0
        public void CreateAscFileFromRegularGridUsingFloatValueType()
        {
            var gridCoverage = new RegularGridCoverage();

            gridCoverage.Components.Clear();
            gridCoverage.Components.Add(new Variable <float>());

            gridCoverage.Resize(3, 3, 20, 20, new Coordinate(50, 70));

            var inputData = new[] { 1.0f, 2.0f, 3.5f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f };

            gridCoverage.SetValues(inputData);

            var path = TestHelper.GetCurrentMethodName() + ".asc";

            var store = new GdalFunctionStore();

            store.CreateNew(path);
            store.Functions.Add(gridCoverage);
            store.Close();

            // reread file to see wether it contains the right data.
            store = new GdalFunctionStore();
            store.Open(path);
            var grid = store.Grid;

            grid.Components[0].GetValues <float>()
            .Should().Have.SameSequenceAs(new float[] { 1.0f, 2.0f, 3.5f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f });

            Assert.AreEqual(gridCoverage.Origin.Y, grid.Origin.Y);
            Assert.AreEqual(gridCoverage.Origin.X, grid.Origin.X);
            Assert.AreEqual(gridCoverage.SizeX, grid.SizeX);
            Assert.AreEqual(gridCoverage.SizeY, grid.SizeY);
            Assert.AreEqual(gridCoverage.DeltaX, grid.DeltaX);
            Assert.AreEqual(gridCoverage.DeltaY, grid.DeltaY);
        }
示例#13
0
        public void CreateAscFileFromRegularGridUsingFloatValueType()
        {
            var gridCoverage = new RegularGridCoverage();
           
            gridCoverage.Components.Clear();
            gridCoverage.Components.Add(new Variable<float>());

            gridCoverage.Resize(3, 3, 20, 20, new Coordinate(50, 70));

            var inputData = new[] {1.0f, 2.0f, 3.5f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f};
            gridCoverage.SetValues(inputData);

            var path = TestHelper.GetCurrentMethodName() + ".asc";

            var store = new GdalFunctionStore();
            store.CreateNew(path);
            store.Functions.Add(gridCoverage);
            store.Close();
            
            // reread file to see wether it contains the right data.
            store = new GdalFunctionStore();
            store.Open(path);
            var grid = store.Grid;

            grid.Components[0].GetValues<float>()
                .Should().Have.SameSequenceAs(new float[] {1.0f, 2.0f, 3.5f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f});

            Assert.AreEqual(gridCoverage.Origin.Y, grid.Origin.Y);
            Assert.AreEqual(gridCoverage.Origin.X, grid.Origin.X);
            Assert.AreEqual(gridCoverage.SizeX, grid.SizeX);
            Assert.AreEqual(gridCoverage.SizeY, grid.SizeY);
            Assert.AreEqual(gridCoverage.DeltaX, grid.DeltaX);
            Assert.AreEqual(gridCoverage.DeltaY, grid.DeltaY);
        }
示例#14
0
        public void WriteCoverageInMap()
        {
            var functionStore = new GdalFunctionStore();
            functionStore.CreateNew("file.map");

            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));
            grid.SetValues(new[] { 1, 2, 3, 4 });
            
            functionStore.Functions.Add(grid);
        }
示例#15
0
        public void StoreShouldHaveCorrectFunctionsAfterOpen()
        {
            var path = TestHelper.GetCurrentMethodName() + ".tif";

            // create store and add grid
            var store = new GdalFunctionStore();
            store.CreateNew(path);

            var grid = new RegularGridCoverage(2, 2, 1, 1);
            grid.SetValues(new[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);

            store.Close();

            // re-open store and check if we have correct functions
            var openedStore = new GdalFunctionStore();
            openedStore.Open(path);

            openedStore.Functions.Count
                .Should("Added function should be: grid, values, x, y").Be.EqualTo(4);

            openedStore.Functions.OfType<RegularGridCoverage>().Count()
                .Should("Store should contain a single grid").Be.EqualTo(1);

            var openedGrid = openedStore.Functions.OfType<RegularGridCoverage>().FirstOrDefault();

            openedGrid.SizeX
                .Should().Be.EqualTo(2);

            openedGrid.SizeY
                .Should().Be.EqualTo(2);

            openedGrid.GetValues<double>()
                .Should().Have.SameSequenceAs(new double[] {1, 2, 3, 4});
        }
示例#16
0
        public void StoreShouldHaveCorrectFunctionsAfterAdd()
        {
            var functionStore = new GdalFunctionStore();
            functionStore.CreateNew(TestHelper.GetCurrentMethodName() + ".bil");

            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));
            grid.SetValues(new[] { 1, 2, 3, 4 });

            functionStore.Functions.Add(grid);

            functionStore.Functions.Count
                .Should("Added function should be: grid, values, x, y").Be.EqualTo(4);
        }
示例#17
0
        public void CreateBilFileFromRegularGrid()
        {
            var gdalFunctionStore = new GdalFunctionStore();

            var gridCoverage = new RegularGridCoverage();

            gridCoverage.Components.Clear();
            var newComponent = new Variable<float>();
            gridCoverage.Components.Add(newComponent);


            gridCoverage.Resize(3, 2, 10, 20, new Coordinate(200, 2000));

            //create a sequence of numbers: 1 , 2, 3, 4, 5, 6,
            var originalValues = new float[] {1, 2, 3, 4, 5, 6};
            gridCoverage.SetValues(originalValues);
            string path = TestHelper.GetCurrentMethodName() + ".bil";

            //TODO: get rid of this strang method.
            //do store.CreateNew(path)
            //   store.Functions.Add(gridCoverage)
            //this is more like the other stores
            gdalFunctionStore.CreateNew(path);
            gdalFunctionStore.Functions.Add(gridCoverage);


            var clone = gdalFunctionStore.Grid;
            Assert.AreEqual(gdalFunctionStore, clone.Store);
            Assert.IsTrue(originalValues.SequenceEqual(gdalFunctionStore.GetVariableValues<float>(clone.Components[0])));
            //replace data in first column
            clone.SetValues(new float[] { 0, 0 }, new VariableValueFilter<double>(clone.X, new double[] { 200 }));
            Assert.IsTrue(new float[] {0, 2, 3, 0, 5, 6}.SequenceEqual(gdalFunctionStore.GetVariableValues<float>(clone.Components[0])));

            Assert.AreEqual(2000, clone.Origin.Y);
            Assert.AreEqual(200, clone.Origin.X);
            Assert.AreEqual(3, clone.SizeX);
            Assert.AreEqual(2, clone.SizeY);
            Assert.AreEqual(10, clone.DeltaX);
            Assert.AreEqual(20, clone.DeltaY);
            gdalFunctionStore.Close();


            gdalFunctionStore = new GdalFunctionStore();
            //reread file to see wether it contains the right data.
            gdalFunctionStore.Open(path);
            var grid = (IRegularGridCoverage) gdalFunctionStore.Functions.First(f => f is IRegularGridCoverage);
            Assert.IsTrue(new float[] {0, 2, 3, 0, 5, 6}.SequenceEqual(gdalFunctionStore.GetVariableValues<float>(grid.Components[0])));
            Assert.AreEqual(2000, grid.Origin.Y);
            Assert.AreEqual(200, grid.Origin.X);
            Assert.AreEqual(3, grid.SizeX);
            Assert.AreEqual(2, grid.SizeY);
            Assert.AreEqual(10, grid.DeltaX);
            Assert.AreEqual(20, grid.DeltaY);

        }
示例#18
0
        public void CloneFunctionStoredInGdalFunctionStore()
        {
            var path = TestHelper.GetCurrentMethodName() + ".tif";

            var store = new GdalFunctionStore();
            store.CreateNew(path);

            const int deltaX = 1;
            const int deltaY = 10;
            var grid = new RegularGridCoverage(2, 2, deltaX, deltaY);
            grid.SetValues(new[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);

            // create grid clone and check if function and cloned store are correct
            var clonedGrid = (RegularGridCoverage)grid.Clone();

            var clonedStore = (GdalFunctionStore)clonedGrid.Store;

            clonedStore.Functions.Count
                .Should().Be.EqualTo(4);

            clonedStore.Path
                .Should().Be.EqualTo(path);

            clonedGrid.GetValues<double>()
                .Should().Have.SameSequenceAs(new double[] { 1, 2, 3, 4 });
        }
示例#19
0
        public void Clone()
        {
            var path = TestHelper.GetCurrentMethodName() + ".tif";
            
            var store = new GdalFunctionStore();
            store.CreateNew(path);

            var grid = new RegularGridCoverage(2, 2, 1, 1);
            grid.SetValues(new[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);

            var clonedStore = (GdalFunctionStore)store.Clone();

            clonedStore.Functions.Count
                .Should().Be.EqualTo(4);

            clonedStore.Path
                .Should().Be.EqualTo(path);

            var clonedGrid = clonedStore.Functions.OfType<RegularGridCoverage>().FirstOrDefault();

            clonedGrid.GetValues<double>()
                .Should().Have.SameSequenceAs(new double[] { 1, 2, 3, 4 });
        }
示例#20
0
        public void AddGridShouldAddCorrectFunctionsToStore()
        {
            var store = new GdalFunctionStore();
            store.CreateNew(TestHelper.GetCurrentMethodName() + ".bil");

            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));
            grid.SetValues(new[] { 1, 2, 3, 4 });

            store.Functions.Add(grid);

            grid.Geometry
                .Should().Not.Be.Null();

            store.Functions.Count
                .Should("grid, values, x, y").Be.EqualTo(4);

            store.Functions.OfType<RegularGridCoverage>().FirstOrDefault()
                .Should().Be.EqualTo(grid);
        }
示例#21
0
        public void OrderOfFunctionsAfterReopenShouldBeTheSame()
        {
            var path = TestHelper.GetCurrentMethodName() + ".tif";
            var store = new GdalFunctionStore();
            store.CreateNew(path);
            var grid = new RegularGridCoverage(2, 2, 1, 1);
            store.Functions.Add(grid);

            // remember indices
            var indexGrid = store.Functions.IndexOf(grid);
            var indexValues = store.Functions.IndexOf(grid.Components[0]);
            var indexX = store.Functions.IndexOf(grid.X);
            var indexY = store.Functions.IndexOf(grid.Y);
            
            store.Close();

            // re-open store and check if we functions are at the same indices
            var openedStore = new GdalFunctionStore();
            openedStore.Open(path);

            var openedGrid = openedStore.Grid;

            openedStore.Functions.IndexOf(openedGrid)
                .Should("index of grid coverage").Be.EqualTo(indexGrid);
            openedStore.Functions.IndexOf(openedGrid.Components[0])
                .Should("index of values component").Be.EqualTo(indexValues);
            openedStore.Functions.IndexOf(openedGrid.X)
                .Should("index of X").Be.EqualTo(indexX);
            openedStore.Functions.IndexOf(openedGrid.Y)
                .Should("index of Y").Be.EqualTo(indexY);
        }
示例#22
0
        public void CreateTiffFileFromRegularGrid()
        {
            var gdalFunctionStore = new GdalFunctionStore();


            var gridCoverage = new RegularGridCoverage();
            gridCoverage.Resize(3, 2, 10, -20, new Coordinate(200, 2000));
            gridCoverage.Components.RemoveAt(0);
            gridCoverage.Components.Add(new Variable<float>());


            var inputData = new float[] {1, 2, 3, 4, 5, 6};
            gridCoverage.SetValues(inputData);
            const string path = "CreateTiffFileFromRegularGrid.tiff";
            gdalFunctionStore.CreateNew(path);
            gdalFunctionStore.Functions.Add(gridCoverage);
            gdalFunctionStore.Close();

            gdalFunctionStore = new GdalFunctionStore();
            //reread file to see wether it contains the right data.
            gdalFunctionStore.Open(path);
            var grid = (IRegularGridCoverage) gdalFunctionStore.Functions.First(f => f is IRegularGridCoverage);
            Assert.IsTrue(inputData.SequenceEqual(gdalFunctionStore.GetVariableValues<float>(grid.Components[0])));
            Assert.AreEqual(gridCoverage.Origin.Y, grid.Origin.Y);
            Assert.AreEqual(gridCoverage.Origin.X, grid.Origin.X);
            Assert.AreEqual(gridCoverage.SizeX, grid.SizeX);
            Assert.AreEqual(gridCoverage.SizeY, grid.SizeY);
            Assert.AreEqual(gridCoverage.DeltaX, grid.DeltaX);
            Assert.AreEqual(gridCoverage.DeltaY, grid.DeltaY);
            //updating tiff file
            //values before: 2,5
            
            // TODO: make it readable!
            Assert.IsTrue((new float[] {2, 5}).SequenceEqual(gdalFunctionStore.GetVariableValues<float>(grid.Components[0],
                                                                                              new VariableValueFilter<double>(
                                                                                                  grid.X,
                                                                                                  new double[] {210}))));
            grid.SetValues(new[] {0, 10.5f}, new VariableValueFilter<double>(grid.X, new double[] {210}));
            //values after: 0,10
            Assert.IsTrue(
                (new[] {0, 10.5f}).SequenceEqual(gdalFunctionStore.GetVariableValues<float>(grid.Components[0],
                                                                                            new VariableValueFilter<double>(grid.X,
                                                                                                                            new double[]
                                                                                                                                {210}))));
        }
示例#23
0
        public void AddingFilteredFunctionShouldResetParent()
        {
            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));

            var filteredGrid = grid.Filter();

            string path = rasterDataPath + "AddingFilteredFunctionShouldResetParent.bil";
            var store = new GdalFunctionStore();
            store.CreateNew(path);

            store.Functions.Add(filteredGrid);

            
        }
示例#24
0
        public void StoringDoubleGridInBilFileShouldThrowException()
        {
            var path = TestHelper.GetCurrentMethodName() + ".bil";

            // create store and add grid
            var store = new GdalFunctionStore();
            store.CreateNew(path);

            var grid = new RegularGridCoverage(2, 2, 1, 1, typeof(float));
            grid.SetValues(new double[] {1, 2, 3, 4});

            store.Functions.Add(grid);
        }