CityEngine ルールからフィーチャを生成 (Features From CityEngine Rules) (3D Analyst)

3D Analyst のライセンスで利用可能。

サマリー

ArcGIS CityEngine で作成するルールを使用して、既存の 2D および 3D 入力フィーチャから 3D ジオメトリを生成します。

使用法

  • 入力フィーチャは、ポイント、ポリゴンまたはマルチパッチである必要があります。CityEngine のルールパッケージ (*.rpk) ファイル内にある @StartRule は、対象の入力フィーチャのタイプ @InPoint (ポイントの場合はアノテーション、ポリゴンの場合は @InPolygon、マルチパッチ フィーチャの場合は @InMesh) を指定する必要があります。いずれかに @StartRule の注釈が付いていない場合、フィーチャ タイプはポリゴンと見なされます。予期しないジオメトリ タイプが入力されると、エラーが返されます。

  • 入力フィーチャは、プロシージャ シンボルで表示されたフィーチャ レイヤーを指定できます。CityEngine のルールは通常、入力シェープから出力 3D モデルを生成する方法を制御する多くのプロパティ (CityEngine では attrs と呼ばれます) を定義します。たとえば、建物構造を生成するルールは、attr に double タイプの BuildingHeightattr に整数タイプの FloorCount を持つ場合があります。入力フィーチャクラスに、CityEngine のルール プロパティと同じ名前とデータ タイプを持つ属性フィールドがある場合、出力モデルの生成には、その属性フィールドの値が自動的に使用されます。この CityEngine のルール プロパティと属性フィールドの自動照合は、デフォルト フィールド マッピングと呼ばれます。入力フィーチャ レイヤーがプロシージャ シンボルで表示される場合、プロシージャル シンボル レイヤーで定義されているカスタム フィールド マッピングシンボル プロパティが適用されます。カスタム フィールド マッピングを使用すると、ルール パッケージで定義されたデフォルトのフィールド マッピングの振舞いをオーバーライドできます。

  • 入力 [ルール パッケージ] は、CityEngine のルール パッケージ (*.rpk) です。これは、コンパイルされた CityEngine ルールとこのルールが使用する関連アセットが含まれている圧縮ファイルです。[リーフ シェープのエクスポート] パラメーターは、入力ルール パッケージが、次の CGA アノテーションを含むことでこの操作をサポートしていることを宣言している場合のみ利用可能です: @StartRule @Out (granularity=separatedShapes)

  • [リーフ シェープのエクスポート] パラメーターを使用してリーフ シェープが生成される場合、フィーチャクラスの標準セットは、プライマリ出力マルチパッチ フィーチャクラスと同じ場所に、次の命名規則で作成されます: <outputFC_Points><outputFC_MPoints>、および <outputFC_Lines>。すべての出力フィーチャクラスには、出力の生成元になった入力フィーチャの ObjectID を参照する OriginalOID と呼ばれる属性フィールドが含まれています。OriginalOID フィールドを使用すると、出力フィーチャクラスを入力フィーチャクラスと結合できます。[レポートを含める] パラメーターを使用してレポートを生成する場合、出力フィーチャクラスは各レポートの属性も取得します。

  • 各出力フィーチャクラスの生成元になった入力フィーチャの ObjectID を含めるために、OriginalOID という名前のフィールドが出力フィーチャクラスに追加されます。入力フィーチャクラスに OriginalOID という名前のフィールドがすでに存在する場合は、新しいフィールド名に数字が追加されます (例: OriginalOID2)。

  • 変換中に発生したエラーまたは警告の詳細は、PRT#.txt (# は各ログ ファイルが生成されるたびに増加する数値) という名前のログ ファイルに書き込まれます。このファイルは、<Install drive>:\Users\<user name>\AppData\Local\ESRI\GeoProcessing にあります。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

入力ポイント、ポリゴン、またはマルチパッチ フィーチャ。入力フィーチャは、プロシージャ シンボルで表示されたフィーチャ レイヤーを指定できます。フィールド マッピング (属性値を使用したシンボル プロパティ) が適用されます。

Feature Layer
ルール パッケージ

CGA ルールの情報、およびアセットを含んだ CityEngine ルール パッケージ (**.rpk) ファイル。CityEngine のルール パッケージ (*@StartRule) ファイル内で .rpk の注釈が付いているルールは、ポイント フィーチャ用のルール パッケージには @InPoint、ポリゴン フィーチャ用のルール パッケージには @InPolygon、マルチパッチ フィーチャ用のルール パッケージには @InMesh の注釈が付いています。@StartRule@InPoint@InPolygon または @InMesh の注釈がついていない場合、フィーチャ タイプはポリゴンと見なされます。

File
出力フィーチャ

