RasterCollection

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

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

Обсуждение

Объект RasterCollection позволяет легко сортировать и фильтровать группу растров, а также готовит коллекцию для дополнительной обработки и анализа.

Объект RasterCollection включает шесть методов (max, min, median, mean, majority и sum) для вычисления статистики по каждому пикселу среди совпадающих каналов в пределах растров коллекции.

Например, метод sum добавляет значения пиксела из Канала 1 элемента растра 1 к значениям пиксела из Канала 1 элемента растра 2, а затем возвращает объект Raster, где Канал 1 содержит эти просуммированные значения.

Метод суммирования для класса RasterCollection

Синтаксис

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

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

List
attribute_dict

Словарь Python, который содержит атрибутивную информацию, добавляемую к каждому растру, когда входными данными является список растров. Для каждой пары ключ-значение, ключ - это имя атрибута, а значение - список значений, представляющих атрибутивное значение для каждого растра. Например, чтобы добавить именованное поле к списку из трех растров, используйте {"name": ["Landsat8_Jan", "Landsat8_Feb", "Landsat8_Mar"]}.

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

Dictionary

Свойства

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

Список имен полей, включенных в коллекцию растров.

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

Общее число элементов в коллекции растров.

Integer

Обзор метода

МетодОписание
addField (field_name, field_values)

В коллекцию растров добавляет новое поле и заполняет его значениями.

filter ({where_clause}, {query_geometry_or_extent})

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

filterByAttribute (field_name, operator, field_values)

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

Чтобы осуществить запрос к коллекции растров на основе поля времени, используйте метод filterByTime.

filterByCalendarRange (calendar_field, start, {end}, time_field_name, date_time_format)

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

filterByGeometry (query_geometry_or_extent)

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

filterByRasterProperty (property_name, operator, property_values)

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

filterByTime ({start_time}, {end_time}, {time_field_name}, {date_time_format})

Фильтрует коллекцию растровых элементов по временному диапазону и возвращает коллекцию растров, содержащих только элементы, удовлетворяющие условиям фильтра.

getFieldValues (field_name, {max_count})

Возвращает значения указанного поля из коллекции растров.

groupBy (field_name)

Группирует коллекцию растров на основе поля. Каждая сгруппированная коллекция растров доступна через значение поля.

majority ({ignore_nodata}, {extent_type}, {cellsize_type})

Возвращает растровый объект, в котором каждый канал содержит значение пиксела, встречающееся в этом канале всех растров коллекции наиболее часто.

Например, если в коллекции имеется 10 растровых элементов, каждый с четырьмя каналами, метод majority определит значение пиксела, которое наиболее часто встречается во всех растрах в канале 1, в канале 2, в канале 3 и в канале 4; возвращается четырехканальный растр. Номера каналов сопоставляются между растрами с помощью индекса канала, поэтому у элементов коллекции растров должен быть одинаковый порядок каналов.

map (func)

Применяет функцию Python к коллекции растров.

max ({ignore_nodata}, extent_type, cellsize_type)

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

Например, если в коллекции имеется 10 растровых элементов, каждый с четырьмя каналами, метод max вычислит максимальное значение пиксела, которое встречается во всех растрах в канале 1, в канале 2, в канале 3 и в канале 4; возвращается четырехканальный растр. Номера каналов сопоставляются между растрами с помощью индекса канала, поэтому у элементов коллекции растров должен быть одинаковый порядок каналов.

mean ({ignore_nodata}, {extent_type}, {cellsize_type})

Возвращает растровый объект, в котором каждый канал содержит средние значения пикселов, встречающееся в этом канале во всех растрах коллекции.

Например, если в коллекции имеется 10 растровых элементов, каждый с четырьмя каналами, метод mean вычислит среднее значение пиксела, которое встречается во всех растрах в канале 1, в канале 2, в канале 3 и в канале 4; возвращается четырехканальный растр. Номера каналов сопоставляются между растрами с помощью индекса канала, поэтому у элементов коллекции растров должен быть одинаковый порядок каналов.

median ({ignore_nodata}, {extent_type}, {cellsize_type})

Возвращает растровый объект, в котором каждый канал содержит медианные значения пикселов, встречающееся в этом канале во всех растрах коллекции.

Например, если в коллекции имеется 10 растровых элементов, каждый с четырьмя каналами, метод median вычислит медианное значение пиксела, которое встречается во всех растрах в канале 1, в канале 2, в канале 3 и в канале 4; возвращается четырехканальный растр. Номера каналов сопоставляются между растрами с помощью индекса канала, поэтому у элементов коллекции растров должен быть одинаковый порядок каналов.

