當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python ArcGIS aggregate_multidimensional_raster用法及代碼示例


本文簡要介紹 python 語言中 arcgis.raster.analytics.aggregate_multidimensional_raster 的用法。

用法:

arcgis.raster.analytics.aggregate_multidimensional_raster(input_multidimensional_raster, dimension=None, variables=None, aggregation_method='MEAN', aggregation_definition='ALL', interval_keyword=None, interval_value=None, interval_unit=None, interval_ranges=None, aggregation_function=None, ignore_nodata=True, output_name=None, context=None, dimensionless=False, percentile_value=90, percentile_interpolation_type='NEAREST', *, gis=None, future=False, **kwargs)

返回:

output_raster:影像圖層項目

通過沿維度聚合現有多維柵格變量來生成多維影像服務。 ArcGIS Image Server 10.8 及更高版本中可用的函數。

Parameter

Description

input_multidimensional_raster

必需的 ImageryLayer 對象。輸入多維柵格。傳送門物品可以通過。

dimension

必需的字符串。聚合維度。這是聚合變量的維度。

variables

可選列表。將沿給定維度聚合的一個或多個變量。如果未指定變量,則將聚合具有所選維度的所有變量。

例如,要將每日溫度數據聚合為每月平均值,請將溫度指定為要聚合的變量。如果您未指定任何變量並且同時具有每日溫度和每日降水量變量,則這兩個變量將聚合為月平均值,並且輸出多維柵格將包含這兩個變量。

aggregation_method

可選字符串。指定將用於在間隔中組合聚合切片的數學方法。

  • MEAN:計算區間內所有切片的像素值的平均值。這是默認設置。

  • MAXIMUM:計算區間內所有切片的像素最大值。

  • MAJORITY:計算間隔內所有切片中像素出現頻率最高的值。

  • MINIMUM:計算區間內所有切片的像素最小值。

  • MINORITY:計算間隔內所有切片中像素出現頻率最低的值。

  • MEDIAN:計算區間內所有切片的像素中值。

  • PERCENTILE:像素值的百分位數將在間隔中的所有切片上計算。默認情況下計算第 90 個百分位數。您可以使用 percentile_value 參數指定其他值(從 0 到 100)。

  • RANGE:計算區間內所有切片的像素值範圍。

  • STD:計算區間內所有切片的像素值的標準差。

  • SUM:計算區間內所有切片的像素值之和。

  • VARIETY:計算區間內所有切片中像素唯一值的數量。

  • CUSTOM:根據自定義柵格函數計算像素值。當 aggregation_method 設置為 CUSTOM 時,aggregation_function 參數變為可用。

aggregation_definition

可選字符串。指定將聚合數據的維度間隔。

  • ALL:數據值將在所有切片中聚合。這是默認設置。

  • INTERVAL_KEYWORD:變量數據將使用眾所周知的間隔進行聚合。

  • INTERVAL_VALUE:變量數據將使用用戶指定的間隔和單位進行聚合。

  • INTERVAL_RANGES:變量數據將在指定的值或日期對之間聚合。

interval_keyword

可選字符串。指定沿維度聚合時將使用的關鍵字間隔。當aggregation_definition參數設置為INTERVAL_KEYWORD時需要該參數,並且聚合必須是跨時間的。

  • HOURLY:數據值將聚合到每小時的時間步長中,結果將包括時間序列中的每小時。

  • DAILY:將數據值聚合為每日時間步長,結果將包括時間序列中的每一天。

  • WEEKLY:數據值將聚合為每周時間步長,結果將包括時間序列中的每周。

  • DEKADLY:將每個月分為 3 個時段,每個時段 10 天(最後一個時段可能多於或少於 10 天),每個月將輸出 3 個切片。

  • PENTADLY:將每個月分為 6 個時段,每個時段 5 天(最後一個時段可能多於或少於 5 天),每個月將輸出 6 個切片。

  • MONTHLY:數據值將聚合到每月時間步長中,結果將包括時間序列中的每個月。

  • QUARTERLY:數據值將聚合為季度時間步長,結果將包括時間序列中的每個季度。

  • YEARLY:數據值將聚合到每年的時間步長中,結果將包括時間序列中的每一年。

  • RECURRING_DAILY:將數據值聚合成每日時間步長,結果包括每天每個聚合值。輸出最多包括 366 個每日時間片

  • RECURRING_WEEKLY:數據值將聚合到每周的時間步長中,結果將包括每周一個聚合值。輸出將最多包括 53 個每周時間片。

  • RECURRING_MONTHLY:數據值將被聚合到每周的時間步長中,結果將包括每個月的一個聚合值。輸出將包括最多 12 個每月時間片。

  • RECURRING_QUARTERLY:數據值將聚合到每周的時間步長中,結果將包括每季度一個聚合值。輸出最多包括 4 個季度時間片。

interval_value

可選字符串。將用於聚合的間隔大小。當aggregation_definition 參數設置為INTERVAL_VALUE 時需要此參數。

例如,要將 30 年的每月溫度數據匯總為 5 年增量,請輸入 5 作為 interval_value,並將 interval_unit 指定為 YEARS。

interval_unit

可選整數。將用於間隔值的單位。當維度參數設置為時間字段且aggregation_definition參數設置為INTERVAL_VALUE時,需要此參數。

如果您要聚合除時間以外的任何內容,則此選項將不可用,並且間隔值的單位將與輸入多維柵格數據的可變單位相匹配。

  • HOURS:數據值將按提供的間隔聚合到每小時的時間片中。

  • DAYS:數據值將按提供的間隔聚合到每日時間片中。

  • WEEKS:數據值將按提供的間隔聚合到每周時間片中。

  • MONTHS:數據值將按提供的時間間隔聚合到每月時間片中。

  • 年:數據值將按提供的時間間隔聚合到年度時間片中。

interval_ranges

字典對象的可選列表。指定為將用於聚合值組的字典對象列表的間隔範圍。

當aggregation_definition參數設置為INTERVAL_RANGE時,需要此參數。如果維度為 StdTime,則必須以人類可讀的時間格式 (YYYY-MM-DDTHH:MM:SS) 指定該值。

用法:

[{“minValue”:”<min value>”,”maxValue”:”<max value>”}, {“minValue”:”<min value>”,”maxValue”:”<max value>”}]

例子:

[{“minValue”:”2012-01-15T03:00:00”,”maxValue”:”2012-01-15T09:00:00”}, {“minValue”:”2012-01-15T12:00:00”,”maxValue”:”2012-01-15T21:00:00”}]

aggregation_function

來自門戶的可選 RFT dict 對象或光柵函數模板項目。用於計算聚合柵格的像素值的自定義柵格函數。

當aggregation_method 參數設置為 CUSTOM 時,此參數是必需的。

ignore_nodata

可選布爾值。指定在分析中是否忽略 NoData 值。

  • True:分析將包括沿給定維度的所有有效像素,並忽略任何 NoData 像素。這是默認設置。

  • 錯誤:如果沿給定維度的像素有任何 NoData 值,則分析將導致 NoData。

dimensionless

可選布爾值。指定圖層是否具有尺寸值。如果選擇單個切片以創建圖層,則此參數僅處於活動狀態。

  • True:圖層將沒有維度值。

  • False:圖層將具有維度值。這是默認設置。

ArcGIS Image Server 10.9.1 及更高版本中可用的參數。

percentile_value

可選浮點數。要計算的百分位數。默認值為 90,表示第 90 個百分位數。

值的範圍可以從 0 到 100。第 0 個百分位數本質上相當於最小統計量,第 100 個百分位數相當於最大值。值 50 將產生與中位數統計量基本相同的結果。

僅當aggregation_method 參數設置為 PERCENTILE 時,此選項才有效。

ArcGIS Image Server 10.9.1 及更高版本中可用的參數。

例子:

90

percentile_interpolation_type

可選字符串。指定當輸入柵格中有偶數個要計算的值時將使用的百分位插值方法

  • NEAREST:將使用最接近所需百分位數的可用值。在這種情況下,輸出像素類型將與輸入值柵格的像素類型相同。這是默認設置

  • LINEAR :將使用來自所需百分位數的兩個周圍值的加權平均值。在這種情況下,輸出像素類型將是浮點數。

ArcGIS Image Server 10.9.1 及更高版本中可用的參數。

例子:

NEAREST

output_name

可選字符串。如果未提供,則由該方法創建影像服務並將其用作輸出柵格。您可以從 GIS 中傳入現有的影像服務項目來使用它。

或者,您可以傳入應通過此方法創建的輸出圖像服務的名稱,以用作工具的輸出。

如果該名稱的服務已經存在,則會引發 RuntimeError

context

context 包含影響任務執行的其他設置。

context 參數覆蓋通過arcgis.env 參數設置的值

