PixelBlock

Сводка

Задает группу или блок пикселов, включаемые в обработку растра. Объект PixelBlockCollection состоит из одного или нескольких объектов PixelBlock.

Описание

Объект PixelBlock задает блок пикселов растра, который будет использоваться в обработке. Он используется вместе с объектом PixelBlockCollection для итерации в одном или нескольких больших растрах для обработки.

Синтаксис

PixelBlock
 (data, extent)
ParameterОбъяснениеТип данных
data

Массив NumPy, содержащий значения пикселов для блока пикселов.

Если растр не является многомерным, массив должен выглядеть так:(строки, столбцы, каналы).

Если растр многомерный, массив должен выглядеть так: (срезы, строки, столбцы, каналы).

NumPyArray
extent

Пространственный экстент блока пикселов.

Extent

Свойства

ВладениеОбъяснениеТип данных
cell_size
(только чтение)

Размер пиксела в блоке пикселов. Это кортеж, содержащий размер ячейки в направлении x и в направлении y: (размер по x, размер по y).

tuple
tlc
(только чтение)

Координаты левого верхнего угла блока пикселов.

Point
spatial_reference
(только чтение)

Пространственная привязка блока пикселов.

SpatialReference

Обзор метода

МетодОбъяснение
getData ()

Возвращает массив NumPy в блоке пикселов.

Методы

getData ()
Значение отраженного сигнала
Тип данныхОбъяснение
NumPyArray

Объект массив NumPy блока пикселов.

Пример кода

Пример PixelBlock

Выполняет итерацию по блокам пикселов с целью вычисления общей площади леса на растре растительного покрова.

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))