Return Value
The Raster created from the raster dataset.
await QueuedTask.Run(() => { // Create a full raster from the raster dataset. ArcGIS.Core.Data.Raster.Raster raster = rasterDataset.CreateFullRaster(); // Calculate size of pixel blocks to process. Use 1000 or height/width of the raster, whichever is smaller. var height = raster.GetHeight(); var width = raster.GetWidth(); int pixelBlockHeight = height > 1000 ? 1000 : height; int pixelBlockWidth = width > 1000 ? 1000 : width; // Create the raster cursor using the height and width calculated. RasterCursor rasterCursor = raster.CreateCursor(pixelBlockWidth, pixelBlockHeight); // Use a do-while loop to iterate through the pixel blocks of the raster using the raster cursor. do { // Get the current pixel block from the cursor. using (PixelBlock currentPixelBlock = rasterCursor.Current) { // Do something with the pixel block... } // Once you are done, move to the next pixel block. } while (rasterCursor.MoveNext()); });
await QueuedTask.Run(() => { // Create a full raster from the raster dataset. ArcGIS.Core.Data.Raster.Raster raster = rasterDataset.CreateFullRaster(); // Calculate size of pixel block to create. Use 128 or height/width of the raster, whichever is smaller. var height = raster.GetHeight(); var width = raster.GetWidth(); int pixelBlockHeight = height > 128 ? 128 : height; int pixelBlockWidth = width > 128 ? 128 : width; // Create a new (blank) pixel block. PixelBlock currentPixelBlock = raster.CreatePixelBlock(pixelBlockWidth, pixelBlockHeight); // Read pixel values from the raster dataset into the pixel block starting from the given top left corner. raster.Read(0, 0, currentPixelBlock); // Do something with the pixel block... // Write the pixel block to the raster dataset starting from the given top left corner. raster.Write(0, 0, currentPixelBlock); });
Target Platforms: Windows 11, Windows 10