概要
ポイントまたはラインの周りに 3D のバッファーを作成し、球面または円筒のマルチパッチ フィーチャを生成します。
図
使用法
このツールの出力は、体積計算や他の 3D セット演算子ツールで使用可能な、クローズド マルチパッチ フィーチャです。
複雑なライン フィーチャ (多数の頂点を持つ曲線など) を処理する際のパフォーマンスを向上させるには、[単純化] の値を指定することを推奨します。
ライン フィーチャによっては、ラインのジオメトリと使用されるバッファー距離に頂点が密集して重複しているリージョンがある場合、マルチパッチを生成できない場合があります。一般的なルールとして、同じフィーチャを含む重なったリージョンが作成される結果となるようなバッファー距離は避けるのが最善です。
構文
arcpy.ddd.Buffer3D(in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
パラメーター | 説明 | データ タイプ |
in_features | バッファーを作成するライン フィーチャまたはポイント フィーチャ。 | Feature Layer |
out_feature_class | 3D バッファーを含む出力マルチパッチ。 | Feature Class |
buffer_distance_or_field | 入力フィーチャのバッファーの距離。これは、直線距離として指定することも、入力フィーチャの属性テーブルにある数値フィールドから取得することもできます。入力フィールドからバッファー距離を指定した場合、計測単位はフィーチャの空間参照から決定されます。直線距離を数値で指定した場合、以下の計測単位がサポートされています。
| Linear Unit; Field |
buffer_joint_type (オプション) | ライン セグメントの頂点間のバッファーの形状 このパラメーターは、入力ライン フィーチャにのみ有効です。
| String |
buffer_quality (オプション) | 作成されるマルチパッチ フィーチャを表すのに使用されるセグメントの数。デフォルトは 20 ですが、6 から 60 までの数値を入力できます。[バッファー品質] の値を上げると、より滑らかな 3D フィーチャが作成されますが、その分処理に時間がかかります。 | Long |
simplification_tolerance (オプション) | 入力ラインの形状をその元の形に指定したオフセット内に維持することで、入力ラインを単純化します。値が指定されている場合、単純化は実行されません。以下の計測単位がサポートされています。
| Linear Unit |
コードのサンプル
Buffer3D (バッファー 3D) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Buffer3D_3d('lineFC.shp', 'buffer3d.shp', '15 Meters',
'Round', 30, '1 Meters')
Buffer3D (バッファー 3D) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Buffer 3D Example
Description: This script demonstrates an application of
the Buffer 3D and Inside 3D tools.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Set Local Variables
inFC = 'lineFC.shp'
bufferOut = 'buffer3d.shp'
# Execute Buffer 3D
arcpy.Buffer3D_3d(inFC, bufferOut, '15 Meters', 'Round', '30', '1 Meters')
arcpy.Inside3D_3d(bufferOut, 'survey_pts.shp', 'inside_analysis.dbf')
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