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


Python ArcGIS ImageryLayer.compute_histograms用法及代码示例


本文简要介绍 python 语言中 arcgis.raster.ImageryLayer.compute_histograms 的用法。

用法:

compute_histograms(geometry, mosaic_rule=None, rendering_rule=None, pixel_size=None, time=None, process_as_multidimensional=False)

返回:

一个字典

compute_histograms 方法返回给定范围内为 ImageryLayer 计算的所有栅格波段的直方图列表。

Parameter

Description

geometry

必需的 Geometry ( Polygon Envelope )。定义在其中计算直方图的几何图形的几何图形。

mosaic_rule

可选字符串。在定义应如何镶嵌单个图像时指定镶嵌规则。未指定镶嵌规则时,将使用影像图层的默认镶嵌规则(如根资源中所宣传的:defaultMosaicMethod、mosaicOperator、sortField、sortValue)。有关详细信息,请参阅Mosaic rule objects 帮助。

rendering_rule

可选规则。指定应如何处理请求的图像的呈现规则。响应是更新的层信息,反映了由呈现规则定义的自定义处理。例如,如果renderingRule 包含一个attributeTable 函数,则响应将指示“hasRasterAttributeTable”: true;如果 renderingRule 包含改变波段数的函数,则响应将指示正确的 bandCount 值。

pixel_size

可选字符串或字典。正在使用的像素级别(或正在查看的分辨率)。如果未指定像素大小,则 pixel_size 将默认为数据集的基本分辨率。 pixel_size 参数的结构与ArcGIS REST API 返回的点对象的结构相同。除了字典结构之外,您还可以使用逗号分隔的字符串指定像素大小。

用法:
  • 字典结构:pixel_size={point}

  • 点简单语法:pixel_size='<x>,<y>'

例子:
  • pixel_size={“x”: 0.18, “y”: 0.18}

  • pixel_size='0.18,0.18'

time

可选 datetime.date、datetime.datetime 或时间戳字符串。计算直方图的时刻或时间范围。指定为 datetime.date、datetime.datetime 或自纪元以来的毫秒数的时间戳语法:time=<timeInstant>

指定为 [<startTime>, <endTime>] 列表的时间范围 对于时间范围,<startTime> 或 <endTime> 之一可以为 None。为开始时间或结束时间指定的“无”值将分别表示开始时间或结束时间为无穷大。语法:time=[<开始时间>, <结束时间>] ;指定为 datetime.date、datetime.datetime 或时间戳

注意:

此参数是在 10.8 中添加的。

process_as_multidimensional

可选的布尔值。指定是否将影像服务作为多维影像服务进行处理。

  • False - The histogram of pixel values from only the first slice is computed. This is the default.

  • True - The image service is treated as a multidimensional raster, and histograms of pixel values from all selected slices are computed.

注意:

在 10.9 中为使用 ArcObjects11ArcObjectsRasterRendering 作为服务提供者的图像服务添加。

示例 1:

# Usage Example 1: Compute the histograms in the specified area of interest for a time instant.

aoi = {
        "spatialReference": {"wkid": 32610},
        "xmax": 725000,
        "xmin": 720000,
        "ymax": 4300000,
        "ymin": 4250000
      }

aoi_geometry = Geometry(aoi)

comp_hist_01 = img_lyr.compute_histograms(geometry=aoi,
                                          rendering_rule={"rasterFunction":None},
                                          time="1326650400000")

示例 2:

# Usage Example 2: Compute the histograms in the specified area of interest for a time extent.

aoi = {
        "spatialReference": {"wkid": 32610},
        "xmax": 725000,
        "xmin": 720000,
        "ymax": 4300000,
        "ymin": 4250000
      }

aoi_geometry = Geometry(aoi)

# If the datetime object is not in the UTC timezone, the API will internally convert it to the UTC timezone.
start = datetime.datetime(2012,1,15,18,0,0, tzinfo=datetime.timezone.utc)
end = datetime.datetime(2012,1,15,21,0,0, tzinfo=datetime.timezone.utc)

comp_hist_02 = img_lyr.compute_histograms(geometry=aoi,
                                          rendering_rule={"rasterFunction":None},
                                          time=[start, end])

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.raster.ImageryLayer.compute_histograms。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。