ラベル | 説明 | データ タイプ |
入力点群 | オブジェクトの検出に使用される分類済みの LAS データセット、点群シーン レイヤー パッケージ、または点群 I3S サービス。 | LAS Dataset Layer; Scene Layer; File |
抽出するクラス コード | オブジェクトを識別するために処理されるクラス コード。 共通グループ ID を割り当てて複数のクラス コードを同じオブジェクトにグループ化することができます。 | Value Table |
クラスタリング距離 | 同じオブジェクトに属するポイントを識別するために使用される 3 次元距離。 | Linear Unit |
出力オブジェクト フィーチャ | フィーチャ ジオメトリが [出力ジオメトリ タイプ] パラメーター値に基づいてポイント、ポリゴン、またはマルチパッチである出力オブジェクト。 | Feature Class |
出力ジオメトリ タイプ (オプション) | 各オブジェクトに作成されるジオメトリのタイプを指定します。 指定されたタイプによって、オブジェクトがポイント フィーチャ、ポリゴン フィーチャ、マルチパッチ フィーチャのいずれとして表されるかが決まります。
| String |
最小ポイント数 (オプション) | 出力を生成するためにオブジェクトに必要な最小ポイント数。 デフォルト値は 10 です。 | Long |
鉛直クラスタリング縮尺係数 | z 値に適用される縮尺係数。これは、z 軸に沿ったクラスタリング距離の適用方法と、ポイントがオブジェクトにクラスター化される方法に影響します。 デフォルト値は 1 で、有効な値の範囲は 0.0 ~ 10.0 です。 縮尺係数 0 は 2 次元クラスタリングになります。縮尺係数が 1 より小さく、0 より大きい場合は、各オブジェクトの z 範囲が大きくなります。 同様に、鉛直縮尺係数が 1 より大きい場合、ポイントが z 軸に沿ってより短い距離でクラスター化されます。 鉛直縮尺係数は、ポイントをクラスター化する方法にのみ適用されます。 ポイントのジオメトリは変更されず、z 単位も変更されません。 | Double |
オブジェクトごとに一意のアルファ半径を計算 (オプション) | アルファ半径をオブジェクトごとに計算するか、同じアルファ半径をすべてのオブジェクトに適用するかを指定します。 このパラメーターは、[出力ジオメトリ タイプ] パラメーターが [2D 凹包] または [3D 凹包] に設定されている場合のみ使用できます。
| Boolean |
アルファ半径 (オプション) | オブジェクト フィーチャの作成時にアルファ形状の定義に使用されるアルファ半径。 このパラメーターは、[オブジェクトごとに一意のアルファ半径を計算] パラメーターがオフで、[出力ジオメトリ タイプ] パラメーターが [2D 凹包] または [3D 凹包] に設定されている場合に適用されます。 アルファ半径が大きいほど、凸包に達するまで、より単純な境界の、より統一されたオブジェクト フィーチャが作成されます。一方、値が小さいほど、オブジェクトのポイントがより詳細に網羅され、不連続のパートが生成される可能性も高くなります。 アルファ半径を定義しない場合、値は [クラスタリング距離] および [鉛直クラスタリング縮尺係数] パラメーターから求められます。 デフォルトのアルファ半径の取得方法については、ツールのヘルプの使用法セクションをご参照ください。 | Linear Unit |
サマリー
分類された点群からポイント フィーチャ、ポリゴン フィーチャ、またはマルチパッチ フィーチャに個別オブジェクトを抽出します。
図
使用法
このツールは、クラスタリング距離を使用して、同じオブジェクトに属するポイントを設定します。 複数のクラス コードが同じオブジェクトを表している可能性がある場合、クラスタリング処理中にクラス コードをリンクする共通グループ ID を割り当てます。 たとえば、大木のポイントにはクラス コード 3、4、または 5 が割り当てられていることがあります。 大木が適切に識別されるようにするため、この 3 つのクラス コードに共通グループ ID を割り当てることができます。
オブジェクトを抽出することで定量化可能なデータセットが提供され、これを使用して、マップまたはシーンに表示可能な資産目録を作成することができます。 このツールによって生成可能な 3D シェープは、可視領域や日影の影響評価を行う際に役立ちます。 簡略化されたジオメトリ表現によって、大量の点群の中のオブジェクトを可視化するのに役立つカートグラフィック抽象化も提供されます。
[最小ポイント数] パラメーターを使用すると、意味のある出力を生成しない可能性がある、少数のポイントで定義されたオブジェクトを除外できます。
[出力ジオメトリ タイプ] パラメーターに [2D 凹包] または [3D 凹包] オプションを使用している場合、出力ジオメトリを定義するアルファ半径をオブジェクトごとに計算したり、同じアルファ半径をすべてのオブジェクトに使用したりできます。 オブジェクトごとにアルファ半径を計算するのは、特性が大きく異なる複数のオブジェクトを抽出する場合に有効です。 同じアルファ半径をすべてのオブジェクトに適用する場合、[アルファ半径] パラメーターを使用して目的の半径を指定します。 値を指定しない場合、[2D 凹包] オプションは、[クラスタリング距離] パラメーター値と同じになります。 [3D 凹包] オプションを使用している場合、半径は、縮尺係数が 0 より大きい限り、[クラスタリング距離] パラメーター値を [鉛直クラスタリング縮尺係数] で除算して求められます。 縮尺係数が 0 の場合、凸包が作成されます。
出力フィーチャは次の属性を持ちます。
- ObjectCode- オブジェクト タイプの識別に使用されるクラス コードまたはグループ ID。
- COUNT- オブジェクトに関連付けられているポイントの数。
- ALPHA- 出力形状の構築に使用されるアルファ半径。 このフィールドは、[出力ジオメトリ タイプ] パラメーターが [2D 凹包] または [3D 凹包] に設定されている場合のみ追加されます。
ポリゴン ジオメトリ タイプでは次の属性が追加されます。
- MIN_Z- オブジェクトに属するポイントのうちの最小 z 値
- MAX_Z- オブジェクトに属するポイントのうちの最大 z 値
[Z 情報の追加 (Add Z Information)] ツールを使用して、マルチパッチ出力の表面積や体積などの属性を計算できます。
パラメーター
arcpy.ddd.ExtractObjectsFromPointCloud(in_point_cloud, class_codes_to_extract, clustering_distance, out_features, {geometry_type}, {min_points}, vertical_scale_factor, {alpha_calculation}, {alpha_radius})
名前 | 説明 | データ タイプ |
in_point_cloud | オブジェクトの検出に使用される分類済みの LAS データセット、点群シーン レイヤー パッケージ、または点群 I3S サービス。 | LAS Dataset Layer; Scene Layer; File |
class_codes_to_extract [class_codes_to_extract,...] | オブジェクトを識別するために処理されるクラス コード。 共通グループ ID を割り当てて複数のクラス コードを同じオブジェクトにグループ化することができます。 | Value Table |
clustering_distance | 同じオブジェクトに属するポイントを識別するために使用される 3 次元距離。 | Linear Unit |
out_features | フィーチャ ジオメトリが geometry_type パラメーター値に基づいてポイント、ポリゴン、またはマルチパッチである出力オブジェクト。 | Feature Class |
geometry_type (オプション) | 各オブジェクトに作成されるジオメトリのタイプを指定します。 指定されたタイプによって、オブジェクトがポイント フィーチャ、ポリゴン フィーチャ、マルチパッチ フィーチャのいずれとして表されるかが決まります。
| String |
min_points (オプション) | 出力を生成するためにオブジェクトに必要な最小ポイント数。 デフォルト値は 10 です。 | Long |
vertical_scale_factor | z 値に適用される縮尺係数。これは、z 軸に沿ったクラスタリング距離の適用方法と、ポイントがオブジェクトにクラスター化される方法に影響します。 デフォルト値は 1 で、有効な値の範囲は 0.0 ~ 10.0 です。 縮尺係数 0 は 2 次元クラスタリングになります。縮尺係数が 1 より小さく、0 より大きい場合は、各オブジェクトの z 範囲が大きくなります。 同様に、鉛直縮尺係数が 1 より大きい場合、ポイントが z 軸に沿ってより短い距離でクラスター化されます。 鉛直縮尺係数は、ポイントをクラスター化する方法にのみ適用されます。 ポイントのジオメトリは変更されず、z 単位も変更されません。 | Double |
alpha_calculation (オプション) | アルファ半径をオブジェクトごとに計算するか、同じアルファ半径をすべてのオブジェクトに適用するかを指定します。 このパラメーターは、geometry_type パラメーターが CONCAVE_HULL_2D または CONCAVE_HULL_3D に設定されている場合のみ有効です。
| Boolean |
alpha_radius (オプション) | オブジェクト フィーチャの作成時にアルファ形状の定義に使用されるアルファ半径。 このパラメーターは、alpha_calculation パラメーターが ALL_OBJECTS に設定され、geometry_type パラメーターが CONCAVE_HULL_2D または CONCAVE_HULL_3D に設定さている場合に適用されます。 アルファ半径が大きいほど、凸包に達するまで、より単純な境界の、より統一されたオブジェクト フィーチャが作成されます。一方、値が小さいほど、オブジェクトのポイントがより詳細に網羅され、不連続のパートが生成される可能性も高くなります。 アルファ半径を定義しない場合、値は clustering_distance および vertical_clustering_scale_factor パラメーターから求められます。 デフォルトのアルファ半径の取得方法については、ツールのヘルプの使用法セクションをご参照ください。 | Linear Unit |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
arcpy.env.workspace = r"C:/GIS_Data"
arcpy.ddd.ExtractObjectsFromPointCloud("Terrestrial_Scan.lasd", [(4, 5), (5, 5)],
"60 Centimeters", "Trees.shp",
"CONCAVE_HULL_2D", 50)