merge (collection2)

Возвращает объединенную коллекцию растров, включающую все растры из двух коллекций растров.

min ({ignore_nodata}, {extent_type}, {cellsize_type})

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

Например, если в коллекции имеется 10 растровых элементов, каждый с четырьмя каналами, метод min вычислит минимальное значение пиксела, которое встречается во всех растрах в канале 1, в канале 2, в канале 3 и в канале 4; возвращается четырехканальный растр. Номера каналов сопоставляются между растрами с помощью индекса канала, поэтому у элементов коллекции растров должен быть одинаковый порядок каналов.

mosaic ({mosaic_method})

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

qualityMosaic (quality_rc_or_list, {statistic_type})

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

reduce (func, {func_args})

Возвращает растровый объект, в котором все изображения коллекции собираются в одно изображение, основанное на функции редуктора.

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

selectBands (band_ids_or_names)

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

sort (field_name, {ascending})

Сортирует коллекцию растров по имени поля и возвращает коллекцию растров в заданном порядке.

std ({ignore_nodata}, {extent_type}, {cellsize_type})

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

Например, если в коллекции имеется 10 растровых элементов с четырьмя каналами, метод std вычислит значение стандартного отклонения пиксела, которое встречается во всех растрах в каналах 1, 2, 3 и 4; возвращается четырехканальный растр. Номера каналов сопоставляются между растрами с помощью индекса канала, поэтому у элементов коллекции растров должен быть одинаковый порядок каналов.

sum ({ignore_nodata}, {extent_type}, {cellsize_type})

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

Например, если в коллекции имеется 10 растровых элементов, каждый с четырьмя каналами, метод sum вычислит сумму значений пикселов, которые встречаются во всех растрах в канале 1, в канале 2, в канале 3 и в канале 4; возвращается четырехканальный растр. Номера каналов сопоставляются между растрами с помощью индекса канала, поэтому у элементов коллекции растров должен быть одинаковый порядок каналов.

summarizeField (field_name, {summary_type})

Суммирует объекты конкретного поля для коллекции растров.

toMultidimensionalRaster (variable_field_name, dimension_field_names)

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

Методы

addField (field_name, field_values)
ПараметрОписаниеТип данных
field_name

The name of the field to be added.

String
field_values
[field_values,...]

The list of values associated with the field name. The length of the list should match the number of items in the raster collection.

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

Коллекция растров, содержащая новое поле.

filter ({where_clause}, {query_geometry_or_extent})
ПараметрОписаниеТип данных
where_clause

Выражение, которое ограничивает возвращаемые записи. Более подробно о выражении WHERE и об условиях SQL см. в разделе Справочник по SQL для выражений запросов, применяемых в ArcGIS.

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

String
query_geometry_or_extent

Объект, который фильтрует элементы, например, возвращаются только те, которые пересекают объект.

Задается с помощью объекта Geometry, Extent, Raster или пути к классу объектов.

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

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

Коллекция растров, удовлетворяющая условиям запроса атрибутов или геометрии.

filterByAttribute (field_name, operator, field_values)
ПараметрОписаниеТип данных
field_name

Имя поля, использующегося в фильтре.

String
operator

Ключевое слово для фильтрации атрибутов. Ключевые слова включают следующее:

  • CONTAINSАтрибут в поле содержит указанную строку, список или число.
  • ENDS_WITHАтрибут заканчивается указанной строкой или числом.
  • EQUALSАтрибут равен указанной строке, списку или числу.
  • GREATER_THANАтрибут больше указанного значения.
  • INАтрибут является одним из элементов в указанном списке.
  • LESS_THANАтрибут меньше указанного значения.
  • NOT_CONTAINSАтрибут не содержит указанную строку, список или число.
  • NOT_ENDS_WITHАтрибут не заканчивается указанной строкой или числом.
  • NOT_EQUALSАтрибут не равен указанной строке, списку или числу.
  • NOT_GREATER_THANАтрибут не больше указанного значения.
  • NOT_INАтрибут не является одним из элементов в указанном списке.
  • NOT_LESS_THANАтрибут не меньше указанного значения.
  • NOT_STARTS_WITHАтрибут не начинается указанной строкой или числом.
  • STARTS_WITHАтрибут начинается указанной строкой или числом.
String
field_values
[field_values,...]

