演習 9: リアルな 3D 景観の作成
近郊のリアルな 3D モデルを考えている都市計画立案者を想定します。都市交通部門のスタッフが建築物、街灯、樹木、サンプルとしての交通機関などの GIS データベースを作成しました。この地域の画像があり、写真のように精細な建物のモデルも建築家によって作成されています。
ArcGlobe で、GIS データとイメージや建築モデルを組み合わせてリアルな都市モデルを構築します。このモデルを使用することによって、担当者は、提案された建物やそれらの関連表示をイメージしやすくなります。このようなモデルは、空間認識の研究や、都市フィーチャ、景観、ランドマークのシミュレーション、また学生や観光客向けアトラクションのシミュレーションに使用されます。
これは上級者向け演習であり、3D シンボルや 3D グラフィックスを使用してロンドンの対象エリアをリアルに見せる方法を説明します。
ロンドン グローブ ドキュメントを開く
- [スタート] → [すべてのプログラム] → [ArcGIS] → [ArcGlobe 10] の順にクリックして、ArcGlobe を起動します。
- [ArcGlobe - はじめに] ダイアログ ボックスで、[参照] をクリックして、グローブのデフォルト ジオデータベース パスを「D:\3DAnalyst\3D_Default.gdb」に設定します。
- 次に、[ArcGlobe - はじめに] ダイアログ ボックスで、[既存のシーン] → [詳細検索] の順にクリックします。
- [Exercise9] フォルダに移動します。
- [London_Start] ArcGlobe ドキュメントをダブルクリックします。
- [ファイル] → [名前を付けて保存] の順にクリックします。
- グローブ ドキュメントの名前として「London」と入力します。
- [保存] をクリックします。
レイヤの表示距離範囲を設定する
各レイヤの表示距離を適切に設定することにより、ArcGlobe ドキュメントのパフォーマンスを最適化できます。表示距離範囲を指定すると、縮尺に応じてレイヤの表示を制御できます。レイヤ全体が表示される距離範囲の最小距離または最大距離を設定したり、各タイルに対して距離に応じた表示を設定したりできます。
コンテンツ ウィンドウの Buildings レイヤの隣にあるチェックボックスは使用できません。これは、現在の表示がレイヤの最大表示距離を超えていることを意味します。この演習では、他の 2 つのレイヤ(London.jp2 レイヤと Holborn.jp2 レイヤ)の最大表示距離を変更します。
- コンテンツ ウィンドウで、[Holborn.jp2] レイヤを右クリックして [プロパティ] をクリックします。
- [一般] タブをクリックします。
- [距離に応じて表示を制御] をクリックします。
- [より拡大時に表示] テキスト ボックスに「5」と入力します。
- [各タイルに対して距離に応じた表示を設定] をオンにし、レイヤの各部分で距離表示を有効にします。
- [OK] をクリックします。
- [ブックマーク] → [City View] の順にクリックします。
メモリ キャッシュ割り当てのヒント
多くの場合、正しく定義されたメモリ キャッシュを使用することで、パフォーマンスの悪い ArcGlobe ドキュメントの反応をよくすることができます。これは、パフォーマンスを向上させるために指定された ArcGlobe 専用の物理メモリ(RAM)容量です。パフォーマンスを最適にするために、メモリ キャッシュを個々の使用データ タイプに応じて微調整することができます。この演習では、多くの 3D テクスチャ オブジェクトやラスタ画像を使用しているため、次のステップでは割り当てるメモリ キャッシュの割合を増加させて、これらのデータ タイプの処理を向上させます。
- [カスタマイズ] メニューをクリックし、[ArcGlobe オプション] をクリックします。
- [キャッシュの表示] タブをクリックします。
- [高度な設定] ボタンをクリックします。
- メモリ割り当て値(MB 単位)とタイプを確認します。
- [OK] をクリックして [高度なメモリ キャッシュ設定] ダイアログ ボックスを閉じます。
- [OK] をクリックして[オプション] ダイアログ ボックスを閉じます。
フィーチャ データを追加する
各自のモデルで 3D オブジェクトを作成するには、ローカル データを London エリアに追加する必要があります。
- [データの追加] ボタンをクリックします。
- チュートリアル データが格納されている [Exercise 9] フォルダに移動します。
- [Geodatabase] フォルダを開き、Lincolns.gdb ジオデータベース ファイルをダブルクリックします。
- Ctrl キーを押しながら、Building_Footprints、Street_Lights、および Vehicles のフィーチャクラスをクリックします。
- [追加] をクリックします。
- [距離に応じて表示を制御] をクリックして、距離表示範囲を適用します。
- [より拡大時に表示] テキスト ボックスに「3」と入力し、[より縮小時に表示] はデフォルト値の「0」のままにします。
- [完了] をクリックします。
- Street_Lights レイヤの [データの追加ウィザード] が表示されたら、[3D ベクタとしてフィーチャを表示] をクリックします。
- [次へ] をクリックします。
- [距離に応じて表示を制御] をクリックして、距離表示範囲を適用します。距離範囲のテキスト ボックスに「1」と「0」を入力します。
- [次へ] をクリックします。
- このレイヤを実世界の単位で表示する代表的な縮尺を選択します。
- [完了] をクリックします。
- Vehicles レイヤで、ステップ 9 ~ 14 を繰り返します。
- [ブックマーク] → [Bird View] の順にクリックします。
建物を立ち上げる
立ち上げというプロセスを使用すると、二次元データ ソースのフィーチャを三次元の表示に投影できます。たとえば、2D 建物のフットプリントは、その建物の 3D ブロック表現に立ち上げることができます。この演習では、フロア数とフロア当たりの平均の高さで決まる高さの値で建物ポリゴンを立ち上げ、リアルな 3D 建物のシェープを作成します。
- コンテンツ ウィンドウで、Building_Footprints レイヤを右クリックして [プロパティ] をクリックします。
- [グローブの立ち上げ] タブをクリックします。
- [レイヤのフィーチャを立ち上げます] をオンにします。
- [計算] ボタンをクリックして、[式の設定] ダイアログ ボックスを開きます。
- 属性 [NUM_FLOORS] をクリックして、[式] テキスト ボックスに入力します。
- 各フロアの高さを 4 メートルと仮定すると、それぞれの建物の高さはフロア数に 4 を掛けて計算することができます。
- [OK] をクリックします。
- [OK] をクリックして [レイヤ プロパティ] ダイアログ ボックスを閉じます。
フィーチャをシンボル表示する
- コンテンツ ウィンドウで、Street_Lights レイヤを右クリックして [プロパティ] をクリックします。
- [シンボル] タブをクリックします。
- [カテゴリ] をクリックします。
- [値フィールド] ドロップダウン リストから [MODEL] を選択します。
- [すべての値を追加] をクリックします。
- stlght13 のシンボルをダブルクリックします。
- [シンボル選択] ダイアログ ボックスで [参照スタイル] をクリックします。
- [参照スタイル] ダイアログ ボックスで、[3D Buildings]、[3D Street Furniture]、[3D Vehicles] をオンにして、[OK] をクリックします。
- [シンボル選択] ダイアログ ボックスで、[検索] コンボ ボックス内をクリックして、「street light」と入力して、Enter キーを押します。
- [Street Light 13] シンボルをクリックします。
- [サイズ] テキスト ボックスに「8」と入力します。
- [OK] をクリックします。
- stlght7 のシンボルをダブルクリックします。
- ステップ 9 ~ 12 を繰り返します。ただし、サイズとしては「5」を入力し、街灯シンボルとしては [Street Light 7] など別の街灯シンボルを割り当てます。
- [レイヤ プロパティ] ダイアログ ボックスで [高度な設定] をクリックし、[回転] をクリックします。
- [次のフィールド値の角度で点を回転] ドロップダウン リストをクリックし、[ANGLE] をクリックします。
- [OK] をクリックします。
- [レイヤ プロパティ] ダイアログ ボックスで [OK] をクリックします。
- コンテンツ ウィンドウで、Trees レイヤをダブルクリックします。
- [レイヤ プロパティ] ダイアログ ボックスで [高度な設定] をクリックし、[回転] をクリックします。
- [次のフィールド値の角度で点を回転] ドロップダウン リストをクリックし、[<ランダム>] をクリックします。
- [OK] をクリックします。
- [レイヤ プロパティ] ダイアログ ボックスで [高度な設定] をクリックし、[サイズ] をクリックします。
- [次のフィールド値をポイントのサイズに適用] ドロップダウン リストをクリックし、[<ランダム>] をクリックします。
- [最小値] ボックスに「6」、[最大値] ボックスに「15」と入力します。
- [OK] をクリックします。
- 設定が完了したら、[OK] をクリックして、[レイヤ プロパティ] ダイアログ ボックスを閉じます。
シンボルのスタイルを一致させる
スタイルのシンボルには名前があります。これらの名前に一致する値がフィーチャにある場合は、名前が一致する各フィーチャに特定のシンボルを自動的に関連付けることができます。フィーチャで異なる名前セットを使用する場合は、スタイルの名前を編集して一致させることができます。
- コンテンツ ウィンドウで、ラスタ データセットを右クリックして [属性テーブルを開く] をクリックします。
- [テーブル] ウィンドウを閉じます。
- Vehicles レイヤをダブルクリックし、[レイヤ プロパティ] ダイアログ ボックスを開きます。
- [シンボル] タブをクリックします。
- [カテゴリ] で [スタイルのシンボルに一致] をクリックします。
- [フィールド値] ドロップダウン リストから [MODEL] を選択します。
- [スタイルのシンボルに一致] ドロップダウン リストで [3D Vehicles.style] を選択します。
- [シンボルに一致] をクリックします。
- [高度な設定] をクリックし、[回転] をクリックします。
- [次のフィールド値の角度で点を回転] ドロップダウン リストで [ANGLE] をクリックします。
- [OK] をクリックします。
- [OK] をクリックして [レイヤ プロパティ] ダイアログ ボックスを閉じます。
グラフィックス ツールを使用する
GIS フィーチャの中で表示されていないものを表示する必要がある場合は、グラフィックスを ArcGlobe に追加して、フィーチャに使用するのと同じくらいのリアリティのあるシンボルでそれらを表示することができます。3D グラフィックスをデジタイズすると、対象ポイント、境界線や道路の輪郭を描くライン、空きエリアを塗りつぶすポリゴン、場所の名前または説明のテキストを表示できます。そのためには、[グローブ 3D グラフィックス] ツールバーを追加する必要があります。
- [カスタマイズ] → [ツールバー] → [グローブ 3D グラフィックス] の順にクリックします。
- ツールバーを他のツールバーとドッキングする場合は、その場所までドラッグします。
ツールバーを右クリックするか、ツールバーが表示されている灰色の部分を右クリックすると、ツールバーのリストが表示され、ツールバーを追加または削除できます。現在表示されているツールバーには、チェックマークが付いています。
グラフィックス レイヤを作成する
グラフィックス レイヤに名前を付けて保存し、グラフィックスの表示を制御できます。グラフィックス レイヤは、ArcGlobe のコンテンツ ウィンドウに表示され、他のレイヤと同様に、表示/非表示を切り替えることができます。
- [ブックマーク] → [City Hall] の順にクリックします。
- [グローブ 3D グラフィックス] ツールバーで、[グラフィックス] をクリックし、[新規グラフィックス レイヤ] をクリックします。
- [新規グラフィックス レイヤ] をダブルクリックして、[レイヤ プロパティ] ダイアログ ボックスを開きます。
- [レイヤ名] テキスト ボックスに「My Buildings」と入力します。
- [距離に応じて表示を制御] をオンにします。
- [より拡大時に表示] テキスト ボックスに「3」と入力します。
- [OK] をクリックします。
ターゲット レイヤを設定し、3D ポイント グラフィックをデジタイズする
- [3D グラフィックス] ツールバーの [グラフィックス] メニューで、[アクティブなグラフィックス レイヤ ターゲット] をポイントして、My Buildings レイヤが選択されていることを確認します。
- [グラフィックス] ドロップダウン メニューをクリックして、[デフォルト エレメント プロパティ] をクリックします。
- [マーカー] ボタンをクリックします。
- [効果] タブをクリックします。
- [固定スクリーン サイズ] をオフにします。
- [OK] をクリックします。
- [OK] をクリックして [デフォルト エレメント プロパティ] ダイアログ ボックスを閉じます。
- [グローブ 3D グラフィックス] ツールバーの [新規マーカー] ツールをクリックします。
- 次の図でハイライト表示されているところにポイントを追加します。
- [グラフィックスの選択] ツールをクリックします。
- ポイントを右クリックし、[プロパティ] をクリックします。
- [シンボル] タブで、[シンボルの変更] をクリックします。
- [シンボル選択] ダイアログ ボックスで、[検索] コンボ ボックス内をクリックして、「city hall」と入力して、Enter キーを押します。
- [City Hall 1] シンボルをクリックし、[角度] ボックスに「25」と入力します。
- [シンボルの編集] をクリックします。
- [シンボル プロパティ エディタ] で、[3D マーカー] タブが選択されていることを確認します。
- [縦横比を維持] をオフにすると、3D シンボルの寸法を自由に調整できます。
- [ディメンション] の [高さ(Y)] テキスト ボックスに「70」と入力します。
- [3D 配置] タブをクリックします。
- [オフセット] の [X] に「3」、[Y] に「-5」と入力します。
- [OK] をクリックします。
- [OK] をクリックして[シンボル選択] ダイアログ ボックスを閉じます。
- [OK] をクリックして [プロパティ] ダイアログ ボックスを閉じます。
- 市庁舎以外の部分をクリックし、表示をナビゲートして結果を確認します。
テキスト グラフィックスをデジタイズする
前のセクションでは、市庁舎シンボルをシーンに追加しましたが、このビューにアノテーション テキストを追加するとさらに便利になります。テキスト グラフィックスのエレメントを使用すると、2D または 3D のテキストをデジタイズしてシーンに表示できます。
- [ブックマーク] → [City Hall] の順にクリックします。
- [3D グラフィックス] ツールバーの [グラフィックス] メニューをクリックし、[デフォルト エレメント プロパティ] をクリックします。
- [テキスト] ボタンをクリックします。
- [テキスト] タブをクリックします。
- [シンボルの変更] ボタンをクリックして、[シンボル選択] ダイアログ ボックスを開きます。
- [色] ドロップダウン矢印をクリックして、スタイル パレットから [Solar Yellow] を選択します。
- [OK] をクリックして[シンボル選択] ダイアログ ボックスを閉じます。
- [デフォルト テキスト エレメント プロパティ] ダイアログ ボックスで、[効果] タブをクリックします。
- [サーフェスに固定] をオフにします。
- [OK] をクリックして [デフォルト エレメント プロパティ] ダイアログ ボックスを閉じます。
- [OK] をクリックして [デフォルト エレメント プロパティ] ダイアログ ボックスを閉じます。
- [3D グラフィックス] ツールバーの [新規テキスト] ツールをクリックします。
- 市庁舎グラフィックの屋根をクリックします。
- テキスト ボックスに「City Hall」と入力し、Enter キーを押します。
- テキスト エレメントを選択解除し、画面の周囲を移動します。
3D グラフィックス レイヤを追加し変更する
- [データの追加] ボタンをクリックします。
- Exercise9\GeoDatabase フォルダを参照します。
- Street Objects レイヤをダブルクリックし、ArcGlobe に追加します。
- [ブックマーク] → [Street View] の順にクリックします。
- [グローブ 3D グラフィックス] ツールバーの [グラフィックス] メニューで、[アクティブなグラフィックス レイヤ ターゲット] をポイントして、[Street Objects] レイヤをクリックします。
- [グラフィックス] ドロップダウン メニューをクリックして、[デフォルト エレメント プロパティ] をクリックします。
- [マーカー] ボタンをクリックします。
- [シンボル] タブで、[シンボルの変更] をクリックします。
- [シンボル選択] ダイアログ ボックスで、[検索] コンボ ボックス内をクリックして、「traffic cone」と入力して、Enter キーを押します。
- [Traffic Cone 1] シンボルをクリックします。
- [OK] をクリックします。
- [OK] をクリックして [デフォルト マーカー エレメント プロパティ] ダイアログ ボックスを閉じます。
- [OK] をクリックして [デフォルト エレメント プロパティ] ダイアログ ボックスを閉じます。
- [3D グラフィックス] ツールバーの [新規マーカー] ツールをクリックします。
- 図に示したように、手前から 3 台の自動車の前をそれぞれクリックして、マーカーを 3 つ追加します。
- コンテンツ ウィンドウで [Street Objects] レイヤを右クリックし、[レイヤ ファイルとして保存] をクリックします。
- Exercise9\GeoDatabase に移動して Street Objects レイヤ ファイルを選択し、[保存] をクリックします。
最終的な表示
これで、ロンドン市内の小さなエリアでリアリティのある 3D 表示を作成することができました。多くのナビゲーション ツールのいずれかを使ってシーン内を移動、パン、拡大/縮小することができます。フライ ツールを使って、都市モデルの上空を飛行することもできます。
最終的な表示のメモリ キャッシュを調整する
- [カスタマイズ] メニューをクリックし、[ArcGlobe オプション] をクリックします。
- [キャッシュの表示] タブをクリックします。
- [高度な設定] ボタンをクリックします。
- [現在の使用量を調整] ボタンをクリックします。
この演習では、2D フィーチャ データセットをリアリティのある 3D データ モデルに変換する方法について説明しました。この演習では、レイヤ属性に応じたスタイルのシンボル ライブラリへのアクセス方法についても説明しました。いくつかのシンボル プロパティ オプションを使用して、自分だけのシーンをすぐに作成することができます。
[3D グラフィックス] ツールバーには、新規 3D グラフィックス レイヤやフィーチャを作成、編集するのに必要な多くのツールが用意されています。3D グラフィックス ツールやシンボル オプションを使用して ArcGlobe でさらに 3D シーンに対してリアリズムを追求することができます。