Raster

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

Создает растровый объект, который можно использовать в скриптах Python или выражении инструмента Алгебра карт. Растровый объект – это переменная, которая ссылается на набор растровых данных.

Растровый объект может быть создан тремя способами: путем предоставления пути к существующему растру на диске, путем предоставления объекта RasterInfo, или он может быть результатом любого оператора Алгебры карт, который приводит к выходному растру.

Лицензия:

Для выполнения выражений Алгебры карт необходим дополнительный модуль ArcGIS Spatial Analyst extension или ArcGIS Image Analyst.

Обсуждение

Растровый объект, созданный на основе существующих данных, можно использовать в последующих выражениях Алгебры карт, при этом он будет содержать все связанные свойства и методы растра.

# out_raster is a resultant raster object
out_raster = Raster("c:/data/inraster")

Любой инструмент или оператор (см. Раздел Работа с операторами Алгебры карт), создающий выходной растр слева от знака равенства, формирует растровый объект. Например, в следующем выражении out_raster является растровым объектом.

out_raster = Slope("inelevation")

Если объект Raster получается из выражения Алгебры карт, по умолчанию объект (переменная и связанный набор данных) является временным.

Временный набор данных, связанный с растровым объектом, может стать постоянным при вызове метода save растрового объекта.

Если указанный растр не сделать постоянным, переменная и связанный набор данных будут удалены, когда переменная выйдет из области действия, например, при завершении автономного скрипта или закрытии ArcGIS. Если растровый объект ссылается на постоянные данные на диске, эти данные не удаляются.

Определенные операторы есть и в Алгебре карт, и в Python. Если вы хотите, чтобы оператор работал с растром (в отличие от скаляра), входные растры необходимо преобразовать в растровый объект, вызвав конструктор класса Raster : Raster("inRaster").

# The plus operator (available with Spatial Analyst or Image Analyst) is
# used on the input rasters to create an output raster object out_raster = Raster("input1") + Raster("input2") 																																												
# The Python plus operator is used on numbers, creating a scalar variable out_var = 4 + 7 
# When there is a mix of rasters with numbers, the Spatial Analyst
# operator is used, creating an output raster object out_raster = Raster("input") + 10

Определенные свойства, связанные с растровым объектом, доступны, только если указанный набор растровых данных является постоянным. Если указанный набор растровых данных является временным, этим свойствам будет присвоено значение None. Указанными свойствами являются catalogPath, compressionType, format, hasRAT, name и path.

После того, как набор растровых данных сделан постоянным, он не может вернуться во временное состояние.

Если растровый объект создан путем предоставления пути к существующему растру на диске, его свойство readOnly является True по умолчанию, и его ячейки можно считывать, используя индексные обозначения [row, column].

in_raster = Raster('c:/data/inraster')
# Read the cell value at the second row and third column
v = in_raster[1, 2]

Если растровый объект создан путем предоставления объекта RasterInfo в качестве входного, он создаст временный растр в директории ArcGIS temp. Свойство readOnly такого растрового объекта является False по умолчанию, и его ячейки можно изменять, используя индексные обозначения [row, column].

in_raster = Raster('c:/data/inraster') raster_info = in_raster.getRasterInfo() new_raster = Raster(raster_info)  # Create a new raster
# Modify the cell value at the second row and third column new_raster[1, 2] = 3
new_raster.save('c:/output/outraster1')

В цикле RasterCellIterator, объекты Raster применяются для чтения и записи данных на уровне ячейки, используя индексные обозначения [row, column].

Синтаксис

 Raster (inRaster, {is_multidimensional})
ПараметрОписаниеТип данных
inRaster
[inRaster,...]

Входной набор растровых данных или список наборов растровых данных.

Если задано несколько многомерных наборов растровых данных, файлы будут интерпретироваться как один многомерный набор данных, с объединенными переменными и размерностями. Если два файла содержат одинаковую переменную с одинаковыми значениями, срезы в выходном растре будут браться из первого многомерного растра.

Вы также можете указать объект RasterInfo в качестве входного inRaster, при этом новый растровый набор данных будет создан на диске. В этом случае параметр is_multidimensional будет проигнорирован.

Raster
is_multidimensional

Определяет, будет ли входной растр интерпретирован как многомерный. Укажите True, если входные данные являются многомерными и должны быть обработаны соответствующим образом, в таком случае обработка будет касаться каждого среза в наборе данных. Укажите False, если входные данные многомерными не являются и их не нужно обрабатывать, как многомерные.

(Значение по умолчанию — False)

Boolean

Свойства

СвойствоОписаниеТип данных
bandCount
(только чтение)

Количество каналов в указанном наборе растровых данных.

Integer
bandNames
(только чтение)

Имена каналов в указанном наборе растровых данных.

String
blockSize
(только чтение)

Размер блока указанного набора растровых данных.

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

Полный путь и имя набора растровых данных.

String
compressionType
(только чтение)

Тип сжатия. Доступны следующие типы:

  • LZ77
  • JPEG
  • JPEG 2000
  • PACKBITS
  • LZW
  • RLE
  • CCITT GROUP 3
  • CCITT GROUP 4
  • CCITT (1D)
  • Нет

String
extent
(только чтение)

Экстент указанного набора растровых данных.

Extent
format
(только чтение)

Формат растра.

  • BIL – файл Esri Band Interleaved by Line
  • BIP – файл Esri Band Interleaved by Pixel
  • BMP – формат битовой растровой графики
  • BSQ – файл Esri Band Sequential
  • DAT – файл ENVI DAT
  • GIF – графический обменный формат для наборов растровых данных
  • Grid – формат набора растровых данных Esri Grid
  • IMAGINE Image – формат растровых данных ERDAS IMAGINE
  • JP2000 – формат растровых данных JPEG 2000
  • JPEG – формат растровых данных Joint Photographic Experts Group
  • PNG – формат растровых данных Portable Network Graphic
  • TIFF – теговый формат файла изображения для набора растровых данных

String
hasRAT
(чтение и запись)

Обозначает, имеется ли связанная атрибутивная таблица: True, если атрибутивная таблица присутствует, False – если отсутствует.

Boolean
hasTranspose
(чтение и запись)

Определяет, существует ли транспонированная версия многомерных данных, связанных с растром: True, если есть связанное транспонирование, False если транспонирование отсутствует.

Boolean
height
(только чтение)

Число строк.

Integer
isInteger
(только чтение)

True, если у растрового набора данных тип "целое число".

Boolean
isMultidimensional
(только чтение)

True, если растровый набор данных многомерный.

Boolean
isTemporary
(только чтение)

True, если растровый набор данных временный, и False - если постоянный.

Boolean
maximum
(только чтение)

Максимальное значение в указанном наборе растровых данных.

Double
mean
(только чтение)

Среднее значение в указанном наборе растровых данных.

Double
meanCellHeight
(только чтение)

Размер ячейки в направлении y.

Double
meanCellWidth
(только чтение)

Размер ячейки в направлении x.

Double
minimum
(только чтение)

Минимальное значение в указанном наборе растровых данных.

Double
mdinfo
(только чтение)

