モデルからのテクスチャ処理された建築物の作成
概要
3ds Max、COLLADA、OpenFlight、SketchUp など、サード パーティ形式で 3D 建築物のモデルを受け取ることはよくあります。これらのモデルを使って、データを既存の都市データに統合し、ビジュアライゼーションを向上させることができます。ArcGIS で使用するためにこれらのモデルを幾通りかの方法でジオデータベースにインポートすることができます。どの方法を使用するかは、受け取ったモデルのタイプとそれに付属している情報によって異なります。提供形式にモデルの地理的な位置に関する情報が付属している場合は、[3D ファイルのインポート(Import 3D Files)] ジオプロセシング ツールを使用してモデルを容易にインポートできます。モデルと一緒に地理的な情報が提供されていない場合は、ArcGIS を使用してそのモデルを正しい地理的位置に配置する必要があります。
このガイドブックでは、各種の建物モデルをジオデータベースにインポートして、ArcGlobe に表示する方法について説明します。Philadelphia 市のローガン スクエア周辺の小さなエリアをカバーしている Esri 3D 仮想都市テンプレートをサンプル データセットとして使用します。
地理的位置情報が付属しているモデルのインポート
[3D ファイルのインポート(Import 3D Files)] ジオプロセシング ツールを使用すると、サードパーティ 3D モデル形式をジオデータベース内のマルチパッチ フィーチャに変換できます。このツールの主要な目的は大規模なモデル セットのインポートを可能にすることです。地理的情報が付属するモデルは、指定した空間参照に従って自動的に正しい位置に配置されます。地理的情報が付属していないモデルは、フィーチャクラスの原点の座標に配置され、この位置は 2D または 3D 編集環境で変更されます。インポート リストには多くのモデルを追加でき、これらのモデルは同じフォルダに入っている必要はありません。
ツールへ追加したモデルごとに、出力マルチパッチ フィーチャクラス内に個別のフィーチャが作成されます。建物の巨大なコレクションを表すモデルがある場合は、都市、町、近隣など、そのモデルを建物ごとに 1 つの個別のモデルに分割することをお勧めします。
- 複雑なモデル(多数の頂点や、4,000 x 4,000 ピクセルを超える高解像度のテクスチャが存在する)は正常にインポートされないことがあります。この場合、モデルを分割することがその問題の解決に役立ちます。
さらに、建物ごとに 1 つのフィーチャを保持することで、建物固有の属性を設定できるようになります。
テクスチャ処理された建物と既存の都市情報との結合
建物をマルチパッチ フィーチャクラスにインポートしたら、立ち上げたフットプリントなど、既存の建物情報を使ってそれらの建物を表示してみてください。この場合、インポートした建物が存在している場所と同じ場所に既存の建物情報が描画されないようにすることが重要です。オーバーラップしているフィーチャのサブセットを削除するには、以下の手順を実行します。
- [空間検索] を使用して、テクスチャ処理された建物とオーバーラップしているフットプリントを選択します。
- フットプリント フィーチャクラスに新しいフィールドを追加し、計算を行って、どの建物がオーバーラップしているかを表示します。この表示された建物が目的のサブセットです。
- 最後に、定義クエリを使用して、オーバーラップしていないフットプリントのみを表示します。
結果として、立ち上げられた建物(定義クエリによって作成されたもの)の隙間をテクスチャつきの新しい建物によってが埋められている都市のビューが生成されます。このビューは視覚的に正しい外観をしています。ただし、データ管理上の理由から、立ち上げられたフットプリントとテクスチャ処理された建物を永続的に結合するほうが適切である場合があります。たとえば、解析やクエリの実行対象となる建物固有の情報(市場価値、住所、土地利用のタイプ、所有者情報など)を格納する場合は、すべてのデータを単一のフィーチャクラスに保持することが不可欠です。[3D レイヤ → マルチパッチ フィーチャクラス(Layer 3D to feature Class)] ジオプロセシング ツールを使用すると、立ち上げられた建物を新規フィーチャクラスのマルチパッチに変換できます。
高さの値が異なる複数のポリゴンが、単一の建物を表している場合は、[3D レイヤ → マルチパッチ フィーチャクラス(Layer 3D to feature Class)] ジオプロセシング ツールを使用して、それらのポリゴンを単一の出力マルチパッチ フィーチャにマージすることが適切な場合があります。1 つの建物に関連付けられたすべてのポリゴン フィーチャには、[グループ フィールド] オプションで使用するために一意の識別子(共通の属性フィールド)が指定されている必要があります。次に、同じ [グループ フィールド] を指定した [ユニオン 3D(Union 3D)] ジオプロセシング ツールを使用して、建物の内部から余分なコンポーネントを取り除くことによって各建物のマルチパッチ ジオメトリをクリーンアップできます。これを図で示すと以下のようになります。
- また、ArcGIS のマルチパッチ ポリゴンから構成される建物に一意の識別子を割り当てることもできます。これを行うには、最初に [ディゾルブ(Dissolve)] ジオプロセシング ツールを使用する必要があります。このツールを実行すると、建物の境界がディゾルブされ 1 つに集約されることで建物のフットプリントが結合されます。結合された建物は、新しいマルチパート ポリゴン フィーチャクラスとして 3D ビューに追加されます。次に、[マルチパート → シングルパート(Multipart to Singlepart)] ジオプロセシング ツールを使用して、マルチパート ポリゴンを建物ごとに 1 つのポリゴンに分割する必要があります。この結果、建物ごとに 1 つのポリゴンが生成されます。最後に、[空間結合(Spatial Join)] を使用して、これらのポリゴンそれぞれのオブジェクト ID を元のフィーチャクラス内のフィーチャに追加して、それらの ID をグループ フィールドとして使用する必要があります。
立ち上げられたポリゴンをマルチパッチに変換したら、それらのマルチパッチを既存のテクスチャ処理されたマルチパッチ建築物と結合できます。これを行うには、マルチパッチ フィーチャクラスを新規作成します。新しいフィーチャクラスについて、その範囲が両方のデータセットを収容するのに十分な大きさであり、正しい空間参照が存在していることを確認します。この後、両方のマルチパッチ フィーチャクラスを新規のフィーチャクラスに追加することができます。
フィーチャクラスのプロパティの定義について詳細が不明な場合は、「フィーチャクラスのプロパティの定義」をご参照ください。
既存のフィーチャをモデルで置換
建物モデルを ArcGIS にインポートしたところで、次に、それらのモデルを最新の状態に保ち、さらに改良を続けます。3D 編集セッションを使用して、既存の建物をより複雑なジオメトリやより高解像度のテクスチャで置換したり、新しい建物を追加したりできます。既存の建物の置換は非常に簡単な処理であり、[モデルで置換] ツールを使用します。このツールはマルチパッチ フィーチャにのみ適用できます。
- 建物フィーチャクラスを ArcGlobe に追加して、3D 編集セッションを開始します。
- 配置編集 ツールを使用して、置換したい建物を選択します。
- [3D エディタ] をクリックし、[モデルで置換] をクリックします。
- 表示されたダイアログ ボックスで、使用するモデルを参照して選択します。
フィーチャがまだ存在していない新しいモデルを受け取った場合は、そのモデルを新規マルチパッチ フィーチャとしてフィーチャクラスに対話的に追加できます。この処理でも 3D 編集セッションが必要です。[フィーチャ作成] ウィンドウで、建物のマルチパッチ フィーチャクラス用のテンプレートを選択します。[フィーチャ作成] ウィンドウの下部に表示されている挿入 作図ツールを選択します。次に、建物を配置したい 3D ビュー内の位置をクリックします。[ファイルを開く] ダイアログ ボックスで、インポートするモデルを参照して選択します。配置した後もそのモデルの移動、回転、スケーリングを行えます。
このガイドブックでは、ジオリファレンスされた 3D テクスチャ モデルとジオリファレンスされていない 3D テクスチャ モデルをマルチパッチ フィーチャとしてジオデータベースにインポートする方法と、テクスチャ処理されていないマルチパッチ フィーチャを立ち上げられた建物から作成する方法を説明しました。さらに、テクスチャ処理されていないマルチパッチ建築物とテクスチャ処理されたマルチパッチ建築物を単一のデータセットに統合する方法を確認しました。