演習 8: テレイン データセットの作成と使用
テレイン データセットとは、ジオデータベース内の 1 つまたは複数のフィーチャクラスに格納された計測値から生成される複数解像度の TIN ベースのサーフェスです。
この演習では、ジオプロセシング ツールを使用してサーフェス データをジオデータベースに読み込み、それらのデータからテレイン データセットを作成して ArcMap と ArcGlobe で使用します。
サーフェス フィーチャ データをジオデータベースに読み込む
このシナリオでは、LIDAR ポイントと写真測量ブレークラインが 2 つの別々の ASCII テキスト ファイルに保存されています。このデータを使用してテレイン データセットが構築されます。そのためには、フィーチャ データセットにあるフィーチャクラスにデータをインポートします。テレインは、ソース データと同じ場所に生成されます。
ファイル ジオデータベースには、フィーチャ データセットがすでに用意されています。このデータセットには 2 つのポリゴン フィーチャクラスが含まれています。1 つは湖を表すもので、もう 1 つは調査区域の範囲を示すものです。最初のステップで 2 つの ASCII ファイルをフィーチャクラスとしてフィーチャ データセットにインポートします。フィーチャクラスの 1 つは写真測量ブレークラインを区別するもので、もう 1 つには LIDAR ポイントが収められています。
- [スタート] → [すべてのプログラム] → [ArcGIS] → [ArcCatalog 10] の順にクリックして、ArcCatalog を起動します。
-
[カスタマイズ] → [エクステンション] の順にクリックします。
[エクステンション] ダイアログ ボックスが開きます。
- カタログ ツリーで、Exercise8 フォルダに移動し、terrain.gdb をダブルクリックして、ジオデータベースを開きます。
- topography フィーチャ データセットをダブルクリックします。
- カタログ ツリーで、[Toolboxes] → [System Toolboxes] → [3D Analyst ツール] の順に展開して、3D Analyst ツールボックスに移動します。
- [変換] ツールセットを展開し、[ファイルから変換] ツールを展開して、[ASCII 3D → フィーチャクラス(ASCII 3D to Feature Class)] ツールをダブルクリックします。
- [ASCII 3D → フィーチャクラス (ASCII 3D to Feature Class)] ツールで、[参照] ドロップダウン リストが [ファイル] に設定されていることを確認します。
- [入力] フィールドの横にある [参照] ボタンをクリックして、Exercise 8 フォルダに移動し、入力ファイルとして masspoints.xyz を選択します。
- [入力ファイル フォーマット] が [XYZ] であることを確認します。
- [出力フィーチャクラス] の [参照] ボタンをクリックして、topography フィーチャ データセットを参照します。
- [出力フィーチャクラス タイプ] が設定されていない場合は、[MULTIPOINT] に設定します。
- [平均ポイント間隔] の値として「10」を入力します。
- すべてのデフォルト値を確定し、[OK] をクリックして、ジオプロセシング ツールを実行します。
- [ASCII 3D → フィーチャクラス (ASCII 3D to Feature Class)] をダブルクリックして、ジオプロセシング ツールを開きます。
- [参照] ドロップダウン リストが [ファイル] に設定されていることを確認します。
- [参照] ボタンをクリックし、入力ファイルとして breaklines.lin を選択します。
- [入力ファイル フォーマット] を [GENERATE] に設定します。
- [出力フィーチャクラス] の [参照] ボタンをクリックして、topography フィーチャ データセットを参照します。出力フィーチャクラスとして、「topo_break_lines」と入力します。
- [出力フィーチャクラス タイプ] を [POLYLINE] に設定します。
- [OK] をクリックして、ジオプロセシング ツールを実行します。
- カタログ ツリーで、[topo_break_lines] フィーチャクラスをクリックして選択します。
- [プレビュー] タブをクリックして、ブレークライン データを表示します。
- [プレビュー] が [ジオグラフィ] に設定されていることを確認します。プレビュー画面は、上記の画像に表示されたブレークライン データに似たものになっているはずです。
次に、ASCII ポイントを XYZ 形式のシンプル テキスト ファイルからマルチポイント フィーチャクラスに変換します。これらのポイントはサーフェス ジオメトリを定義するだけであり、属性には X、Y、Z 値だけを含みます。マルチポイント フィーチャクラスは、1 本のラインにつきポイントが 1 つあり、座標値はスペースで区切られます。これらのポイントに関連付けられている属性はないため、各ポイントにデータベース行を割り当てることは非効率です。ここでは、ポイントを結合してマルチポイントにします。マルチポイントには、1 つのシェープまたは行別に複数のポイントを格納できるため、格納用スペースが節約され、読み取り/書き込みのパフォーマンスが向上します。
これまでの手順で、テレイン データセットを作成するための標高点とブレークラインの読み込みが完了しました。LIDAR 標高点は XYZ フォーマット、写真測量ラインは 3D GENERATE フォーマットとなっています。いずれも単純な 3D データのための ASCII フォーマットで、同じ [ASCII 3D → フィーチャクラス(ASCII 3D to Feature Class)] ツールを使用して読み込むことができます。
- 大容量の LIDAR ポイントを処理する必要がある場合は、XYZ 形式の代わりに LAS 形式を使用することを検討してください。LAS は、LIDAR データ対応の業界標準の形式で、バイナリ形式であるため効率的です。さらに、データに関する詳細情報もファイルに保存されます。
- LAS 形式のファイルをインポートする別のツール([LAS → マルチポイント(LAS to Multipoint)])も用意されています。このツールは、[ASCII 3D → フィーチャクラス(ASCII 3D to Feature Class)] ツールと同じツールセットにあります。
フィーチャからテレインを作成する
次に ArcCatalog の [新規テレイン] ウィザードを使用してテレイン データセットを定義および作成します。
- ArcCatalog で、[topography] フィーチャ データセットを右クリックしてショートカット メニューから [新規作成] → [テレイン] の順に選択します。
- [新規テレイン] ダイアログ ボックスで、デフォルトのテレイン データセット名をそのまま使用します。
- [すべて選択] をクリックして、フィーチャ データセットにあるフィーチャクラスをすべてオンにします。
- [ポイント間隔] を「10」に設定します。
- [次へ] をクリックします。
- [高度な設定] ボタンをクリックして、列のリストを展開します。
- [topo_water_poly] フィーチャクラスの [SF タイプ] を [ブレークライン(ハード)] に設定します。
- [次へ] をクリックして、テレイン ピラミッド タイプを確定します。
標高点とブレークラインは、テレイン サーフェスの定義に使用される Z 値を持つため、これらの [標高値のソース] は [Shape] に設定され、Z 値はシェープ ジオメトリから取得されます。
topo_clip_poly フィーチャクラスには 2D ポリゴンが格納されています。このフィーチャクラスでは、サーフェスの水平範囲が定義されており、サーフェスの周長付近の不適切な内挿が最小限に抑えられています。
Z 値に使用されているデータの範囲より小さい場合は、クリップ ポリゴンが適しています。水域ポリゴンは 2D ジオメトリで表されますが、標高属性の SPOT を持ちます。各ポリゴンには固有の標高値を設定できますが、この標高値は一定です。湖は平地のため、水域ポリゴンが適しています。このデータでは、湖の境界内に湖の SPOT 値と矛盾する測定値がないため、境界線をブレークラインとして追加できます。ブレークラインとして追加しない場合は、その領域が平らになるように、置換ポリゴンとして追加することになります。
ブレークライン以外はすべて、テレインの概観図の表示に使用されます。概観図とは、データを間引いてテレインを表示したもので、ベクタベースのサムネイルに似ています。ブレークラインは概観図に使用するには精密すぎますが、その他のすべての情報は適切な表現の概観図を作成するために必要です。
テレイン データセットとしてピラミッドを定義する
テレイン ピラミッドは、複数解像度のサーフェスを作成するために使用されます。テレイン ピラミッドの概念はラスタ ピラミッドに似ていますが(縮尺が小さい場合は、表示パフォーマンスを上げるために粗いピラミッドを使用)、いくつか異なる点があります。最も重要なのは、これらがベクタをベースにした測定値で構成されており、表示だけでなく解析にも使用できる、という点です。
テレイン データセットの構築には、Z 許容値およびウィンドウ サイズという 2 つのタイプのピラミッドを使用することができます。
個々のピラミッド レベルの Z 許容値は、最高解像度データを基準とした、高さ方向の精度の近似値を表します。
ウィンドウ サイズ ピラミッド タイプは、データを等面積(ウィンドウ)に分割し、各エリアから 1 つか 2 つのポイントのみを見本として選択することにより、各ピラミッド レベルのポイントを間引きします。選択は、最小、最大、平均、または最小と最大両方の Z 値を基準として行います。
- ピラミッド タイプとして [Z 許容値] をクリックします。
- [次へ] をクリックして、テレイン ピラミッド レベルを定義します。
- [追加] を 4 回クリックします。これによってテーブルにデータが入力され、プロパティをカスタマイズできるようになります。
- 各列の値をクリックして、手動で [Z 許容値] と [最大縮尺] の値を設定し直します。次の画像に表示されているものと同じ値を使用します。
- [解像度範囲の設定] ボタンをクリックすると、[ピラミッド解像度範囲] ダイアログ ボックスが表示されます。
- [topo_break_lines] フィーチャクラスの [最大 Z 許容値] を「1」に設定します。
- [OK] をクリックして [ピラミッド解像度範囲] ダイアログ ボックスを閉じます。
- [次へ] をクリックしてサマリ パネルに進みます。
- [完了] をクリックします。
- テレインを構築するか確認するメッセージが表示されます。[はい] をクリックして、テレイン構築プロセスを開始します。
これらの設定では、最大解像度のデータは最大縮尺 1:2,500 のマップ表示で使用されます。1:2,500 と 1:10,000 の間の表示縮尺では、最大解像度のデータに対して高さ方向の許容値の近似値が 1.0 になるデータのみが使用されます。1:10,000 から 1:25,000 までの表示縮尺では、許容値 2.5 が使用されます。1:25,000 から 1:50,000 までの表示縮尺では、許容値 5 が使用されます。これより縮尺が小さい場合は、許容値 10 が使用されます。
テレイン ピラミッドの定義に使用する許容値と縮尺は、各用途の要件に基づいて指定する必要があります。1 つの方法は、等高線マップの要件に正確に合わせることです。一般に、等高線の誤差は等高線間隔の 2 分の 1 以内とすることとされています。たとえば、調査区域内の縮尺 1:24,000 のマップで等高線間隔が 5 フィートである場合には、高さ方向の精度の RMSE 誤差は 2.5 単位となります。ピラミッドの基準をテレインのマップに適した縮尺と等高線に合わせます。
ブレークラインの頂点をすべてのピラミッド レベルで使用する場合は、これらのレベルのサブセットのみ実際のラインが適用されるように制限することができます。たとえば、1:24,000 より小さい縮尺のテレインで道路の縁石を三角形のエッジとして描画する必要がない場合は、[ピラミッド範囲] ダイアログ ボックスで制限できます。
ArcMap でテレインを表示する
これでテレイン データセットが作成されたので、ArcMap にレイヤとして追加することでさらに詳細なビジュアライゼーションと解析を行うことができます。テレインは、コンテンツ ウィンドウで表示と非表示を切り替えることができます。また、[レイヤ プロパティ] ダイアログ ボックスで表示パラメータを制御することもできます。レイヤ プロパティの [シンボル] タブは、TIN レイヤと同じです。
- ArcCatalog で、[標準] ツールバーの [ArcMap の起動] ボタンをクリックして、ArcMap を起動します。
- [ArcMap - はじめに] ダイアログ ボックスで、[参照] をクリックして、デフォルトのジオデータベース パスを「D:\3DAnalyst\3D_Default.gdb」に設定します。
- [OK] をクリックして [はじめに] ダイアログ ボックスを閉じます。
- [カタログ] タブをクリックして、[カタログ] ウィンドウを開き、[Exercise8] フォルダにある [topography_Terrain] フォルダを見つけ、マップ ビューにドラッグして、マウス ボタンを放します。
- [拡大] をクリックします。
- [ツール] ツールバーの [全体表示] ボタンをクリックして、レイヤを全体表示します。
- レイヤをダブルクリックして [レイヤ プロパティ] ダイアログ ボックスを開き、[表示] タブをクリックします。
- ポイント数制限を「800000」から「125000」に変更し、[OK] をクリックして [レイヤ プロパティ] ダイアログ ボックスを閉じます。
- マップ表示で、拡大と縮小を行って、次に画面移動を行います。
ArcMap で対話型サーフェス解析ツールを使用する
ここでは 3D 対話型ツールを使用してサーフェス解析を行います。
- [カスタマイズ] → [エクステンション] の順にクリックして、ArcMap で 3D Analyst エクステンションが有効になっているか確認します。
- [3D Analyst] ツールバーが表示されていない場合は、[カスタマイズ] → [ツールバー] の順にクリックして、ツールバーを追加します。テレインがツールバーの [レイヤ] ボックスに表示されます。
- テレイン レイヤをダブルクリックして [レイヤ プロパティ] ダイアログ ボックスを開き、[解析] タブをクリックします。
- ドロップダウン メニューから 3D Analyst ツールの解像度閾値を「1.000000」に設定します。
- [OK] をクリックします。
- [拡大] をクリックして、表示縮尺が 1:10,000 を超えるまでテレインを拡大します。
- [見通し線作成] ボタンをクリックします。
- [観測点オフセット] を「5」に、[目標点オフセット] を「2」に設定します。
- テレインの左上にある山地の南側傾斜部分(観測点)をクリックし、右下にラインをドラッグして、目標点でマウス ボタンを放します。
- 右上隅の X 印をクリックして [見通し] ダイアログ ボックスを閉じ、DEL キーを押して、ビューからグラフィックスを削除します。
- [ラインの内挿] ボタンをクリックします。
- ビューの左中央にある最初のポイントをデジタイズし、ラインを右上隅にドラッグして、2 つめのポイントを作成し、さらに右下隅にドラッグします。ダブルクリックして、最後のポイントを作成し、デジタイズを停止します。
- [断面図グラフ] ボタンをクリックして、3D ラインをグラフ化します。
- 右上隅の X 印をクリックして [断面図グラフ タイトル] ダイアログ ボックスを閉じ、DEL キーを押して、ビューからグラフィックスを削除します。
一定の解像度以上に拡大するまでは、ツールバーのツールは無効になっています。デフォルトでは、テレインが最大解像度で表示されている場合にのみ有効になります。これらのツールは、テレインのピラミッドに設定した定義に基づいて、1:2,500 以上の縮尺で表示されます。
テレインの [レイヤ プロパティ] ダイアログ ボックスの [解析] タブで、より低い解像度でツールが有効になるように設定することができます。最大解像度より低い詳細レベルでツールが有効になるように設定すると、精度が低下しますが、これにより、対話型ツールは現在の表示解像度で常に動作します。これは、特定の解析要件で最大解像度のテレインをオーバーサンプリングする場合に便利です。
ジオプロセシング ツールを使用してテレインをラスタ化する
テレイン データセットは、範囲、セル サイズ、および高さ精度許容値に基づいてラスタ化することができます。Linear 内挿法と Natural Neighbor 内挿法から選択できます。Natural Neighbor 内挿法は一般に高品質の結果が得られますが、処理時間が長くなります。ラスタ化処理は、[テレイン → ラスタ(Terrain to Raster)] ジオプロセシング ツールを使用して実行します。
- [カタログ] ウィンドウで、[Toolboxes] を展開し、[System Toolboxes] をクリックして、[3D Analyst ツール] ツールボックスをクリックします。
- [変換] ツールセットに移動し、[テレインから変換] ツールを展開して、[テレイン → ラスタ (Terrain to Raster)] ジオプロセシング ツールをダブルクリックします。
- [入力テレイン] ドロップダウン リストで [topography_Terrain] を選択します。
- 他の箇所は、下記の画像に表示されている値を設定します。
- [OK] をクリックして、ジオプロセシング ツールを実行します。
- ジオプロセシング ツールの処理が完了したら、[全体表示] をクリックして結果を表示します。topography_Terrain レイヤを非表示にします。
ジオプロセシング ツールを使用して陰影起伏を作成する
作成されたラスタ サーフェスの形態を見るには、次の手順に従って陰影起伏画像を作成します。サーフェスの陰影起伏表現は、解析またはグラフィック表示、特に透過表示を行う上でビジュアライゼーションのレベルを非常に向上させることができます。
- [カタログ] ウィンドウで、[Toolboxes] を展開し、[System Toolboxes] をクリックして、[3D Analyst ツール] ツールボックスをクリックします。
- [ラスタ サーフェス] ツールセットに移動して、[陰影起伏 (Hillshade)] ツールをダブルクリックします。
- [入力ラスタ] ドロップダウン リストで [terrain_grd] を選択します。
- 他の箇所の値がすべて下記の画像と一致しているかどうかを確認します。
- [OK] をクリックしてツールを実行し、作成された陰影起伏レイヤを確認します。
テレインを ArcGlobe の標高レイヤとして使用する
テレイン データセットは ArcGlobe で、グローブ サーフェスの定義に情報を提供する標高またはドレープ レイヤとして使用することができます。
- ArcMap で、[3D Analyst] ツールバーの [ArcGlobe の起動] ボタンをクリックして、ArcGlobe を起動します。
- [ArcGlobe - はじめに] ダイアログ ボックスで、デフォルトのジオデータベース パスが「D:\3DAnalyst\3D_Default.gdb」に設定されていることを確認します。
- [OK] をクリックして [はじめに] ダイアログ ボックスを閉じます。
- ArcMap を閉じます。演習の残りではもう不要です。
- [カタログ] ウィンドウで、[Exercise8] フォルダにある [topography_Terrain] フォルダに移動し、ArcGlobe の 3D ビューにドラッグして、マウス ボタンを放します。
- [地理座標系に関する警告] メッセージ ボックスが表示されたら、[閉じる] をクリックします。
- [カタログ] ウィンドウで、[3D_Default.gdb] ジオデータベースをクリックします。
- カタログのツリー ビューの下に表示されるパネルで、Shift キーを押しながらジオデータベースの内容を選択します。HillSha_terr1 と terrain_grd が選択されます。
- 選択したレイヤを両方、ArcGlobe の 3D ビューにドラッグして、マウス ボタンを放します。
- terrain_grd の [データの追加ウィザード] ダイアログ ボックスが表示されます。[完了] をクリックして、ラスタ化されたテレインを画像ソースとして使用します。
- ダイアログ ボックスが表示され、ラスタ ピラミッドの作成を行うかどうかを聞いてきます。[はい] をクリックします。
- HillSha_terr1 の [データの追加ウィザード] ダイアログ ボックスが表示されます。[完了] をクリックして、陰影起伏ラスタを画像ソースとして使用します。
- [イメージ] レイヤをクリックして、新しいロケーションであることを示す黒いラインが陰影起伏の下に表示されるまで、ドラッグします。このラインが表示されたら、マウス ボタンを放します。
- ラスタ化されたテレインを右クリックし、[プロパティ] をクリックします。
- [シンボル] タブをクリックします。
- [表示] タブをクリックします。
- 透過表示の設定を 50% にします。
- [OK] をクリックして [レイヤ プロパティ] ダイアログ ボックスを閉じます。
- ラスタ化されたテレインを拡大して、ビュー内を移動します。
ArcGlobe の表示設定を最適化する
表示を高品質にする方法がいくつかあります。テレインの [レイヤ プロパティ] ダイアログ ボックスの [キャッシュ] タブに移動して、16 ビット圧縮のオプションをオフにします。これにより、拡大率を上げた場合にサーフェス ジオメトリが階段状に表示されます。
また、両方のドレープ レイヤで共一次内挿法のレンダリングを使用するように設定することもできます。この設定では、ピクチャが滑らかに描画されます。陰影起伏ラスタでは、ストレッチを使用しないようにしてください。このデータには、標準偏差を使用するデフォルト設定は適していません。
テレイン データセットから作成されたドレープ ラスタを表示するもう 1 つの方法として、テレインを直接ドレープ レイヤとして追加することもできます。
これを行うには、コンテンツ ウィンドウで [グローブ レイヤ] を右クリックし、[データの追加] → [ドレープ データを追加] の順にクリックして、テレインを選択します。
この演習では、テレイン データセットの概念について学習しました。ジオプロセシング ツールを使用して、LIDAR ポイントと写真測量ブレークラインを、フィーチャ データセット内のフィーチャクラスに読み込みました。フィーチャ データセット内のサーフェス データを利用して、ArcCatalog のテレイン ウィザードでテレイン データセットを作成しました。そして、ArcMap と ArcGlobe でテレイン サーフェスを解析しました。