Многомерная информация о растровом наборе данных, в том числе имена переменных, описания и единицы измерения, а также имена измерений, единицы, интервалы и диапазоны. К примеру, многомерный растр со значениями среднемесячной температуры за 10 месяцев возвратит следующее: {"variables": [{"name":"Temp", "dimensions":[{"name":"StdTime", "field":"StdTime", "hasRegularIntervals":true, "interval":1, "intervalUnit":"Months", "extent":["1982-01-15T00:00:00", "1982-10-15T00:00:00"], "hasRanges":false,"values":["1982-01-15T00:00:00", "1982-02-15T00:00:00, ... "1982-10-15T00:00:00"]}]}], "layout":1}

Если растр не является многомерным, свойство возвратит None.

String
name
(только чтение)

Имя указанного набора растровых данных.

String
noDataValue
(только чтение)

Значение NoData в указанном наборе растровых данных.

Double
noDataValues
(только чтение)

Значение NoData для каждого канала в указанном многоканальном наборе растровых данных.

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

Полный путь указанного набора растровых данных.

String
pixelType
(только чтение)

Тип пикселов указанного набора растровых данных. Есть следующие типы:

  • U1 - 1 бит
  • U2 - 2 бита
  • U4 - 4 бита
  • U8 - 8-битные целочисленные без знака
  • S8 - 8-битные целочисленные
  • U16 - 16-битные целочисленные без знака
  • S16 - 16-битные целочисленные
  • U32 - 32-битные целочисленные без знака
  • S32 - 32-битные целочисленные
  • F32 - с плавающей запятой одинарной точности
  • F64 - с плавающей запятой двойной точности

String
properties
(только чтение)

Пары имя и значение параметра в указанном наборе растровых данных.

Dictionary
RAT
(только чтение)

Атрибутивная таблица указанного набора растровых данных. Например, таблица атрибутов для набора растровых данных с двумя классами вернет {'OID': [0, 1], 'Value': [10, 20], 'ClassName': ['Low', 'High'], 'Red': [178, 56], 'Green': [178, 168], 'Blue': [178, 0], 'Alpha': [255, 255], 'Count': [887412.0, 962159.0]}. Если растр многомерный, то для каждого среза в наборе данных будет существовать поле Count.

Если таблица атрибутов не существует, то возвращается None.

Dictionary
readOnly
(чтение и запись)

Независимо от того, доступны ли значения растровой ячейки для записи или нет с использованием записи [строка, столбец]. Когда это свойство True, они не доступны для записи. В противном случае они доступны для записи.

Boolean
slices
(только чтение)

Атрибутивная информация каждого среза, в том числе его имя переменной, имена измерений и значения измерений, возвращается в виде списка словарей. К примеру, многомерный растр со значениями температуры за 24 месяца возвратит следующее: [{'variable': 'temp', 'StdTime': '2017-1-15'}, {'variable': 'temp', 'StdTime': '2017-2-15'}, .....{'variable': 'temp', 'StdTime': '2018-12-15'}]

String
spatialReference
(только чтение)

Пространственная привязка указанного набора растровых данных.

SpatialReference
standardDeviation
(только чтение)

Стандартное отклонение значений ячеек в набор растровых данных.

Double
uncompressedSize
(только чтение)

Размер указанного набора растровых данных на диске.

Double
variables
(только чтение)

Имена переменных и их измерения в многомерном растровом наборе данных. К примеру, многомерный растр со значениями температуры за 24 месяца возвратит следующее: ['temp(StdTime=24)']

String
variableNames
(только чтение)

Имена переменных многомерного набора растровых данных.

String
width
(только чтение)

Число столбцов.

Integer

Обзор метода

МетодОписание
addDimension (variable, new_dimension_name, dimension_value, {dimension_attributes})

Добавляет новое измерение к переменной в объекте многомерного растра, чтобы многомерный растр был совместим с другими многомерными наборами данных.

appendSlices (mdRaster)

Добавляет срезы из другого многомерного растра.

exportImage ({width}, {height}, {format}, {extent}, {spatial_reference}, {mosaic_rule})

Экспортирует растровый объект как объект IPython Image для использования в визуализации в Jupyter Notebook.

getColormap ({variable_name})

Возвращает цветовую карту растра. Если растр многомерный, возвращает цветовую карту переменной.

getDimensionAttributes (variable_name, dimension_name)

Возвращает атрибутивную информацию об определённой переменной многомерного набора растровых данных, например, описание, единицы измерения и т.д..

getDimensionNames (variable_name)

Возвращает имена измерений, связанных с каждой переменной в наборе многомерных растровых данных.

getDimensionValues (variable_name, dimension_name)

Возвращает список имен измерений, связанных с каждой переменной в наборе многомерных растровых данных.

getHistograms ({variable_name})

Возвращает гистограммы растра. Если растр многомерный, возвращает гистограмму переменной. Если растр многоканальный, возвращает гистограмму каждого канала.

getProperty (property_name)

Возвращает значение данного свойства.

getRasterBands ({band_ids_or_names})

Возвращает объект Raster для каждого канала, указанного в многоканальном наборе растровых данных.

getRasterInfo ()

Возвращает объект RasterInfo, чьи свойства инициализируются при помощи свойств растрового объекта.

getStatistics ({variable_name})

Возвращает статистику растра. Если растр многомерный, возвращает статистику переменной.

getVariableAttributes (variable_name)

Возвращает информацию об атрибутах переменной многомерного набора растровых данных (например, описание, единица измерения и т.д.).

read ({upper_left_corner}, {origin_coordinate}, {ncols}, {nrows}, {nodata_to_value}, {cell_size})

Считывает растр и конвертирует его в массив NumPy.

removeVariables (variable_names)

Удаляет переменную из списка переменных в многомерном наборе растровых данных формата Cloud Raster Format (CRF).

renameBand (current_band_name_or_index, new_band_name)

Переименовывает канал в наборе многоканальных растровых данных.

renameVariable (current_variable_name, new_variable_name)

Переименовывает переменную в многомерном наборе растровых данных Cloud Raster Format (CRF).

save ({name})

Выполняет постоянное сохранение набора данных, ссылающегося на растровый объект.

setColormap (color_map, {variable_name})

Задает цветовую карту для растра. Если растр многомерный, задает цветовую карту для переменной.

setHistograms (histogram_obj, {variable_name})

Задает гистограммы растра. Если растр многомерный, задает гистограмму переменной.

setProperty (property_name, property_value)

Добавляет настроенное свойство растрового набора данных.

Если значение свойства существует, имеющейся свойство будет перезаписано.

setStatistics (statistics_obj, {variable_name})

Задает статистику для растра. Если растр многоканальный, задает статистику для каждого канала. Если растр многомерный, задает статистику для переменной.

setVariableAttributes (variable_name, variable_attributes)

Задает атрибутивную информацию переменной многомерного растра (например, описание, единицы измерения и т.д.).

write (array, {upper_left_corner}, {origin_coordinate}, {value_to_nodata})

Конвертирует трех- и четырехмерный массив NumPy в растр.

Методы

addDimension (variable, new_dimension_name, dimension_value, {dimension_attributes})
ПараметрОписаниеТип данных
variable

Имя переменной, в которую будет добавлено измерение. Поддерживаются только многомерные растры в формате Cloud Raster (.crf).

String
new_dimension_name

Название нового измерения.

String
dimension_value

Значение, которое будет присвоено новому измерению.

Можно добавить только одно значение, если нужно больше значений (например, для нескольких глубин), то в набор данных нужно будет добавить новые срезы. Чтобы добавить значение нескольких измерений наряду с новыми срезами, используйте метод addDimension, а затем функцию Merge для слияния существующих данных в объекте растра.

Double
dimension_attributes

Словарь Python, который содержит атрибутивную информацию, которая должна быть добавлена в новое измерение, например, описание или единица измерения. Например, чтобы добавить атрибут единицы измерения, используйте {"unit": "meters"}.

(Значение по умолчанию — None)

Dictionary
Возвращаемое значение
Тип данныхОписание
String

Список имен переменных и соответствующие измерения в многомерном растре.

appendSlices (mdRaster)
ПараметрОписаниеТип данных
mdRaster

Многомерный растр, содержащий срезы, которые будут добавлены.

Этот растр должен иметь те же переменные и те же имена измерений, что и целевой растр. Размеры ячеек, экстенты и пространственная привязка также должны совпадать.

Срезы в этом растре должны быть для значений измерений, следующих за значениями измерений срезов в целевом растре.

Если переменная имеет два измерения, то срезы будут добавляться для одного измерения. Другое измерение должно иметь такое же количество срезов, как и измерение в целевом растре. Например, если переменная солености содержит срезы по измерениям времени и глубины, временные срезы могут быть добавлены к другому многомерному растру солености, но только в том случае, если в обоих растрах существует одинаковое количество срезов глубины.

Raster
Возвращаемое значение
Тип данныхОписание
String

Строка, содержащая имена переменных и связанные с ними измерения в многомерном растре. Например, если результирующий растр содержит 10 временных срезов с данными об осадках, будет возвращено 'prcp(StdTime=10)'.

exportImage ({width}, {height}, {format}, {extent}, {spatial_reference}, {mosaic_rule})
ПараметрОписаниеТип данных
width

Ширина выходного изображения в пикселах. Если значение не задано, но указана высота, сохраняется соотношение сторон исходного растра. Если не указана ни ширина ни высота, используется ширина исходного растра.

(Значение по умолчанию — None)

Integer
height

Высота выходного изображения в пикселах. Если значение не задано, но указана ширина, сохраняется соотношение сторон исходного растра. Если не указана ни ширина ни высота, используется высота исходного растра.

(Значение по умолчанию — None)

Integer
format

Формат изображения экспортированных данных. Поддерживаются форматы JPG, PNG и PNG32.

(Значение по умолчанию — PNG32)

String
extent

Экстент рамки экспортированного изображения. Если значение не задано, используется экстент набора растровых данных.

(Значение по умолчанию — None)

Extent
spatial_reference

Пространственная привязка экспортированного изображения. Если значение не задано, используется пространственная привязка набора растровых данных.

(Значение по умолчанию — None)

SpatialReference
mosaic_rule

Задает способ построения мозаики по входным растровым данным. Применимо, когда входной набор растровых данных является набором данных мозаики. Информация о форматировании правила построения мозаики находится в разделе Объекты правил построения мозаики.

(Значение по умолчанию — None)

Dictionary
Возвращаемое значение
Тип данныхОписание
Object

Экспортированное изображение в виде объекта IPython Image.

getColormap ({variable_name})
ПараметрОписаниеТип данных
variable_name

Имя переменной набора многомерных растровых данных. Если переменная не указана, а растр многомерный, будет возвращена цветовая карта первой переменной.

String
Возвращаемое значение
Тип данныхОписание
Dictionary

Словарь Python, содержащий цветовую карту растра или переменной. Сначала отображаются значения пикселов, а за ними следуют соответствующие значения цветовой карты в цветовых кодах HEX - например, {'type': 'RasterColormap', 'values': [10, 20, 30], 'colors': ['#66FF33', '#0033CC', '#FF00FF']}.

getDimensionAttributes (variable_name, dimension_name)
ПараметрОписаниеТип данных
variable_name

Имя переменной набора многомерных растровых данных.

String
dimension_name

Имя измерения набора многомерных растровых данных.

String
Возвращаемое значение
Тип данныхОписание
String

Информация об атрибутах измерения, например, минимальное и максимальное значения измерения, интервал временного шага и единицы измерения интервала.

getDimensionNames (variable_name)
ПараметрОписаниеТип данных
variable_name

Имя переменной набора многомерных растровых данных.

String
Возвращаемое значение
Тип данныхОписание
String

Имена измерений, связанные с переменной.

getDimensionValues (variable_name, dimension_name)
ПараметрОписаниеТип данных
variable_name

Имя переменной набора многомерных растровых данных.

String
dimension_name

Имя измерения набора многомерных растровых данных.

String
Возвращаемое значение
Тип данныхОписание
String

Значения измерения переменной.

getHistograms ({variable_name})
ПараметрОписаниеТип данных
variable_name

Имя переменной набора многомерных растровых данных. Если переменная не указана, а растр многомерный, будет возвращена гистограмма первой переменной.

String
Возвращаемое значение
Тип данныхОписание
Dictionary

Значения гистограммы растра или переменной - например, [{'size': 10, 'min': 0.0, 'max': 364.0, 'counts': [882.0, 18.0, 9.0, 0.0, 9.0, 0.0, 18.0, 9.0, 18.0, 0.0]}].

getProperty (property_name)
ПараметрОписаниеТип данных
property_name

Имя свойства набора растровых данных.

String
Возвращаемое значение
Тип данныхОписание
String

Значение свойства.

getRasterBands ({band_ids_or_names})
ПараметрОписаниеТип данных
band_ids_or_names
[band_ids_or_names,...]

Порядковый номер или имена каналов, которые будут возвращены как объекты Raster. Если не указано, будут извлечены все каналы.

(Значение по умолчанию — None)

String
Возвращаемое значение
Тип данныхОписание
Raster

Объект Raster для каждого указанного канала.

getRasterInfo ()
Возвращаемое значение
Тип данныхОписание
Object

Объект RasterInfo.

getStatistics ({variable_name})
ПараметрОписаниеТип данных
variable_name

Имя переменной набора многомерных растровых данных. Если переменная не задана и растр многомерный, будет возвращена статистика первой переменной.

String
Возвращаемое значение
Тип данныхОписание
Dictionary

Статистика растра или переменной.

getVariableAttributes (variable_name)
ПараметрОписаниеТип данных
variable_name

Имя переменной набора многомерных растровых данных.

String
Возвращаемое значение
Тип данныхОписание
String

Атрибутивная информация переменной.

read ({upper_left_corner}, {origin_coordinate}, {ncols}, {nrows}, {nodata_to_value}, {cell_size})
ПараметрОписаниеТип данных
upper_left_corner

Координаты относительно origin_coordinate, из которого извлекается блок обработки для конвертации в массив. Должен иметь формат кортежа с двумя значениями, показывающими направление перемещения по направлениям x и y, соответственно. Например, значение (2,0) показывает, что массив должен извлекаться начиная с пиксела, удаленного на 2 пиксела по направлению x от origin_coordinate.

Если значение не указано, используется (0,0).

(Значение по умолчанию — None)

tuple
origin_coordinate

Точка начала отсчета в объекте Raster, из которого извлекается блок обработки для конвертации в массив. Координаты задаются в единицах измерения растра.

Если значение не указано, используется начальная точка растра.

(Значение по умолчанию — None)

Point
ncols

Число столбцов из upper_left_corner в объекте Raster для конвертации в массив NumPy.

Если значение не задано, будет использовано количество столбцов растра.

(Значение по умолчанию — None)

Integer
nrows

Число строк из upper_left_corner в объекте Raster для конвертации в массив NumPy.

Если значение не задано, будет использовано количество строк растра.

(Значение по умолчанию — None)

Integer
nodata_to_value

Значения пиксела, присваиваемое в массиве NumPy пикселам, обозначенным в объекте Raster как NoData.

Если значение не указано, используется значение NoData растра.

(Значение по умолчанию — None)

Variant
cell_size

Размер ячеек, использующийся в массиве NumPy. Должен иметь формат кортежа с двумя значениями, показывающими направление перемещения по направлениям x и y, соответственно, единицы измерения должны соответствовать используемым в растре. Например, значение (2, 1) означает, что размер выходных ячеек должен составлять 2 единицы в направлении x и 1 единицу в направлении y. Если размер ячеек отличается от источника данных, значения ячеек пересчитываются с использованием билинейной интерполяции.

Если значение не указано, используется размер ячеек растра.

(Значение по умолчанию — None)

tuple
Возвращаемое значение
Тип данныхОписание
NumPyArray

Выходной массив NumPy.

Если используется одно- или многоканальный растр, размерностью массива будут строки, столбцы и число каналов.

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

removeVariables (variable_names)
ПараметрОписаниеТип данных
variable_names
[variable_names,...]

Имя переменной или список имен переменных, удаляемых из многомерного набора растровых данных.

String
renameBand (current_band_name_or_index, new_band_name)
ПараметрОписаниеТип данных
current_band_name_or_index

Имя или индекс канала, который будет переименован. Индекс канала начинается с 1. Аргумент быть текстовым или целочисленным значением.

String
new_band_name

Новое имя канала.

String
Возвращаемое значение
Тип данныхОписание
Raster

Объект Raster с переименованными каналами.

renameVariable (current_variable_name, new_variable_name)
ПараметрОписаниеТип данных
current_variable_name

Текущее имя переменной в многомерном наборе растровых данных.

String
new_variable_name

Новое имя переменной в многомерном наборе растровых данных.

String
save ({name})
ПараметрОписаниеТип данных
name

Имя, назначаемое набору растровых данных на диске.

Этот метод поддерживает сохранение многомерного растрового набора данных в формате облачного растра (CRF).

String
setColormap (color_map, {variable_name})
ПараметрОписаниеТип данных
color_map

Цветовая карта, которая будет применяться к растру. Это может быть строка, указывающая название используемой цветовой карты или цветовой шкалы, например, NDVI или Yellow To Red, соответственно. Это также может быть словарь Python с объектом пользовательской цветовой карты или цветовой шкалы, например, пользовательская цветовая карта {'values': [0, 1, 2, 3, 4, 5], 'colors': ['#000000', '#DCFFDF', '#B8FFBE', '#85FF90', '#50FF60','#00AB10']} или пользовательская цветовая шкала {"type": "algorithmic", "fromColor": [115, 76, 0, 255],"toColor": [255, 25, 86, 255], "algorithm": "esriHSVAlgorithm"}.

String
variable_name

Имя переменной набора многомерных растровых данных. Если переменная не указана, а растр многомерный, будет задана цветовая карта первой переменной.

String
setHistograms (histogram_obj, {variable_name})
ПараметрОписаниеТип данных
histogram_obj
[histogram_obj,...]

Список словарей Python, содержащих информацию о гистограмме, которую нужно задать, например, [{'size': 5, 'min': 19.0, 'max': 42.0, 'counts': [275, 17, 3065, 4, 22]}].

Если растр многогоканальный, гистограмма каждого канала будет задаваться отдельным словарем в списке. Первый канал будет использовать гистограмму первого словаря. Второй канал будет использовать гистограмму второго словаря и т.д.

  • sizeКоличество бинов в гистограмме
  • minМинимальное значение пиксела
  • maxМаксимальное значение пиксела
  • countsСписок, содержащий количество пикселей в каждом бине, в соответствии с порядком бинов
Dictionary
variable_name

Имя переменной набора многомерных растровых данных. Если переменная не задана, а растр многомерный, будет задана гистограмма для первой переменной.

String
setProperty (property_name, property_value)
ПараметрОписаниеТип данных
property_name

Имя свойства набора растровых данных.

String
property_value

Значение, присваиваемое свойству.

String
setStatistics (statistics_obj, {variable_name})
ПараметрОписаниеТип данных
statistics_obj
[statistics_obj,...]

Список словарей Python, содержащих статистику и соответствующие значения для установки. Например, [{'min': 10, 'max': 20}] задает минимальное и максимальное значения пикселей.

Если растр многогоканальный, статистика для каждого канала будет задаваться отдельным словарем в списке. Первый канал будет использовать статистику из первого словаря. Второй канал будет использовать статистику из второго словаря и т.д.

  • minМинимальное значение пиксела
  • maxМаксимальное значение пиксела
  • meanСреднее значение пикселов
  • medianМедианное значение пикселов
  • standardDeviationСтандартное отклонение значений пикселов
  • countОбщее количество пикселов
  • skipXКоэффициент горизонтального пропуска
  • skipYКоэффициент вертикального пропуска
List
variable_name

Имя переменной набора многомерных растровых данных. Если переменная не указана, а растр многомерный, будет задана статистика первой переменной.

String
setVariableAttributes (variable_name, variable_attributes)
ПараметрОписаниеТип данных
variable_name

Имя переменной набора многомерных растровых данных.

String
variable_attributes

Словарь Python, содержащий атрибутивную информацию для замены текущей атрибутивной информации переменной, например, {'Description': 'Daily total precipitation', 'Unit': 'mm/day'}.

Dictionary
Возвращаемое значение
Тип данныхОписание
String

Атрибутивная информация переменной.

write (array, {upper_left_corner}, {origin_coordinate}, {value_to_nodata})
ПараметрОписаниеТип данных
array

Входной массив NumPy.

(Значение по умолчанию — None)

NumPyArray
upper_left_corner

Координаты относительно origin_coordinate, из которых извлекается блок обработки для конвертации в растр. Они должны быть отформатированы как кортеж с двумя значениями, указывающими количество пикселов для перемещения в направлении x и y, соответственно. К примеру, (2,0) означает, что положение, из которого массив NumPy будет записываться в растр, находится в двух пикселах от origin_coordinate по оси x.

Если не задано значение, используется (0,0).

(Значение по умолчанию — None)

tuple
origin_coordinate

Объект Point, задающий исходную точку, из которой будет записываться массив в Raster. Значения x и y в единицах растра. Если значение не задано, то будет использован левый верхний угол растра.

Если значение не задано, то будет использована начальная точка растра. Используется по умолчанию.

(Значение по умолчанию — None)

Point
value_to_nodata

Значение в массиве NumPy, используемое в качестве значения NoData растра. Значение может быть целочисленным или значением с плавающей точкой. Если значение не задано, то будет использовано значение NoData из Raster.

Значение по умолчанию равно None.

(Значение по умолчанию — None)

Double

Если растр одноканальный, измерениями массива будут строки, столбцы и 1.

Если растр многоканальный, измерения массива - строки, столбцы, число каналов.

Если растр многомерный, в котором каждый срез - это один канал, измерениями массива будут число срезов, строки, столбцы и 1.

Если растр многомерный, в котором каждый срез - это несколько каналов, измерениями массива будут число срезов, строки, столбцы, число каналов.

Пример кода

Raster, пример 1

Создает объект Raster из набора растровых данных и получает свойства для анализа.

import arcpy

my_raster = arcpy.Raster('elevation')
my_min = my_raster.minimum
my_max = my_raster.maximum
my_area = (my_raster.width * my_raster.height) * my_raster.meanCellWidth
Raster, пример 2

Создает объект Raster, получает свойства, создает случайный ошибочный растр (+/- 3 фута), добавляет его в растр высот и преобразует его единицы из футов в метры.

import arcpy
from arcpy.sa import *

elev_raster = Raster('c:/data/elevation')
my_extent = elev_raster.extent
my_cellsize = (elev_raster.meanCellHeight + elev_raster.meanCellWidth) / 2
res01 = arcpy.CreateRandomRaster_management("", "error3", "UNIFORM 0.0 3.0",
                                            my_extent, my_cellsize)
elev_meters = (elev_raster + Raster(res01)) * 0.3048
elev_meters.save("c:/output/fgdb.gdb/elevM_err")
Raster, пример 3

Создает объект Raster из многомерного растрового набора данных, берет многомерную информацию, в том числе переменные и значения измерений.

import arcpy

## Load a netCDF file as a multidimensional raster
mdim_raster = Raster("Precip_2000_2018.nc", True)

## Check if it is multidimensional raster
is_multidimensional = mdim_raster.isMultidimensional

## Return the multidimensional information 
my_mdinfo = mdim_raster.mdinfo

## Return the list of variable names and their dimensions
my_variables = mdim_raster.variables

## Get the time dimension values for the precipitation variable
my_dimensionValues = mdim_raster.getDimensionValues("precip", "StdTime")

# save as a mdim crf
mdim_raster.save("c:/output/Precip_18_yr.crf")