PixelBlock

Краткая информация

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

Обсуждение

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

Синтаксис

PixelBlock
 (data, extent)
ПараметрОписаниеТип данных
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))