此函數具有以下設置:

  • Extent(範圍):定義分析區域的邊界框。

    例子:

    {“extent”: {“xmin”: -122.68,
    “ymin”: 45.53,
    “xmax”: -122.45,
    “ymax”: 45.6,
    “spatialReference”: {“wkid”: 4326}}}
  • 輸出空間參考 (outSR):輸出柵格將投影到輸出空間參考中。

    例子:

    {“outSR”: {spatial reference}}

  • 捕捉柵格 (snapRaster):輸出柵格的像元將與指定的捕捉柵格對齊。

    例子:

    {‘snapRaster’: {‘url’: ‘<image_service_url>’}}

  • 像元大小(cellSize):輸出柵格將具有由像元大小指定的分辨率。

    例子:

    {‘cellSize’: 11} or {‘cellSize’: {‘url’: <image_service_url>}} or {‘cellSize’: ‘MaxOfIn’}

  • 並行處理因子(parallelProcessingFactor):控製光柵處理(CPU)服務實例。

    例子:

    具有指定數量的處理實例的語法示例:

    {“parallelProcessingFactor”: “2”}

    具有指定百分比的總處理實例的語法示例:

    {“parallelProcessingFactor”: “60%”}

gis

僅關鍵字參數。可選的 GIS 對象。運行該工具的 GIS。如果未指定,則使用活動 GIS。

future

僅關鍵字參數。可選布爾值。如果為 True,則結果將是一個 GPJob 對象,並且結果將異步返回。

folder

僅關鍵字參數。可選的 str 或 dict。使用給定的文件夾名稱在門戶中創建一個文件夾(如果不存在),並將輸出保留在此文件夾中。 create_folder() 返回的字典也可以作為輸入傳入。

例子:

{‘username’: ‘user1’,
‘id’: ‘6a3b77c187514ef7873ba73338cf1af8’,
‘title’: ‘trial’}

tiles_only

僅關鍵字參數。可選的布爾值。在ArcGIS Online 中,此函數的默認輸出影像服務將是平鋪影像圖層。

要在 ArcGIS Online 上創建動態影像圖層作為輸出,請將 tiles_only 參數設置為 False。

函數將不支持ArcGIS Enterprise 中的tiles_only 參數,默認情況下會生成動態影像圖層。

示例 1:

# Usage Example 1: This example aggregates temperature data into yearly data with the average temperature values.

agg_multi_dim = aggregate_multidimensional_raster(input_multidimensional_raster=multidimensional_lyr_input,
                                                  variables=["temperature"],
                                                  dimension="StdTime",
                                                  aggregation_method="MAXIMUM",
                                                  aggregation_definition="INTERVAL_KEYWORD",
                                                  interval_keyword="YEARLY",
                                                  interval_value=None,
                                                  output_name="yearly_temp",
                                                  ignore_nodata=True,
                                                  gis=gis,
                                                  folder="aggregate_mdim_raster")

示例 2:

# Usage Example 2: This example aggregates temperature data into hourly data with the average temperature values for multiple variables.

agg_multi_dim = aggregate_multidimensional_raster(input_multidimensional_raster=multidimensional_lyr_input,
                                                  variables=["cceiling","ccover","gust","temperature"],
                                                  dimension="StdTime",
                                                  aggregation_method="MEAN",
                                                  aggregation_definition="INTERVAL_VALUE",
                                                  interval_value=3,
                                                  interval_unit="HOURS",
                                                  output_name="hourly_data",
                                                  ignore_nodata=True,
                                                  gis=gis,
                                                  folder={'username': 'user1', 'id': '6a3b77c187514ef7873ba73338cf1af8', 'title': 'aggregate_mdim_raster'})

示例 3:

# Usage Example 3: This example aggregates temperature data using a custom aggregation function for multiple variables. This example uses aggregation function
# uploaded as a Raster Function Template item on portal.

agg_multi_dim = aggregate_multidimensional_raster(input_multidimensional_raster=multidimensional_lyr_input,
                                                  variables=["temperature"],
                                                  dimension="StdTime",
                                                  aggregation_method="CUSTOM",
                                                  aggregation_definition="INTERVAL_RANGES",
                                                  interval_ranges=[{"minValue":"2012-01-15T03:00:00","maxValue":"2012-01-15T09:00:00"},{"minValue":"2012-01-15T12:00:00","maxValue":"2012-01-15T21:00:00"}],
                                                  aggregation_function=rft_item,
                                                  output_name="temp_range4",
                                                  ignore_nodata=True,
                                                  gis=gis)

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.raster.analytics.aggregate_multidimensional_raster。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。