public void ReadAscFileAndCheckDataTypeIsFloat() { string filePath = Path.GetFullPath(RasterDataPath + "Zout_Bak.asc"); var rasterFeatureProvider = new GdalFeatureProvider { Path = filePath }; var regularGridCoverage = rasterFeatureProvider.Grid; Assert.AreEqual(4, rasterFeatureProvider.GdalDataset.RasterXSize); Assert.AreEqual(5, rasterFeatureProvider.GdalDataset.RasterYSize); Assert.AreEqual(1, rasterFeatureProvider.GdalDataset.RasterCount); Assert.AreEqual(typeof(Single), rasterFeatureProvider.Grid.Components[0].ValueType); }
public void GenerateThemeForCategorialBilFileWithLegendFile() { const string fileName = @"..\..\..\..\..\test-data\DeltaShell\DeltaShell.Plugins.SharpMapGis.Tests\RasterData\bodem.bil"; var rasterLayer = new RegularGridCoverageLayer(); var rasterFeatureProvider = new GdalFeatureProvider { Path = fileName }; rasterLayer.DataSource = rasterFeatureProvider; IRegularGridCoverage grid = rasterLayer.Grid; ITheme theme = DemisMapControlLegendHelper.ConvertLegendToTheme(fileName, "value", grid); ICollection colors = new List <string>(new string[] { "0000FF", "00FFFF", "00FF00", "FFFF00", "FF0000" }); ICollection values = new List <double>(new double[] { 1, 2, 3, 4, 5 }); Assert.IsInstanceOfType(typeof(CategorialTheme), theme); foreach (IThemeItem themeItem in theme.ThemeItems) { Assert.IsInstanceOfType(typeof(CategorialThemeItem), themeItem); Assert.IsInstanceOfType(typeof(VectorStyle), themeItem.Style); double value = Convert.ToDouble(((CategorialThemeItem)themeItem).Value); Assert.Contains(value, values); ((List <double>)values).Remove(value); string color = FromColorToBGRString(((SolidBrush)((VectorStyle)themeItem.Style).Fill).Color); Assert.Contains(color, colors); ((List <string>)colors).Remove(color); } Assert.IsTrue(colors.Count == 0); Assert.IsTrue(values.Count == 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); }
/// <summary> /// initialize a Gdal based raster layer /// </summary> /// <param name="name">Name of layer</param> /// <param name="path">location of image</param> public GdalRasterLayer(string name, string path) { base.Name = name; CustomRenderers.Clear(); CustomRenderers.Add(new GdalRenderer(this)); // add optimized custom gdal renderer if (path == null) { return; } var rasterFeatureProvider = new GdalFeatureProvider(); rasterFeatureProvider.Open(path); DataSource = rasterFeatureProvider; FeatureEditor = new FeatureEditor(); }
public void GenerateThemeForBilFileWithoutLegendFile() { const string fileName = @"..\..\..\..\..\test-data\DeltaShell\DeltaShell.Plugins.SharpMapGis.Tests\RasterData\SchematisatieUInt.bil"; RegularGridCoverageLayer rasterLayer = new RegularGridCoverageLayer(); GdalFeatureProvider rasterFeatureProvider = new GdalFeatureProvider(); rasterFeatureProvider.Open(fileName); rasterLayer.DataSource = rasterFeatureProvider; IRegularGridCoverage grid = rasterLayer.Grid; ITheme theme = DemisMapControlLegendHelper.ConvertLegendToTheme(fileName, "value", grid); Assert.IsTrue(((GradientTheme)theme).Max == 9.0); Assert.IsTrue(((GradientTheme)theme).Min == 1.0); Assert.IsInstanceOfType(typeof(GradientTheme), theme); foreach (IThemeItem themeItem in theme.ThemeItems) { Assert.IsInstanceOfType(typeof(GradientThemeItem), themeItem); Assert.IsInstanceOfType(typeof(VectorStyle), themeItem.Style); } }
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); }
public void GenerateThemeForQuantityBilFileWithLegendFile() { const string fileName = @"..\..\..\..\..\test-data\DeltaShell\DeltaShell.Plugins.SharpMapGis.Tests\RasterData\FloatValues.bil"; RegularGridCoverageLayer rasterLayer = new RegularGridCoverageLayer(); GdalFeatureProvider rasterFeatureProvider = new GdalFeatureProvider { Path = fileName }; rasterLayer.DataSource = rasterFeatureProvider; IRegularGridCoverage grid = rasterLayer.Grid; ITheme theme = DemisMapControlLegendHelper.ConvertLegendToTheme(fileName, "value", grid); ICollection colors = new List <string>(new string[] { "000000", "E1E1FE", "DCD9FE", "D6D0FE", "D0C8FF", "CBC0FF", "C09EFF", "B57BFF", "A959FF", "9E36FF", "9314FF" }); ICollection values = new List <double>(new double[] { -16.9996604919434, -13.5799999237061, -10.1499996185303, -6.73000001907349, -3.29999995231628, .119999997317791, 3.54999995231628, 6.96999979019165, 10.3900003433228, 13.8199996948242, 17.2399997711182 }); Assert.IsInstanceOfType(typeof(QuantityTheme), theme); foreach (IThemeItem themeItem in theme.ThemeItems) { Assert.IsInstanceOfType(typeof(QuantityThemeItem), themeItem); Assert.IsInstanceOfType(typeof(VectorStyle), themeItem.Style); double value = ((QuantityThemeItem)themeItem).Interval.Max; Assert.Contains(value, values); ((List <double>)values).Remove(value); string color = FromColorToBGRString(((SolidBrush)((VectorStyle)themeItem.Style).Fill).Color); Assert.Contains(color, colors); ((List <string>)colors).Remove(color); } Assert.IsTrue(colors.Count == 0); Assert.IsTrue(values.Count == 0); }