Значение или значения атрибута для сравнения. Могут быть заданы как строка, список или число.

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

Коллекция растров, удовлетворяющая условиям атрибутивного запроса.

filterByCalendarRange (calendar_field, start, {end}, time_field_name, date_time_format)
ПараметрОписаниеТип данных
calendar_field

The name of the calendar field. Specify one of the following: HOUR, DAY_OF_WEEK, DAY_OF_MONTH, DAY_OF_YEAR, WEEK_OF_YEAR, MONTH, YEAR, or QUARTER.

String
start

The start value of the calendar_field. For example, to filter all items that were collected in January, filtered_rc = rc.filterByCalendarRange(calendar_field="MONTH", start=1).

Integer
end

The end value of the calendar_field. For example, to filter all items that were collected in the first five days of each year, filtered_rc = rc.filterByCalendarRange(calendar_field="DAY_OF_YEAR", start=1, end=5).

Integer
time_field_name

The name of the field that contains the time attribute for each item in the collection. The default is StdTime.

String
date_time_format

The time format of the values in the time field. For example, if the input date and time value is "1990-01-31T00:00:00", the date_time_format is "%Y-%m-%dT%H:%M:%S". If only the date value is required, date_time_format can be specified as "%Y-%m-%d".

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

Коллекция растров, удовлетворяющая запросу временного диапазона.

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

Объект, который фильтрует элементы, например, возвращаются только те, которые пересекают объект. Задается с помощью объекта Geometry, Extent, Raster или пути к классу объектов.

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

Коллекция растров, удовлетворяющая условиям фильтра геометрии.

filterByRasterProperty (property_name, operator, property_values)
ПараметрОписаниеТип данных
property_name

Имя свойства для использования в фильтре.

String
operator

Оператор для фильтрации свойств.

  • CONTAINSСвойство содержит указанную строку, список или число.
  • ENDS_WITHСвойство заканчивается указанной строкой или числом.
  • EQUALSСвойство равно указанной строке, списку или числу.
  • GREATER_THANСвойство больше указанного значения.
  • INСвойство является одним из элементов в указанном списке.
  • LESS_THANСвойство меньше указанного значения.
  • NOT_CONTAINSСвойство не содержит указанную строку, список или число.
  • NOT_ENDS_WITHСвойство не заканчивается указанной строкой или числом.
  • NOT_EQUALSСвойство не равен указанной строке, списку или числу.
  • NOT_GREATER_THANСвойство не больше указанного значения.
  • NOT_INСвойство не является одним из элементов в указанном списке.
  • NOT_LESS_THANСвойство не меньше указанного значения.
  • NOT_STARTS_WITHСвойство не начинается указанной строкой или числом.
  • STARTS_WITHСвойство начинается указанной строкой или числом.
String
property_values
[property_values,...]

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

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

Коллекция растров, удовлетворяющая условиям запроса свойств.

filterByTime ({start_time}, {end_time}, {time_field_name}, {date_time_format})
ПараметрОписаниеТип данных
start_time

Строка, задающая время начала. Формат строки должен соответствовать формату даты входных коллекций растров, например, "1990-01-01T13:30:00". Если не задано, необходимо задать время окончания, тогда будут возвращены элементы, содержащие значение времени до или равное времени окончания.

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

String
end_time

Строка, задающая время окончания. Формат строки должен соответствовать формату даты входных коллекций растров, например, "1991-01-01T13:30:00". Если не задано, необходимо задать время начала, тогда будут возвращены элементы, содержащие значение времени после или равное времени начала.

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

String
time_field_name

Имя поля, содержащего атрибут времени для каждого элемента в коллекции.

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

String
date_time_format

Формат значений start_time и end_time. Например, если предоставленное значение start_time – "1990-01-31", date_time_format – это "%Y-%m-%d." Для дат, включающих компонент времени, например, "1990-01-31T00:00:00", формат по умолчанию – "%Y-%m-%dT%H:%M:%S".

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

Коллекция растров, удовлетворяющая фильтру временного диапазона.

getFieldValues (field_name, {max_count})
ПараметрОписаниеТип данных
field_name

Имя поля, из которого извлекаются значения.

String
max_count

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

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

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

Список значений для заданного поля.

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

The name of the field. Items with the same field values will be grouped together.

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

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

majority ({ignore_nodata}, {extent_type}, {cellsize_type})
ПараметрОписаниеТип данных
ignore_nodata
[ignore_nodata,...]

Specifies whether NoData values are ignored.

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

Boolean
extent_type

Computes the extent of the output raster object when the input rasters have different extents.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

String
cellsize_type

Computes the cell size of the output raster object when the input rasters have different cell sizes.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

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

Растр, в котором каждый канал содержит наиболее частое значение пиксела, встречающееся в данном канале всех растров коллекции.

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

Функция Python, применяемая к коллекции растров. Значение, возвращаемое функцией, должно быть словарем, в котором один из ключей равен raster. Например, {"raster": output_raster_object, "name": input_item_name["name"]}.


def NDVI(item):
    """Define a Python function to calculate NDVI"""
    # Create the raster object from the item
    raster_obj = item['Raster']
    # Create raster objects for the red and NIR bands
		  red, nir = raster_obj.getRasterBands(["red", "nir"])
    # Compute NDVI
    ndvi = (nir-red)/(nir+red)
    return {"raster": ndvi, "name": item['Name'], "stdTime": item['AcquisitionDate']}
ndvi_rc = rc.map(NDVI)

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

Растровая коллекция, каждый элемент которой содержит растр с примененной функцией и присоединенными атрибутами.

max ({ignore_nodata}, extent_type, cellsize_type)
ПараметрОписаниеТип данных
ignore_nodata
[ignore_nodata,...]

Specifies whether NoData values are ignored.

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

Boolean
extent_type

Computes the extent of the output raster object when the input rasters have different extents.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent using the extent of the last input raster.
  • LastOfDefines the output extent using the extent of the last input raster.

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

String
cellsize_type

Computes the cell size of the output raster object when the input rasters have different cell sizes.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

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

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

mean ({ignore_nodata}, {extent_type}, {cellsize_type})
ПараметрОписаниеТип данных
ignore_nodata
[ignore_nodata,...]

Specifies whether NoData values are ignored.

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

Boolean
extent_type

Computes the extent of the output raster object when the input rasters have different extents.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the total extent of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

String
cellsize_type

Computes the cell size of the output raster object when the input rasters have different cell sizes.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

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

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

median ({ignore_nodata}, {extent_type}, {cellsize_type})
ПараметрОписаниеТип данных
ignore_nodata
[ignore_nodata,...]

Specifies whether NoData values are ignored.

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

Boolean
extent_type

Computes the extent of the output raster object when the input rasters have different extents.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

String
cellsize_type

Computes the extent of the output raster object when the input rasters have different extents.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

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

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

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

The raster collection to be merged.

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

Объединенная коллекция растров.

min ({ignore_nodata}, {extent_type}, {cellsize_type})
ПараметрОписаниеТип данных
ignore_nodata
[ignore_nodata,...]

Specifies whether NoData values are ignored.

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

Boolean
extent_type

Computes the extent of the output raster object when the input rasters have different extents.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

String
cellsize_type

Computes the cell size of the output raster object when the input rasters have different cell sizes.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

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

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

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

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

  • FIRST Определяет значение пиксела из первого перекрывающегося набора растровых данных.
  • LASTОпределяет значение пиксела из последнего перекрывающегося набора растровых данных.
  • MEANОпределяет среднее значение пикселов из двух перекрывающихся растров.
  • MINIMUMОпределяет наименьшее значение пиксела из двух перекрывающихся наборов растровых данных.
  • MAXIMUMОпределяет наибольшее значение пиксела из двух перекрывающихся наборов растровых данных.
  • SUMОпределяет сумму значений пикселов из двух перекрывающихся растров.

Дополнительные сведения о методах построения мозаики, см. в разделе Операторы мозаики.

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

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

Набор растровых данных с растровыми элементами из коллекции, собранными в мозаику.

qualityMosaic (quality_rc_or_list, {statistic_type})
ПараметрОписаниеТип данных
quality_rc_or_list

Растровая коллекция или список растров, использующиеся как индикаторы качества.

Например, Band 1 из Landsat 8 - это канал Coastal/Aerosol, который может использоваться для определения концентрации в атмосфере мелкодисперсных аэрозольных частиц, таких как дым или туман. Для коллекции изображений Landsat 8, используйте метод selectBands для возврата объекта RasterCollection, содержащего только Band 1 из каждого растрового элемента. Число растровых элементов в quality_rc_or_list должно соответствовать числу элементов в коллекции растров, по которой строится мозаика.

RasterCollection
statistic_type

