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


Python ArcGIS classify用法及代碼示例


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

用法:

arcgis.raster.analytics.classify(input_raster, input_classifier_definition, additional_input_raster=None, output_name=None, context=None, *, gis=None, future=False, **kwargs)

返回:

output_raster:影像圖層項目

ra_classify.png

分類函數將根據輸入柵格和從 train_classifier 函數生成的分類器定義字典創建像素類別。

Parameter

Description

input_raster

必需的 ImageryLayer 對象。

input_classifier_definition

必需的字典。

從train_classifier 函數生成的分類器定義字典。

例子:

{“EsriClassifierDefinitionFile”:0,
“FileVersion”:3,”NumberDefinitions”:1,
“Definitions”:[…]}

additional_input_raster

可選的 ImageryLayer 對象。這可以是分段柵格。

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%”}

  • 重采樣方法(resamplingMethod):輸出柵格將按照指定的方法進行重采樣。

    支持的值有:雙線性、最近的、三次的。

    例子:

    {‘resamplingMethod’: “Nearest”}

  • processAsMultidimensional - 指定是否將輸入作為多維柵格進行處理。

    • False - 輸入不會作為多維柵格處理。如果輸入是多維的,則隻處理當前顯示的切片。

    • True - 輸入將作為多維柵格進行處理,所有切片都將被處理以生成新的多維柵格。

    例子:

    {‘processAsMultidimensional’: True}

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 參數,默認情況下會生成動態影像圖層。

例子:

# Usage Example 1: Classifies a raster based on an Esri Classifier Definition dictionary and raster data inputs.

classifier = {
    'EsriClassifierDefinitionFile': 0,
    'FileVersion': 3,
    'NumberDefinitions': 1,
    'Definitions': [...],
    }

raster = gis.content.search('image_tif')[0].layers[0]

classify_op = classify(input_raster=raster,
                       input_classifier_definition=classifier,
                       gis=gis)

# Usage Example 2: Performs classification such that the output raster is projected onto the specified spatial reference.

classify_op = classify(input_raster=raster,
                       input_classifier_definition=classifier,
                       context={"outSR":{spatial reference}}
                       gis=gis)

相關用法


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