ポリラインの平均傾斜角は、各ライン セグメントから傾斜角の加重平均を求めることで取得されます。 加重は各セグメントの 3D 長さに基づきます。 そのため、セグメントが長いほど、取得される計算に大きな影響があります。
すべての属性は、入力フィーチャの Z 情報を内挿するために使用される TIN サーフェスに基づいて計算されます。 TIN サーフェスでないサーフェスは、中間 TIN データセットに変換されます。 フィーチャはこの TIN サーフェスの境界にクリップされ、フィーチャとサーフェスの両方に共通する領域のみが評価されます。 この TIN の作成は、入力が高密度の LAS データセットであるか高解像度ラスターである場合に、かなりの時間がかかることがあります。 解析において低解像度 TIN を許容できる場合は、ラスター → TIN または LAS データセット → TIN ツールのいずれかを使用し、間引きした TIN サーフェスをこのツール用に生成できます。
ポリゴンの平均 Z 値は、そのポリゴンを使用して TIN をクリップし、クリップされた TIN から結果を導くことによって算出されます。 この TIN の各三角形の中点の Z 値に、三角形の 3D 面積を乗算します。 すべての三角形でのこの計算結果を加算し、その合計をこれらの三角形の累積 3D 面積で除算することによって、最終結果を得ます。 大規模なポリゴン フィーチャと、重複セルが多数含まれるラスター サーフェスを指定すると、中間 TIN サーフェスを作成するために必要なメモリー リソースの不足により、プロセスが失敗することがあります。 その場合は、低い解像度の TIN を作成するか、ラスターベースの手法によって、目的の出力プロパティを取得する必要があります。 ゾーン統計ツールセット には、面積、最小値、最大値、平均値などのプロパティを迅速に取得するためのツールがあります。 クロス集計 および ゾーン統計をテーブルに出力 ツールは、ポリゴン フィーチャに結合できる出力テーブルを提供します。 傾斜角のプロパティを取得するには、傾斜角ラスターを作成し、いずれかのツールを実行します。 Spatial Analyst エクステンションはないが、サーフェスの面積と体積を計算したい場合は、ポリゴンで入力ラスターをクリップし、サーフェスの体積 ツールを使用します。これにより、サーフェスの面積と体積の両方が出力されます。
ライン フィーチャは、TIN サーフェスに対してラインをドレープし、ラインと TIN エッジが交差する場所に頂点を挿入することで処理されます。 曲線セグメントを含むラインを処理する前に、頂点を挿入して、短い直線セグメントにします。 所定のラインの平均 Z 値は、セグメントの中点に、そのセグメントの 3D 長さを乗算し、すべてのライン セグメントでのこの計算結果を加算してから、その合計をライン セグメントの累積 3D 長さで除算することで計算されます。
特異な計測値を持つ一部のサーフェスを傾斜角の計算から除外するには、ノイズ フィルター パラメーターを使用します。 ライン フィーチャはサーフェスの断面を捉えた頂点によって分割され、これらのセグメントを長さでフィルタリングすることで、望ましくないサーフェスの計測値によって発生する可能性の高い短いセグメントによる影響を排除します。 同様に、ポリゴン フィーチャの面積フィルターによって、三角形分割したサーフェス内の細長い三角形を傾斜角の計算から除外します。 ラスター サーフェスの場合、面積フィルターを適用した、三角形分割したサーフェスの構築にセルの重心のサブセットが使用されます。 ポリゴンは、内部的にマルチパッチ (三角形のコレクション) に変換されます。 このような三角形をサーフェスにドレープすると、ポリゴン全体がサーフェス全体と一致するように、通常は小さな三角形に分割されます。 各三角形の中点の Z 値に、その三角形の 3D 面積を乗算します。 この計算結果を加算し、その合計を三角形の累積 3D 面積で除算します。これにより、三角形の中点の Z 値の加重平均を得られます。
Z 値の内挿に使用する LAS データセット、モザイク、ラスター、テレイン、または TIN サーフェス。
LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
出力プロパティ
入力フィーチャクラスの属性テーブルに追加されるサーフェスの標高プロパティを指定します。
Z—The surface z-values interpolated for the x,y-location of each single-point feature will be added.
Minimum Z—The lowest surface z-values in the area defined by the polygon, along the length of a line, or among the interpolated values for points in a multipoint record will be added.
Maximum Z—The highest surface elevation in the area defined by the polygon, along the length of a line, or among the interpolated values for points in a multipoint record will be added.
Mean Z—The average surface elevation of the area defined by the polygon, along the length of a line, or among the interpolated values for points in a multipoint record will be added.
Surface Area—The 3D surface area for the region defined by each polygon will be added.
Surface Length—The 3D distance of the line along the surface will be added.
Minimum Slope—The slope value closest to zero along the line or within the area defined by the polygon will be added.
Maximum Slope—The highest slope value along the line or within the area defined by the polygon will be added.
Average Slope—The average slope value along the line or within the area defined by the polygon will be added.
String
方法
(オプション)
サーフェスに関する情報の決定に使用される内挿法を指定します。
Bilinear—An interpolation method exclusive to the raster surface that determines cell values from the four nearest cells will be used. This is the only option available for a raster surface.
Linear—Elevation will be obtained from the plane defined by the triangle that contains the x,y-location of a query point. This is the default interpolation method for TINs, terrains, and LAS datasets.
Natural Neighbors—Elevation will be obtained by applying area-based weights to the natural neighbors of a query point.
Conflate Minimum Z—Elevation will be obtained from the smallest z-value found among the natural neighbors of a query point.
Conflate Maximum Z—Elevation will be obtained from the largest z-value found among the natural neighbors of a query point.
Conflate Nearest Z—Elevation will be obtained from the nearest value among the natural neighbors of a query point.
Conflate Z Closest To Mean—Elevation will be obtained from the z-value that is closest to the average of all the natural neighbors of a query point.
String
サンプリング距離
(オプション)
Z 値を内挿する間隔。 デフォルトでは、入力サーフェスがラスターの場合、ラスター セル サイズが使用され、入力がテレインまたは TIN データセットの場合、トライアングル サーフェスの自然最小ノード間隔が使用されます。
Double
Z 係数
(オプション)
Z 値に乗算する係数。 これは通常、Z 距離単位から X、Y 距離単位に変換する場合に使用されます。 デフォルトは 1 です。この場合、標高値は変更されません。 入力サーフェスの空間参照に距離単位の指定された Z 測地基準系がある場合、このパラメーターは使用できません。
Double
ピラミッド レベル解像度
(オプション)
使用されるテレイン ピラミッド レベルの Z 許容値またはウィンドウ サイズの解像度。 デフォルト値は 0 (最大解像度) です。
Z 値の内挿に使用する LAS データセット、モザイク、ラスター、テレイン、または TIN サーフェス。
LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_property[out_property,...]
入力フィーチャクラスの属性テーブルに追加されるサーフェスの標高プロパティを指定します。
Z—The surface z-values interpolated for the x,y-location of each single-point feature will be added.
Z_MIN—The lowest surface z-values in the area defined by the polygon, along the length of a line, or among the interpolated values for points in a multipoint record will be added.
Z_MAX—The highest surface elevation in the area defined by the polygon, along the length of a line, or among the interpolated values for points in a multipoint record will be added.
Z_MEAN—The average surface elevation of the area defined by the polygon, along the length of a line, or among the interpolated values for points in a multipoint record will be added.
SURFACE_AREA—The 3D surface area for the region defined by each polygon will be added.
SURFACE_LENGTH—The 3D distance of the line along the surface will be added.
MIN_SLOPE—The slope value closest to zero along the line or within the area defined by the polygon will be added.
MAX_SLOPE—The highest slope value along the line or within the area defined by the polygon will be added.
AVG_SLOPE—The average slope value along the line or within the area defined by the polygon will be added.
String
method
(オプション)
サーフェスに関する情報の決定に使用される内挿法を指定します。
BILINEAR—An interpolation method exclusive to the raster surface that determines cell values from the four nearest cells will be used. This is the only option available for a raster surface.
LINEAR—Elevation will be obtained from the plane defined by the triangle that contains the x,y-location of a query point. This is the default interpolation method for TINs, terrains, and LAS datasets.
NATURAL_NEIGHBORS—Elevation will be obtained by applying area-based weights to the natural neighbors of a query point.
CONFLATE_ZMIN—Elevation will be obtained from the smallest z-value found among the natural neighbors of a query point.
CONFLATE_ZMAX—Elevation will be obtained from the largest z-value found among the natural neighbors of a query point.
CONFLATE_NEAREST—Elevation will be obtained from the nearest value among the natural neighbors of a query point.
CONFLATE_CLOSEST_TO_MEAN—Elevation will be obtained from the z-value that is closest to the average of all the natural neighbors of a query point.
String
sample_distance
(オプション)
Z 値を内挿する間隔。 デフォルトでは、入力サーフェスがラスターの場合、ラスター セル サイズが使用され、入力がテレインまたは TIN データセットの場合、トライアングル サーフェスの自然最小ノード間隔が使用されます。
Double
z_factor
(オプション)
Z 値に乗算する係数。 これは通常、Z 距離単位から X、Y 距離単位に変換する場合に使用されます。 デフォルトは 1 です。この場合、標高値は変更されません。 入力サーフェスの空間参照に距離単位の指定された Z 測地基準系がある場合、このパラメーターは使用できません。
Double
pyramid_level_resolution
(オプション)
使用されるテレイン ピラミッド レベルの Z 許容値またはウィンドウ サイズの解像度。 デフォルト値は 0 (最大解像度) です。
'''*********************************************************************
Name: AddSurfaceInformation Example
Description: This script demonstrates how to use AddSurfaceInformation
on all 2D feature classes in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy
# Set Local Variables
arcpy.env.workspace = 'c:/data'
inSurface = 'fgdb.gdb/municipal/terrain'
pyramid = 5
method = "BILINEAR"
# Create list of feature classes
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
desc = arcpy.Describe(fc)
# Determine if the feature is 2D
if not desc.hasZ:
if desc.shapeType == "Polygon":
# Desired properties separated by semi-colons
Prop = "Z_MIN;Z_MAX"
elif desc.shapeType == "Point":
Prop = "Z"
elif desc.shapeType == "Multipoint":
Prop = "Z_MIN;Z_MAX;Z_MEAN"
elif desc.shapeType == "Polyline":
Prop = "LENGTH_3D"
# Run AddSurfaceInformation
arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop,
method, 15, 1, pyramid)
print("Completed adding surface information.")