Статистика, используемая для сравнения входной коллекции или списка растров качества.

  • MAXМаксимальное значение пиксела во входных растрах качества будет значением пиксела выходного растра. Используется по умолчанию.
  • MEDIANМедианное значение пиксела во входных растрах качества будет значением пиксела выходного растра.
  • MINМинимальное значение пиксела во входных растрах качества будет значением пиксела выходного растра.

Например, для построения мозаики по коллекции входных растров, таких как упоминалось ранее, с минимальной концентрацией аэрозолей наверху, используйте статистику MIN.

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

Набор растровых данных с растровыми элементами из коллекции, собранными в мозаику.

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

The function used to reduce the raster collection. This argument also accepts a custom reducer function.

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

String
func_args

A dictionary that contains additional parameters for the reducer function.

rc = RasterCollection("<data path>")
max_raster = rc.reduce(func=Max, func_args={'extent_type': 'UnionOf', 
                                            'cellsize_type': 'MinOf', 
                                            'ignore_nodata': True, 
                                            'process_as_multiband': True})

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

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

Коллекция растров, удовлетворяющая методу редуктора.

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

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

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

Коллекция растров, содержащих только выделенные каналы.

sort (field_name, {ascending})
ПараметрОписаниеТип данных
field_name

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

String
ascending

Указывает порядок сортировки – по возрастанию или по убыванию.

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

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

Коллекция элементов растров после сортировки.

std ({ignore_nodata}, {extent_type}, {cellsize_type})
ПараметрОписаниеТип данных
ignore_nodata
[ignore_nodata,...]

Specifies whether NoData values are ignored.

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

Boolean
extent_type

Computes the extent of the output raster object when the input rasters have different extents.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the total extent of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

String
cellsize_type

Computes the cell size of the output raster object when the input rasters have different cell sizes.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.

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

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

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

sum ({ignore_nodata}, {extent_type}, {cellsize_type})
ПараметрОписаниеТип данных
ignore_nodata
[ignore_nodata,...]

Specifies whether NoData values are ignored.

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

Boolean
extent_type

Computes the extent of the output raster object when the input rasters have different extents.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.
String
cellsize_type

Computes the cell size of the output raster object when the input rasters have different cell sizes.

  • FirstOfDefines the output extent using the extent of the first input raster.
  • IntersectionOfDefines the output extent as the intersecting area of the input rasters.
  • UnionOfDefines the output extent as the total extent of the input rasters.
  • LastOfDefines the output extent using the extent of the last input raster.
String
Возвращаемое значение
Тип данныхОписание
Raster

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

summarizeField (field_name, {summary_type})
ПараметрОписаниеТип данных
field_name

The field name to summarize.

String
summary_type
[summary_type,...]

The summary methods to calculate for the selected field. One or more methods can be specified.

  • COUNTCalculates the number of non-null values of the selected field.
  • COUNT_DISTINCTCalculates the number of distinct values of the selected field.
  • FIRSTCalculates the field value of the first object in the collection.
  • HISTOGRAMCalculates a histogram of the selected field.
  • MAXCalculates the maximum of the values of the selected field.
  • MEANCalculates the mean of the selected field.
  • MINCalculates the minimum of the values of the selected field.
  • PRODUCTCalculates the product of the values of the selected field.
  • SAMPLE_SDCalculates the sample standard deviation of the values of the selected field.
  • SAMPLE_VARCalculates the sample variance of the values of the selected field.
  • SUMCalculates the sum of the values of the selected field.
  • TOTAL_SDCalculates the total standard deviation of the values of the selected field.
  • TOTAL_VARCalculates the total variance of the values of the selected field.
  • ALLCalculates all the above statistics of the selected field.

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

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

Словарь методов и значений.

toMultidimensionalRaster (variable_field_name, dimension_field_names)
ПараметрОписаниеТип данных
variable_field_name

Имя поля, которое содержит имена переменных.

String
dimension_field_names
[dimension_field_names,...]

Имя поля или полей, которые содержат имена размерностей. Может быть задано одной строкой или списком строк.

Для измерений, связанных со временем, имя поля должно соответствовать одному из следующих примеров, чтобы оно распознавалось как поле времени: StdTime, Date, Time или AcquisitionDate. Для измерений, не связанных со временем, значения в таких полях должны быть типа Double. Если имеется два или более измерения, используйте запятую для разделения полей (например, dimension_field_names = ["Time", "Depth"]).

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

Многомерный растровый объект. Каждый элемент коллекции растров является срезом в многомерном растре.

Пример кода

