当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。