ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data.Raster Namespace / RasterCursor Class / MoveNext Method
Example Version

MoveNext Method (RasterCursor)
Advances to the next PixelBlock. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public bool MoveNext()

Return Value

A boolean value that is true if the cursor has successfully advanced to the next pixel block; false if the cursor has passed the end of the raster.
Remarks
The RasterCursor can only advance sequentially forward. To move the cursor back to the beginning, you will have to call Reset.
Example
Create a raster cursor to iterate through the raster data
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());
});
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also