CGA ルールが適用されたマルチパッチ フィーチャを含む出力フィーチャクラス。各出力フィーチャクラスの生成元になった入力フィーチャの ObjectID を含めるために、OriginalOID という名前のフィールドが出力フィーチャクラスに追加されます。

Feature Class
既存フィールドを含める
(オプション)

出力フィーチャクラスが、入力フィーチャクラスの属性フィールドを継承するかどうかを制御します。

  • オン - 入力フィーチャクラスの属性フィールドが、出力フィーチャクラスに含められます。これがデフォルトです。
  • オフ - 入力フィーチャクラスの属性フィールドは、出力フィーチャクラスに追加されません。このオプションは、[リーフ シェープのエクスポート] パラメーターがオンの場合、自動的に使用されます。

Boolean
レポートを含める
(オプション)

ルール パッケージの作成方法によっては、モデルを作成するときに 1 つ以上のレポートを生成するロジックを含めることができます。これらのレポートには、フィーチャに関するさまざまな情報を含めることができます。例として、各構築モデルに生成されるウィンドウ数を報告するルール パッケージが挙げられます。このパラメーターは、ルール パッケージにレポートを生成するオプションが含まれていない場合は無視されます。

  • オン - ルール パッケージのレポート生成ロジックの定義に従い、各フィーチャのレポートされる値を保持するために、出力フィーチャクラスに新しい属性フィールドが作成されます。レポートされる各値に対して一意の属性が作成されます。
  • オフ - ルール パッケージ内に生成されるレポートは無視され、レポートに関連する新しい属性は生成されません。これがデフォルトです。

Boolean
リーフ シェープのエクスポート
(オプション)

CityEngine のルール パッケージは、コンポーネントを個別に生成し、それらを 1 つの 3D オブジェクトにマージすることで、コンテンツを構築します。ただし、これらのコンポーネント (リーフ シェープ) を別々のフィーチャとして保存することもできます。このオプションは、建物の窓など、3D オブジェクトのサブエレメントに対して解析操作を実行するときに、特に重要な場合があります。

このパラメーターは、各入力フィーチャが次のどれであるかを判定します。

  • 1 つのマージされたマルチパッチ フィーチャに変換されます
  • ポイント、ライン、またはマルチパッチから構成される多くのフィーチャのセットになります

たとえば、ルールによって、入力ポリゴンのフットプリントからシームレスな建物モデルを生成したり、集合住宅の正面ごとに、外向きパネル、代表の中心点、境界線を示すラインなど、別々のフィーチャを作成したりできます。この例では、集合住宅のパネル、中心点、およびアウトラインがすべてリーフ シェープと見なされています。

  • オン - 追加の出力フィーチャクラスが生成されます。これがデフォルトです。入力フィーチャクラスの属性フィールドは、出力フィーチャクラスには含まれません。出力フィーチャクラスには、出力の生成元になった入力フィーチャの ObjectID を参照する OriginalOID と呼ばれるフィールドが含まれています。
  • オフ - ルールのロジックで追加のリーフ シェープが定義されている場合でも、追加の出力フィーチャクラスは生成されません。すべてのジオメトリは、出力マルチパッチ フィーチャ内に含まれます。

Boolean

派生した出力

ラベル説明データ タイプ
出力ポイント フィーチャ

リーフ シェープを生成するとき、プライマリ出力マルチパッチ フィーチャクラスと同じ場所に出力ポイント フィーチャクラスが作成されます。

フィーチャ クラス
出力ライン フィーチャ

リーフ シェープを生成するとき、プライマリ出力マルチパッチ フィーチャクラスと同じ場所に出力ポリライン フィーチャクラスが作成されます。

フィーチャ クラス
出力マルチポイント フィーチャ

リーフ シェープを生成するとき、プライマリ出力マルチパッチ フィーチャクラスと同じ場所に出力ポリゴン フィーチャクラスが作成されます。

フィーチャ クラス

arcpy.ddd.FeaturesFromCityEngineRules(in_features, in_rule_package, out_feature_class, {in_existing_fields}, {in_include_reports}, {in_leaf_shapes})
名前説明データ タイプ
in_features

入力ポイント、ポリゴン、またはマルチパッチ フィーチャ。入力フィーチャは、プロシージャ シンボルで表示されたフィーチャ レイヤーを指定できます。フィールド マッピング (属性値を使用したシンボル プロパティ) が適用されます。

Feature Layer
in_rule_package

CGA ルールの情報、およびアセットを含んだ CityEngine ルール パッケージ (**.rpk) ファイル。CityEngine のルール パッケージ (*@StartRule) ファイル内で .rpk の注釈が付いているルールは、ポイント フィーチャ用のルール パッケージには @InPoint、ポリゴン フィーチャ用のルール パッケージには @InPolygon、マルチパッチ フィーチャ用のルール パッケージには @InMesh の注釈が付いています。@StartRule@InPoint@InPolygon または @InMesh の注釈がついていない場合、フィーチャ タイプはポリゴンと見なされます。

