Краткая информация
Создает растровый объект, который можно использовать в скриптах 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 (только чтение) | Тип сжатия. Доступны следующие типы:
| String |
extent (только чтение) | Экстент указанного набора растровых данных. | Extent |
format (только чтение) | Формат растра.
| 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 (только чтение) | Тип пикселов указанного набора растровых данных. Есть следующие типы:
| 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]}]. Если растр многогоканальный, гистограмма каждого канала будет задаваться отдельным словарем в списке. Первый канал будет использовать гистограмму первого словаря. Второй канал будет использовать гистограмму второго словаря и т.д.
| 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}] задает минимальное и максимальное значения пикселей. Если растр многогоканальный, статистика для каждого канала будет задаваться отдельным словарем в списке. Первый канал будет использовать статистику из первого словаря. Второй канал будет использовать статистику из второго словаря и т.д.
| 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 из набора растровых данных и получает свойства для анализа.
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, получает свойства, создает случайный ошибочный растр (+/- 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 из многомерного растрового набора данных, берет многомерную информацию, в том числе переменные и значения измерений.
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")