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


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


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

用法:

measure(from_geometry, to_geometry=None, measure_operation=None, pixel_size=None, mosaic_rule=None, linear_unit=None, angular_unit=None, area_unit=None)

返回:

一个字典

measure 方法允许用户从图像层测量距离、方向、面积、周长和高度。此操作的结果包括正在使用的栅格数据集的名称、传感器名称和测量值。

注意:

来自栅格数据集和镶嵌数据集的影像服务可以支持测量操作。执行基本测量(距离、面积等)需要空间参考。传感器元数据(地理数据转换)需要存在于图像层使用的数据源中以启用高度测量(例如,带有 RPC 的图像)。镶嵌数据集或图层需要包含 DEM 才能执行 3D 测量。

Parameter

Description

from_geometry

必需 Geometry 或字典。定义测量的 from 位置的几何图形。

to_geometry

可选 Geometry 或字典。定义测量的 to 位置的几何图形。几何类型必须与 from_geometry 相同。

measure_operation

可选字符串或字典。指定正在执行的测量的类型。

值:Point, DistanceAndAngle, AreaAndPerimeter, HeightFromBaseAndTop, HeightFromBaseAndTopShadow, HeightFromTopAndTopShadow, Centroid, Point3D, DistanceAndAngle3D, AreaAndPerimeter3D, Centroid3D

不同的 measureOperation 类型需要不同的 from 和 to 几何:

  • Point and Point3D-Require only from_geometry, type: {Point}

  • DistanceAndAngle, DistanceAndAngle3D, HeightFromBaseAndTop, HeightFromBaseAndTopShadow, and HeightFromTopAndTopShadow - Require both from_geometry and to_geometry, type: {Point}

  • AreaAndPerimeter, AreaAndPerimeter3D, Centroid, and Centroid3D - Require only from_geometry, type: {Polygon}, {Envelope}

支持的测量操作可以从图像层根资源中的mensurationCapability 导出。基本函数支持点、距离和角度、面积和周长和质心。基本和 3D 函数支持 Point3D、DistanceAndAngle3D、AreaAndPerimeter3D 和 Centroid3D。 Base-Top 高度函数支持 HeightFromBaseAndTop。 Top-Top 阴影高度函数支持 HeightFromTopAndTopShadow。 Base-Top 阴影高度函数支持 HeightFromBaseAndTopShadow。

pixel_size

可选字符串或字典。正在测量的像素级别(分辨率)。如果未指定像素大小,pixel_size将默认为图像层的基本分辨率。将使用镶嵌数据集中指定像素大小的栅格进行测量。句法:

  • dictionary structure: pixel_size={point}

  • Point simple syntax: pixel_size=’<x>,<y>’

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

  • pixel_size='0.18,0.18'

mosaic_rule

可选字符串或字典。在定义如何对单个图像进行马赛克时指定马赛克规则。当未指定镶嵌规则时,将使用图像图层的默认镶嵌规则(如根资源中公布的:defaultMosaicMethod、mosaicOperator、sortField、sortValue)。第一个可见图像是按比例使用的。

linear_unit

可选字符串。用于计算高度、长度或周长的线性单位。它可以是以下任意一个 U 常数。如果未指定单位,则默认为米。有效单位常量列表包括:Inches,Feet,Yards,Miles,NauticalMiles, Millimeters,Centimeters,Decimeters,Meters, Kilometers

angular_unit

可选字符串。计算线段方向的角度单位。它可以是以下DirectionUnits常量之一:DURadians, DUDecimalDegrees

注意:

如果未指定单位,则默认为 DUDecimalDegrees

area_unit

可选字符串。将计算多边形面积的面积单位。它可以是任何 AreaUnits 常量。如果未指定单位,则默认为平方米。有效的 AreaUnits 常量列表包括:SquareInches,SquareFeet,SquareYards,Acres, SquareMiles,SquareMillimeters,SquareCentimeters, SquareDecimeters,SquareMeters,Ares,Hectares, SquareKilometers

例子:

# Example Usage
img_layer = gis.content.search("my_image_service", item_type="Imagery Layer")[0].layers[0]
measured = img_layer.measure(from_geometry=point1,
                             to_geometry=point2,
                             measure_operation="HeightFromTopAndTopShadow")

相关用法


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