概要
Z 対応のフィーチャクラス内のフィーチャの標高プロパティに関する情報を追加します。
各 3D シェープを調べて、選択されたプロパティを入力フィーチャクラスの属性テーブルに追加します。出力オプションは、フィーチャのジオメトリによって異なります。
使用法
次の Z プロパティが利用できます。
フィーチャ ジオメトリ Z プロパティ ポイント
ポイントの Z 値。
マルチポイント
マルチポイント レコードのすべてのポイントにおけるポイントの数、および Z の最小値、最大値、および平均値。
ポリラインおよびポリゴン
ラインまたはポリゴン周長の頂点数および 3D 距離。
ラインまたはポリゴン周長の Z の最小値、最大値、平均値、および傾斜角。
マルチパッチ
クローズド マルチパッチの表面積および体積。
マルチパッチ表面の Z の最小値、最大値、平均値、および傾斜角。
傾斜角はパーセント値 (グレード) として返され、傾斜角の計算方法は、このプロパティをサポートする各ジオメトリ タイプによって異なります。
- ライン フィーチャおよびポリゴン周長の傾斜角の値は、各セグメントに沿って計算されます。
- 最小傾斜角は、値が 0 (水平グレード) に最も近いセグメントから取得されます。
- 最大傾斜角は、最大計算値を持つセグメントから取得されます。
- 平均傾斜角は、各セグメントを 3D 長さによって重み付けした後で、すべての線分の傾斜角を平均して取得されます。この結果、長いセグメントは短いセグメントに比べて大きな影響を及ぼします。
- マルチパッチ フィーチャの傾斜角の値は、各三角形のフェイスに対して計算されます。
- 最小傾斜角は、値が 0 (水平グレード) に最も近い表面から取得されます。
- 最大傾斜角は、最大値を持つフェイスから取得されます。
- 平均傾斜角は、各セグメントを 3D エリアによって重み付けした後で、すべての三角形のフェイスの傾斜角を平均して取得されます。そのため、面積が大きいほど、取得される値に大きな影響があります。
- ポリゴン フィーチャの傾斜角の値は、ライン セグメントに適用されるのと同じ方法を使用して、エッジに沿って計算されます。
- ライン フィーチャおよびポリゴン周長の傾斜角の値は、各セグメントに沿って計算されます。
体積は、クローズド マルチパッチに対してのみ計算できます。開いたマルチパッチ フィーチャは、0.0 の値を返します。Solaris プラットフォーム上では現在、設計の制限により、マルチパッチが閉じているかどうかをツールが判断することができないため、すべてのマルチパッチが閉じているという前提で、すべてのマルチパッチに対して体積の計測を実行します。
構文
arcpy.ddd.AddZInformation(in_feature_class, out_property, {noise_filtering})
パラメーター | 説明 | データ タイプ |
in_feature_class | 処理対象の入力フィーチャ。 | Feature Layer |
out_property [out_property,...] | 入力フィーチャクラスの属性テーブルに追加される Z プロパティ。次のオプションを利用できます。
| String |
noise_filtering (オプション) | 生成される計算結果からフィーチャの一部を除外するために使用されるオプションの数値です。これは、3D 入力に、統計的に偏った結果になる可能性がある極端な傾斜角を含む比較的小さいフィーチャが含まれている場合に便利です。3D 入力のリニア単位がメートルである場合、値に 0.001 を指定すると、0.001 メートルよりも短いラインやポリゴン エッジが除外されます。マルチパッチ フィーチャでは、同じ値を使用すると、0.001 平方メートルより小さい面積を持つ部分は除外されます。このパラメーターは、ポイントおよびマルチポイント フィーチャには適用しません。 [長さ] フィルターは、入力がラインまたはポリゴンであるときに利用できるのに対し、[面積] フィルターは、入力がマルチパッチであるときに利用できます。 | String |
派生した出力
名前 | 説明 | データ タイプ |
output_feature_class | 更新された Z 対応のフィーチャクラス。 | フィーチャ レイヤー |
コードのサンプル
AddZInformation (Z 情報の追加) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.AddZInformation_3d('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE',
'NO_FILTER')
AddZInformation (Z 情報の追加) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''******************************************************************
Name: AddZInformation Example
Description: This script demonstrates AddZInformation on all
z-aware features in a target workspace.
******************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Create list of feature classes
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
desc = arcpy.Describe(fc)
if desc.hasZ:
# Set Local Variables
noise = 'No_Filter'
if desc.shapeType == 'Polygon':
Prop = ['Z_MIN', 'Z_MAX', 'VERTEX_COUNT']
elif desc.shapeType == 'Point':
Prop = 'Z'
elif desc.shapeType == 'Multipoint':
Prop = ['Z_MIN', 'Z_MAX', 'Z_MEAN']
elif desc.shapeType == 'Polyline':
Prop = 'LENGTH_3D'
print 'Completed adding Z information.'
# Execute AddZInformation
arcpy.AddZInformation_3d(inFC, Prop, noise)
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst
- Standard: 次のものが必要 3D Analyst
- Advanced: 次のものが必要 3D Analyst