Quantcast
Channel: DotSpatial
Viewing all articles
Browse latest Browse all 3973

Commented Feature: Raster symbology does not update the map [24180]

$
0
0
The following code the raster layer just changes the legend, but map does not change until apply changes in the properties.

private void button1_Click(object sender, EventArgs e)
{
IRaster r = Raster.Create("c:\\temp\\ejep.bgd", null, 50, 50, 1, typeof(double), null);

r.Bounds = new RasterBounds(50, 50, new Extent(100000, 100000, 105000, 105000));
r.Projection = map1.Projection;
Random p = new Random();
for (int i = 0; i < 50; i++)
{
for (int k = 0; k < 50; k++)
{

r.Value[i, k] = p.NextDouble()*1000;
}
}


IMapRasterLayer mRas = new MapRasterLayer(r);
RasterSymbolizer rSym = new RasterSymbolizer();
rSym.Scheme = new ColorScheme(ColorSchemeType.Glaciers, r);
mRas.Symbolizer = rSym;

map1.Layers.Add(mRas);
map1.ResetBuffer();
map1.Refresh();

}
Comments: ** Comment from web user: carosoisu **

```
Adding the _ __function ReDrawImage(....) ___ solves the problem. This function creates initial image with the symbology selected..

```
private void button1_Click(object sender, EventArgs e)
{
IRaster r = Raster.Create("c:\\temp\\ejep.bgd", null, 50, 50, 1, typeof(double), null);

r.Bounds = new RasterBounds(50, 50, new Extent(100000, 100000, 105000, 105000));
r.Projection = map1.Projection;
Random p = new Random();
for (int i = 0; i < 50; i++)
{
for (int k = 0; k < 50; k++)
{

r.Value[i, k] = p.NextDouble()*1000;
}
}


IMapRasterLayer mRas = new MapRasterLayer(r);
RasterSymbolizer rSym = new RasterSymbolizer();
rSym.Scheme = new ColorScheme(ColorSchemeType.Glaciers, r);
mRas.Symbolizer = rSym;
ReDrawImage(r, rSym, (RasterLayer)mRas);
map1.Layers.Add(mRas);
map1.ResetBuffer();
map1.Refresh();

}


private void ReDrawImage(IRaster dataset, RasterSymbolizer symbolizer, RasterLayer r)
{
Bitmap bmp = new Bitmap(dataset.NumColumns, dataset.NumRows);
symbolizer.Raster = dataset;

dataset.DrawToBitmap(symbolizer, bmp, null);
InRamImage id = new InRamImage(bmp);
id.Bounds = dataset.Bounds;
r.BitmapGetter = id;

}
```


Viewing all articles
Browse latest Browse all 3973

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>