Skip to main content

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

The input raster dataset or list of raster datasets.

When multiple multidimensional raster datasets are provided, the files will be interpreted as a single multidimensional dataset, with variables and dimensions unioned together. If two files contain the same variable with the same dimension values, the slices in the output raster will come from the first multidimensional raster in the list.

You can also specify a RasterInfo object as the value, which will create a new raster dataset on disk. In this case, the is_multidimensional input parameter will be ignored.

Raster

is_multidimensional

(Дополнительный)

Specifies whether the input raster will be treated as multidimensional. Specify True if the input is multidimensional and should be processed as multidimensional in which processing occurs for every slice in the dataset. Specify False if the input is not multidimensional, or if it is multidimensional and should not be processed as multidimensional.

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

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

Имя Объяснение Тип данных

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[locations,...], spatial_reference, {dem})

Возвращает значения x и y размера пиксела на земной поверхности (GSD) для входного изображения.

Имя Объяснение Тип данных

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[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[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})

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

Имя Объяснение Тип данных

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

Создает объект Raster из элемента SpatioTemporal Asset Catalog (STAC).

Имя Объяснение Тип данных

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/1.0.0/—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 the requests.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

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

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

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

getFileList()

Возвращает список вспомогательных файлов, связанных с объектом Raster.

Возвращаемое значение

Тип данных Объяснение

String

Вспомогательные файлы, связанные с объектом Raster.

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

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

Имя Объяснение Тип данных

band_ids_or_names[band_ids_or_names,...]

(Дополнительный)

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

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

String

Возвращаемое значение

Тип данных Объяснение

Raster

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

getRasterInfo()

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

Возвращаемое значение

Тип данных Объяснение

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

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

Имя Объяснение Тип данных

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

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

Имя Объяснение Тип данных

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)

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

Имя Объяснение Тип данных

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[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[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})

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

Имя Объяснение Тип данных

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

Пример кода

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.management.CreateRandomRaster("", "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"]},
)