Краткая информация
Создает растровый объект, который можно использовать в Python или выражении инструмента Алгебра карт. Растровый объект – это переменная, которая ссылается на набор растровых данных.
Растровый объект может быть создан путем указания пути к существующему растру на диске, путем предоставления объекта RasterInfo или может быть результатом любого оператора алгебры карты, который приводит к получению растровых выходных данных.
Лицензия:
Для выполнения операторов алгебры карт необходим дополнительный модуль Дополнительный модуль ArcGIS Spatial Analyst, либо дополнительный модуль 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 combination 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. Свойство 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 |
catalogPaths (только чтение) | Полный путь и имя каждого элемента, составляющего набор данных мозаики. | String |
compressionType (только чтение) | Задает тип сжатия. Доступны следующие типы:
| String |
extent (только чтение) | Экстент указанного набора растровых данных. | Extent |
format (только чтение) | Задает формат растра.
| String |
functions (только чтение) | Извлекает шаблон растровой функции, используя путь к файлу rft.xml. Растры можно обрабатывать с помощью полученного шаблона, используя функцию Apply. | 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 |
names (только чтение) | Имя каждого элемента, составляющего набор данных мозаики. | 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, они не доступны для записи. Если задано False, они доступны для записи. | 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 |
sum (только чтение) | Сумма значений в указанном наборе растровых данных. | Double |
uncompressedSize (только чтение) | Размер указанного набора растровых данных на диске. | Double |
variables (только чтение) | Имена переменных и их измерения в многомерном растровом наборе данных. Например, многомерный растр, содержащий данные о температуре за 24 месяца, вернет ['temp(StdTime=24)']. | String |
variableNames (только чтение) | Имена переменных многомерного набора растровых данных. | String |
width (только чтение) | Число столбцов. | Integer |
Обзор метода
Метод | Описание |
addDimension (variable, new_dimension_name, dimension_value, {dimension_attributes}) | Добавляет новое измерение к переменной в объекте многомерного растра, чтобы многомерный растр был совместим с другими многомерными наборами данных. |
appendSlices (mdRaster) | Добавляет срезы из другого многомерного растра. |
computeGSD (locations, spatial_reference, {dem}) | Возвращает значения x и y размера пиксела на земной поверхности (GSD) для входного изображения. |
computeHistograms ({variable}, {aoi}, {cellsize}) | Возвращает гистограмму растра. Если растр многомерный, возвращает гистограмму переменной. |
computeStatistics ({variable}, {aoi}, {cellsize}) | Возвращает статистику растра. Если растр многомерный, возвращается статистика переменной. |
exportImage ({width}, {height}, {format}, {extent}, {spatial_reference}, {mosaic_rule}) | Экспортирует растровый объект как объект IPython Image для использования в визуализации в Jupyter Notebook. |
fromSTACItem (stac_item, {request_params}, {context}) | Создает объект Raster из элемента SpatioTemporal Asset Catalog (STAC). |
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) | Возвращает информацию об атрибутах переменной многомерного набора растровых данных (например, описание, единица измерения и т.д.). |
isConstant (constantValue) | Определяет, содержит ли растр постоянное значение. |
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)'. |
computeGSD (locations, spatial_reference, {dem})
Параметр | Описание | Тип данных |
locations [locations,...] | A list of x,y-coordinates. | List |
spatial_reference | The spatial reference of the input locations. For example, the spatial reference can be specified using the following format: WGS_1984_UTM_Zone_11N. (Значение по умолчанию — None) | String |
dem | The DEM to be used in the GSD computation. (Значение по умолчанию — None) | String |
Тип данных | Описание |
String | Список значений размера пикселов на земной поверхности. |
computeHistograms ({variable}, {aoi}, {cellsize})
Параметр | Описание | Тип данных |
variable | The variable name for the multidimensional dataset. If a variable is not specified and the raster is multidimensional, the histogram of all variables will be calculated. | String |
aoi [aoi,...] | The area of interest to calculate statistics for. This can be provided as Polygon object or a list of coordinates in the raster's spatial reference system in the form of [min_x, min_y, max_x, max_y]. | List |
cellsize | The cell size to calculate statistics from. The raster will be resampled to the specified cell size before statistics are calculated. If no value is specified, the cell size of the raster will be used. | Double |
Тип данных | Описание |
Dictionary | Список словарей, содержащих гистограмму растра или переменной. Например, если гистограмма вычисляется для одного канала или одной переменной, выходные данные будут возвращены в следующем формате: [{'size': 251, 'min': -0.5, 'max': 250.5, 'counts': [814.0, 894.0, 836.0, 902.0, 1317.0, 1263.0, 1360.0]}]. |
computeStatistics ({variable}, {aoi}, {cellsize})
Параметр | Описание | Тип данных |
variable | The variable name of the multidimensional dataset. If a variable is not provided and the raster is multidimensional, the histogram of all variables will be calculated. | String |
aoi [aoi,...] | The area of interest that will be used to calculate statistics. This can be provided as a Polygon object or a list of coordinates in the raster's spatial reference system in the form of [min_x, min_y, max_x, max_y]. | List |
cellsize | The cell size that will be used to calculate statistics. The raster will be resampled to the specified cell size before statistics are calculated. If no value is specified, the cell size of the raster will be used. | Double |
Тип данных | Описание |
Dictionary | Список словарей, содержащих статистику растра или переменной. Например, если статистика вычисляется для одного канала или для одной переменной, выходные данные будут возвращены в следующем формате: [{'min': 0.0, 'max': 250.0, 'mean': 114.60855843925984, 'sum': 51931430.0, 'standardDeviation': 97.18526137567137, 'median': 78.0, 'mode': 250.0, 'skipX': 1, 'skipY': 1, 'count': 453120.0, 'covariances': '0.000000'}]. |
exportImage ({width}, {height}, {format}, {extent}, {spatial_reference}, {mosaic_rule})
Параметр | Описание | Тип данных |
width | The width of the output image in pixels. If a value is not specified, but the height is provided, the aspect ratio of the original raster will be maintained. If neither width nor height are specified, the width of the original raster dataset is used. (Значение по умолчанию — None) | Integer |
height | The height of the output image in pixels. If a value is not specified, but the width is provided, the aspect ratio of the original raster will be maintained. If neither width nor height are specified, the height of the original raster dataset is used. (Значение по умолчанию — None) | Integer |
format | The image format of the exported data. The supported formats include JPG, PNG, and PNG32. (Значение по умолчанию — PNG32) | String |
extent | The extent or bounding box of the exported image. If a value is not specified, the extent of the raster dataset is used. (Значение по умолчанию — None) | Extent |
spatial_reference | The spatial reference of the exported image. Supported options include the following:
(Значение по умолчанию — None) | SpatialReference |
mosaic_rule | Specifies how the input raster data should be mosaicked. This is applicable when the input raster dataset is a mosaic dataset. For information on how to format the mosaic rule, see Mosaic rule objects. (Значение по умолчанию — None) | Dictionary |
Тип данных | Описание |
Object | Экспортированное изображение в виде объекта IPython Image. |
fromSTACItem (stac_item, {request_params}, {context})
Параметр | Описание | Тип данных |
stac_item |
The URL of the STAC item or a pystac.Item object. The URL can be a static STAC item URL or a STAC API item URL, for example, "https://planetarycomputer.microsoft.com/api/stac/v1/collections/naip/items/tx_m_2609719_se_14_060_20201217". STAC items from the following STAC APIs are supported:
STAC items from the following static catalogs (and their underlying child catalogs) are supported:
| String |
request_params | The STAC item request parameters. These are therequests.get() method parameters and values in dictionary format. This parameter is honored when the stac_item parameter is a URL.
| Dictionary |
context | Additional properties to control the creation of the object. The dictionary supports the assetManagement and processingTemplate keys. The assetManagement key specifies how to manage and select assets for the RasterCollection object. If multiple assets are selected, the collection will be composed of multiband rasters from those selected asset types. The value can be a list, string, or dictionary. When working with individual assets, the asset key can be specified directly, for example, "B02" or {"key": "B02"}, or as a list. Each item in the list represents an asset key or identifier. Items in the list can be strings representing the asset key directly, or dictionaries providing additional details for locating the asset. If the value of the assetManagement key is a dictionary, the following keys are supported:
Examples:
The processingTemplate key specifies the processing template that will be applied to the raster. This is supported for selected collections and raster types. For more information about collections and raster types, see Satellite sensor raster types. The default for supported raster types is "Multiband"; otherwise, it's None. Example:
| Dictionary |
Тип данных | Описание |
Raster | Возвращается новый экземпляр этого класса. |
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 | Атрибутивная информация переменной. |
isConstant (constantValue)
Параметр | Описание | Тип данных |
constantValue | The value to evaluate for in the raster. | Double |
Тип данных | Описание |
Boolean | Значение Boolean, определяющее, содержит ли растр постоянное значение. |
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, извлекает шаблоны растровых функций из набора растровых данных и применяет шаблоны обработки.
import arcpy
#Create raster object
ras = arcpy.Raster(r"D:\Data\ndfd.crf")
#Define two raster function templates from the input CRF
ras.functions =[r"C:\weather.rft.xml", r"C:\heatindex.rft.xml"]
#Retrieve the first rft and process the raster object using the Apply function
rft = ras.functions
processed_raster = arcpy.ia.Apply(ras, json.dumps(rft[1]))
Создает объект 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")
Создает объект Raster из многомерного растрового набора данных и вычисляет статистику для переменной.
import arcpy
#Load a netCDF file as a multidimensional raster
mdim_raster = Raster("Precip_2000_2018.nc", True)
#Create an array that contains the corner coordinates for a bounding box
array = arcpy.Array([arcpy.Point(-119.8082436, 38.2177764), arcpy.Point(-119.7794812, 38.2038911), arcpy.Point(-119.7432803, 38.2232313), arcpy.Point(-119.7928706, 38.2425716)])
#Specify a spatial reference
spatial_reference = arcpy.SpatialReference(4326)
#Create a polygon object that will be used to specify the aoi
aoi= arcpy.Polygon(array, spatial_reference)
#return the statistics
stats = mdim_raster.computeStatistics('precip', aoi, cellsize = 463)
Создает объект Raster из элемента STAC.
from arcpy.ia import *
from arcpy import AIO
# 1) Creates a raster object from NAIP data accesible through Planetary Computer STAC API
naip_ras = Raster.fromSTACItem(
stac_item="https://planetarycomputer.microsoft.com/api/stac/v1/collections/naip/items/tx_m_2609719_se_14_060_20201217"
)
# Apply grayscale raster function to the raster object
gray_ras = Grayscale(naip_ras)
# 2) Creates a raster object from Sentinel-2 L2A data accesible through Earth Search STAC API
sentinel_2_ras = Raster.fromSTACItem(
stac_item="https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2A_45XWD_20230328_0_L2A"
)
# Retrieve raster object properties
cols, rows = sentinel_2_ras.width, sentinel_2_ras.height
# 3) Creates a raster object from Landsat C2-L2 data accesible through USGS
# LandsatLook STAC API (with custom processing template selection) - Requires acs (AIO object).
landsat_acs = AIO(r"C:\acs_files\s3_landsat_c2.acs")
qa_landsat_ras = Raster.fromSTACItem(
stac_item="https://landsatlook.usgs.gov/stac-server/collections/landsat-c2l2-sr/items/LC09_L2SP_088084_20230729_20230801_02_T2_SR",
context={
"processingTemplate": "QA",
},
)
# 4) Creates a raster object from CBERS data accesible through
# CBERS/AMAZONIA on AWS (static) STAC (with custom asset selection) - Requires acs (AIO object).
cbers_acs = AIO(r"C:\acs_files\s3_cbers_pds.acs")
cbers_ras = Raster.fromSTACItem(
stac_item="https://br-eo-stac-1-0-0.s3.amazonaws.com/CBERS4/MUX/043/076/CBERS_4_MUX_20230630_043_076_L2.json",
context={"assetManagement": ["B7", "B6", "B5"]},
)