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

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

    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.0 or higher.
    See Also