File
out_feature_class

CGA ルールが適用されたマルチパッチ フィーチャを含む出力フィーチャクラス。各出力フィーチャクラスの生成元になった入力フィーチャの ObjectID を含めるために、OriginalOID という名前のフィールドが出力フィーチャクラスに追加されます。

Feature Class
in_existing_fields
(オプション)

出力フィーチャクラスが、入力フィーチャクラスの属性フィールドを継承するかどうかを制御します。このパラメーターは、in_leaf_shapes パラメーターが使用されている場合は考慮されません。

  • INCLUDE_EXISTING_FIELDS入力フィーチャクラスの属性フィールドが、出力フィーチャクラスに含められます。これがデフォルトです。
  • DROP_EXISTING_FIELDS入力フィーチャクラスの属性フィールドは、出力フィーチャクラスに追加されません。このオプションは、in_leaf_shapes パラメーターが 'FEATURE_PER_LEAF_SHAPE' に設定されている場合に自動的に使用されます。
Boolean
in_include_reports
(オプション)

ルール パッケージの作成方法によっては、モデルを作成するときに 1 つ以上のレポートを生成するロジックを含めることができます。これらのレポートには、フィーチャに関するさまざまな情報を含めることができます。例として、各構築モデルに生成されるウィンドウ数を報告するルール パッケージが挙げられます。このパラメーターは、ルール パッケージにレポートを生成するオプションが含まれていない場合は無視されます。

  • INCLUDE_REPORTSルール パッケージのレポート生成ロジックの定義に従い、各フィーチャのレポートされる値を保持するために、出力フィーチャクラスに新しい属性フィールドが作成されます。レポートされる各値に対して一意の属性が作成されます。
  • EXCLUDE_REPORTSルール パッケージ内に生成されるレポートは無視され、レポートに関連する新しい属性は生成されません。これがデフォルトです。
Boolean
in_leaf_shapes
(オプション)

CityEngine のルール パッケージは、コンポーネントを個別に生成し、それらを 1 つの 3D オブジェクトにマージすることで、コンテンツを構築します。ただし、これらのコンポーネント (リーフ シェープ) を別々のフィーチャとして保存することもできます。このオプションは、建物の窓など、3D オブジェクトのサブエレメントに対して解析操作を実行するときに、特に重要な場合があります。

このパラメーターは、各入力フィーチャが次のどれであるかを判定します。

  • 1 つのマージされたマルチパッチ フィーチャに変換されます
  • ポイント、ライン、またはマルチパッチから構成される多くのフィーチャのセットになります

たとえば、ルールによって、入力ポリゴンのフットプリントからシームレスな建物モデルを生成できます。または、各集合住宅の表面に対して、外面のパネル、代表の中心点、境界線を示すラインなどのフィーチャを個別に作成することもできます。この例では、集合住宅のパネル、中心点、およびアウトラインがすべてリーフ シェープと見なされています。

  • FEATURE_PER_LEAF_SHAPE追加の出力フィーチャクラスが生成されます。これがデフォルトです。入力フィーチャクラスの属性フィールドは、出力フィーチャクラスには含まれません。出力フィーチャクラスには、出力の生成元になった入力フィーチャの ObjectID を参照する OriginalOID と呼ばれるフィールドが含まれています。
  • FEATURE_PER_SHAPEルールのロジックで追加のリーフ シェープが定義されている場合でも、追加の出力フィーチャクラスは生成されません。すべてのジオメトリは、出力マルチパッチ フィーチャ内に含まれます。
Boolean

派生した出力

名前説明データ タイプ
out_points

リーフ シェープを生成するとき、プライマリ出力マルチパッチ フィーチャクラスと同じ場所に出力ポイント フィーチャクラスが作成されます。

フィーチャ クラス
out_lines

リーフ シェープを生成するとき、プライマリ出力マルチパッチ フィーチャクラスと同じ場所に出力ポリライン フィーチャクラスが作成されます。

フィーチャ クラス
out_multipoints

リーフ シェープを生成するとき、プライマリ出力マルチパッチ フィーチャクラスと同じ場所に出力ポリゴン フィーチャクラスが作成されます。

フィーチャ クラス

コードのサンプル

FeaturesFromCityEngineRules (CityEngine ルールからフィーチャを生成) の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、FeaturesFromCityEngineRules ツールをイミディエイト モードで使用する方法を示しています。

import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.FeaturesFromCityEngineRules_3d("in_polygons", 
                                     "rules.rpk", 
                                     "out_multipatches")

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック