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


Python ArcGIS segment用法及代碼示例


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

用法:

arcgis.raster.analytics.segment(input_raster, spectral_detail=15.5, spatial_detail=15, minimum_segment_size_in_pixels=20, band_indexes=[0, 1, 2], remove_tiling_artifacts=False, output_name=None, context=None, *, gis=None, future=False, **kwargs)

返回:

output_raster:影像圖層項目

ra_segment.png

將具有相似頻譜和空間特征的相鄰像素組合成段,稱為對象。

Parameter

Description

input_raster

必需的 ImageryLayer 對象

spectral_detail

可選浮點數。默認值為 15.5。設置圖像中要素的頻譜差異的重要性級別。有效值範圍從 1.0 到 20.0。當您有要單獨分類的特征但具有一些相似的頻譜特征時,較高的值是合適的。較小的值會創建頻譜更平滑的輸出。

例如,為森林場景設置更高的頻譜細節值,將保留不同樹種之間的更大區分,從而產生更多片段。

spatial_detail

可選浮點數。默認值為 15。設置圖像中要素之間接近度的重要性級別。有效值範圍為 1 到 20。較高的值適用於您感興趣的特征較小且聚集在一起的場景。較小的值會創建空間上更平滑的輸出。

例如,在城市場景中,您可以使用較小的空間細節對不透水表麵進行分類,或者您可以使用更高的空間細節將建築物和道路分類為單獨的類。

minimum_segment_size_in_pixels

可選浮點數。默認值為 20。將小於此大小的段與其最合適的相鄰段合並。這與映射項目的最小映射單元有關。單位是像素。

band_indexes

可選的整數列表。默認為 [0,1,2] 定義分割中使用的 3 個波段。選擇最能在視覺上區分您感興趣的特征的波段。

remove_tiling_artifacts

可選布爾值。默認為假。如果為 False,則該工具將不會運行以在分割後移除平鋪偽影。結果在某些平鋪邊界處可能看起來是塊狀的。

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

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: Performs segmentation on an input raster using nearest neighbor resampling method.

img_layer = gis.content.search("imgLayer")[0].layers[0]

segment_op = segment(input_raster=img_layer,
                     context={"resamplingMethod":"Nearest"},
                     gis=gis)

相關用法


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