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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。