Raster

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

Создает растровый объект, который можно использовать в 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
(только чтение)

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

  • 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 - формат растровых данных Tagged Image File 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
(только чтение)

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

  • 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, они не доступны для записи. Если задано False, они доступны для записи.

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

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

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

Указывает пространственную привязку экспортированного изображения. Поддерживаются следующие опции:

  • None
  • Тип данных SpatialReference
  • ICS или ICS:<object_id> в котором значение object_id указывает конкретный растр, система координат изображения которого будет использоваться.
Если значение не задано, будет использоваться пространственная привязка набора растровых данных.

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

getAllBandProperties (band_index)

Возвращает информацию об атрибутах всех свойств канала индекса канала.

getBandProperty (band_id_or_name, property_name)

Возвращает информацию об атрибуте указанного свойства канала индекса канала.

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 data type
  • ICS or ICS:<object_id>, where object_id selects the specific raster whose image coordinate system should be used.
If a value is not specified, the spatial reference of the raster dataset is used.

(Значение по умолчанию — 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:

  • https://planetarycomputer.microsoft.com/api/stac/v1—The following collections are supported: daymet-annual-pr, daymet-daily-hi, 3dep-seamless, 3dep-lidar-dsm, sentinel-1-rtc, gridmet, daymet-annual-na, daymet-monthly-na, daymet-annual-hi, daymet-monthly-hi, daymet-monthly-pr, hgb, cop-dem-glo-30, cop-dem-glo-90, terraclimate, gnatsgo-rasters, 3dep-lidar-hag, 3dep-lidar-intensity, 3dep-lidar-pointsourceid, mtbs, noaa-c-cap, alos-fnf-mosaic, 3dep-lidar-returns, mobi, landsat-c2-l2, chloris-biomass, daymet-daily-pr, 3dep-lidar-dtm-native, 3dep-lidar-classification, 3dep-lidar-dtm, gap, alos-dem, jrc-gsw, hrea, sentinel-2-l2a, daymet-daily-na, nrcan-landcover, ecmwf-forecast, noaa-mrms-qpe-24h-pass2, sentinel-1-grd, nasadem, io-lulc, landsat-c2-l1, drcog-lulc, chesapeake-lc-7, chesapeake-lc-13, chesapeake-lu, noaa-mrms-qpe-1h-pass1, noaa-mrms-qpe-1h-pass2, noaa-nclimgrid-monthly, usda-cdl, esa-cci-lc, esa-cci-lc-netcdf, noaa-climate-normals-netcdf, noaa-climate-normals-gridded, io-lulc-9-class, io-biodiversity, naip, noaa-cdr-sea-surface-temperature-whoi, noaa-cdr-ocean-heat-content, noaa-cdr-sea-surface-temperature-whoi-netcdf, sentinel-3-olci-wfr-l2-netcdf, noaa-cdr-ocean-heat-content-netcdf, sentinel-3-synergy-v10-l2-netcdf, sentinel-3-olci-lfr-l2-netcdf, sentinel-3-slstr-lst-l2-netcdf, sentinel-3-slstr-wst-l2-netcdf, sentinel-3-synergy-syn-l2-netcdf, sentinel-3-synergy-vgp-l2-netcdf, sentinel-3-synergy-vg1-l2-netcdf, and esa-worldcover, modis-64A1-061, modis-17A2H-061, modis-11A2-061, modis-17A2HGF-061, modis-17A3HGF-061, modis-09A1-061, modis-16A3GF-061, modis-21A2-061, modis-43A4-061, modis-09Q1-061, modis-14A1-061, modis-13Q1-061, modis-14A2-061, modis-15A2H-061, modis-11A1-061, modis-15A3H-061, modis-13A1-061, modis-10A2-061, modis-10A1-061, and aster-l1t.
  • https://earth-search.aws.element84.com/v0—All collections are supported.
  • https://earth-search.aws.element84.com/v1—All collections are supported.
  • https://services.sentinel-hub.com/api/v1/catalog—All collections are supported.
  • https://landsatlook.usgs.gov/stac-server—All collections are supported.
  • https://geoportalstac.azurewebsites.net/stac—All collections are supported.
  • https://gpt.geocloud.com/sentinel/stac —All collections 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.

{
"verify": False,
"headers": {"Authorization": "Bearer access_token_string"}
}
Dictionary
context

Additional properties that will be used 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:

  • key—A string representing the unique identifier for an asset, for example, "red".
  • path—A list representing the hierarchy of keys to navigate to the asset, for example, ["alternate", "s3"].
  • hrefKey—A string representing the key to access the asset URL, for example, "msft:https-url". If this value is different from the default href key, specify it here.

Examples:

{
    "assetManagement": [
        "red",
        "blue"
    ]
}
{
    "assetManagement": {
       "key": "tasmin",
       "hrefKey": "msft:https-url"
    }
}
{
    "assetManagement": [
       {"key": "TRAD",
        "path": ["alternate", "s3"]},
       {"key": "DRAD", 
        "path": ["alternate", "s3"]}
    ]
}

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:

{
    "processingTemplate": "Surface Reflectance"
}
Dictionary
Возвращаемое значение
Тип данныхОписание
Raster

Возвращается новый экземпляр этого класса.

Используйте функцию GetSTACInfo для сбора необходимой информации о STAC, которая затем может быть использована для создания объектов Raster с помощью этого метода.

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

The index number (1-based) of the band to be returned.

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

Все свойства указанного канала.

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

The name or index (1-based) of the band.

Integer
property_name

The name of the band property.

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

Значение, связанное со свойством для указанного канала.

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]}].

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

  • 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, извлекает шаблоны растровых функций из набора растровых данных и применяет шаблоны обработки.

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

Создает объект 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, пример 4

Создает объект 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, пример 5

Создает объект 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, пример 6

Создает объект 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"]},
)