PixelBlock

Zusammenfassung

Defines a group or block of pixels to include for raster processing. The PixelBlockCollection object is made up of one or more PixelBlock objects.

Auswertung

The PixelBlock object defines a block of pixels within a raster to use for processing. It is used in conjunction with the PixelBlockCollection object to iterate through one or more large rasters for processing.

Syntax

PixelBlock
 (data, extent)
ParameterErklärungDatentyp
data

A NumPy array containing the pixel values for the pixel block.

If the raster is not multidimensional, the shape of the array should be (rows, columns, bands).

If the raster is multidimensional, the shape of the array should be (slices, rows, columns, bands).

NumPyArray
extent

The spatial extent of the pixel block.

Extent

Eigenschaften

EigenschaftErklärungDatentyp
cell_size
(Nur lesen)

The cell size of the pixels in the pixel block. This is a tuple containing the cell size in the x-direction and the y-direction (x-size, y-size).

tuple
tlc
(Nur lesen)

The coordinates of the pixel block's top left corner.

Point
spatial_reference
(Nur lesen)

The spatial reference of the pixel block.

SpatialReference

Methodenübersicht

MethodeErklärung
getData ()

Returns the NumPy array within the pixel block.

Methoden

getData ()
Rückgabewert
DatentypErklärung
NumPyArray

The NumPy array object from the pixel block.

Codebeispiel

PixelBlock example

Iterates through pixel blocks to calculate the total area of forest in a land cover raster.

import arcpy 

# Specify the input raster
in_raster = arcpy.Raster("landcover.tif")  

# Create a PixelBlockCollection

blockCollection = arcpy.ia.PixelBlockCollection(
	in_raster, pixel_block_size = (512, 512), nodata_to_values = -1) 
forest_cell_count = 0 

# Iterate through each PixelBlock 

try: 
    while True: 
        pixelblock = next(blockCollection) 
        np_array = pixelblock.getData() 
        forest_cell_count+= np.count_nonzero(np_array == 1) # value = 1 is forest class 
except StopIteration: 
    pass 
print ("total forest pixels : " + str(forest_cell_count))