Пример RasterCollection 1 (окно Python)

Создает коллекцию растров из набора данных мозаики и фильтрует эту коллекцию по дате.

# Import system modules
import arcpy
from arcpy.ia import *

# Construct a collection from a mosaic dataset
rc = RasterCollection(r'C:\data.gdb\time_series_landsat_images')

# Filter the collection to extract all images before year 2009
filtered_rc = rc.filterByTime(end_time = '2009-01-01T00:00:00', 
	time_field_name = 'AcquisitionDate')

# Return the dates in the filtered collection
dates = filtered_rc.getFieldValues('AcquisitionDate')
Пример RasterCollection 2 (окно Python)

Создает коллекцию растров из набора данных мозаики и фильтрует эту коллекцию по геометрии.

# Import system modules
import arcpy
from arcpy.ia import *

# Construct a collection from a mosaic dataset
rc = RasterCollection(r'C:\data.gdb\time_series_landsat_images')

# Define line geometry 
line = arcpy.Polyline(arcpy.Array([arcpy.Point(54.9243963, 23.9279934), 
	arcpy.Point(55.29, 25.6)]),arcpy.SpatialReference(4326))

# Filter the collection to extract images that intersect with line geometry
filtered_rc = rc.filterByGeometry(line)

# Return the total number of items in the filtered collection
count = filtered_rc.count
Пример RasterCollection 3 (автономный скрипт)

Создает коллекцию растров из набора данных мозаики и фильтрует эту коллекцию по атрибуту.

# Name: RasterCollection_Ex_03.py
# Description: Generates a raster collection from a mosaic dataset and
#	filters by an attribute field
# Requirements: ArcGIS Image Analyst 

# Import system modules
import arcpy
from arcpy.ia import *

# Define arguments
mosaic_dataset = r'C:\data.gdb\time_series_landsat_images'

# Construct a collection from a mosaic dataset
rc = RasterCollection(mosaic_dataset)

# Filter the collection to extract only images from Landsat 7
Landsat7_rc = rc.filterByAttribute("SensorName", "contain", "Landsat7")

# Return the names of the sensors in the filtered collection to double confirm
sensors= Landsat7_rc.getFieldValues(field_name)
Пример RasterCollection 4 (окно Python)

Создает коллекцию растров из списка растров с NDVI, затем возвращает максимальные значения NDVI для каждого пиксела во всей коллекции.

# Import system modules
import arcpy
from arcpy.ia import *
from arcpy import env

# Set workspace
arcpy.env.workspace = "C:/Data/NDVI"

# Get the list of tiff files from the workspace
NDVI_tiff_list = arcpy.ListRasters("*", "TIF")

# Generate a list of raster file names without the .tif extension 
name_list = []
for NDVI in NDVI_tiff_list:
    name_list.append(NDVI.replace(".tif","")

# Construct a collection from the list of raster file names
rc = RasterCollection(NDVI_tiff_list, {'name':name_list})

# Return a raster object where every pixel contains the 
# maximum value of that pixel over the entired NDVI raster collection
max_NDVI_rc = rc.max()

# Save the new raster object
max_NDVI_rc.save(r'C:\output\max_NDVI_raster.tif')
Пример RasterCollection 5 (окно Python)

Сопоставляет функцию Python с коллекцией растров для создания новой коллекции.

# Import system modules
import arcpy
from arcpy.ia import *

arcpy.CheckOutExtension("ImageAnalyst")

# Construct a collection from a mosaic dataset
rc = RasterCollection(r'C:\Data.gdb\Landsat8_TimeSeries')

# Define a Python function to calculate the Soil Adjusted Vegetation Index (SAVI) 
def SAVI(item):
	# Get the raster object from the item
	raster = item['Raster']
	# Get the raster objects for the NIR and Red bands
	Red_band, NIR_band = raster.getRasterBands(["red","nir"])
	# Compute the index
	savi_index = ((1.5 * (NIR_band - Red_band))/(NIR_band + Red_band + 0.5))
	return{"raster": savi_index, "name": "Soil_Adjusted_Vegetation_Index", "StdTime":item['AcquisitionDate']}
	
# Run the Python function over the raster collection and generate a new collection
SAVI_rc = rc.map(SAVI)

# save it as a multidimensional raster
mdim_raster = SAVI_rc.toMultidimensionalRaster(variable_field_name = "name", dimension_field_names = "StdTime")
mdim_raster.save(r'C:\output\time_series_SAVI_raster.crf')