写真測量データと 3D Buildings ソリューションへのアクセス
プレザントン市の不動産鑑定部門から、「Nearmap」からの航空画像プロダクトおよびプレザントン リッジの麓にある区画の建物フットプリントへのアクセス権が付与されました。 これらのデータをダウンロードしたら、3D Buildings ソリューションの一部である ArcGIS Pro プロジェクトに追加します。 同時に、これらのデータはこのコミュニティの 3D モデルを作成するための基盤を構築します。
Nearmap データとプロジェクト ファイルの取得
最初に、プレザントン市の Nearmap データをダウンロードして解凍します。 次に、3D モデルの構築に役立つ手順を備えた ArcGIS Pro プロジェクトをダウンロードします。
- 「Pleasanton」.zip ファイルをダウンロードして、その内容をコンピューター上の適切な場所に展開します。
次に、ArcGIS Online から 3D Buildings ソリューションの ArcGIS Pro プロジェクトをダウンロードします。
- 「ArcGIS Online 組織アカウント」にサイン インします。
注意:
組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください。
- [アプリ] ボタンをクリックして、[アプリ ランチャー] から、[Solutions] を選択します。
ソリューションのギャラリーが表示されます。
- [3D Buildings] ソリューションを検索して選択します。
- [今すぐ配置] をクリックします。
ソリューションに関連付けられたアイテムが ArcGIS Online の [コンテンツ] タブに自動的に配置されます。
- [3D Buildings] にポイントを合わせて、[開く] をクリックします。
[3D Buildings] アイテム ページが表示されます。
- [ソリューション コンテンツ] の下の [3DBuildings] をクリックします。
- [ダウンロード] ボタンをクリックします。
[3DBuildings] という名前の圧縮 (zip 形式) フォルダーが、コンピューターのデフォルトのダウンロード場所に自動的にダウンロードされます。
- [3DBuildings] .zip ファイルを解凍して、その内容をコンピューター上の適切な場所に展開します。
注意:
[3DBuildings] フォルダーへのファイル パスにスペースを含むファイルが含まれていないことを確認します。 含まれていると、ワークフローの後でエラーが発生します。
これで、都市の Nearmap データと必要な ArcGIS Pro プロジェクトを入手できました。
プロジェクトへの Nearmap データの追加
都市の必要なデータとソリューションの ArcGIS Pro プロジェクトを入手できたので、次は、都市のデータを 3D Buildings ソリューションのシーン、つまり 3D マップに追加します。
- [3dBuildings] フォルダーを開き、[3DBuildings] ArcGIS プロジェクト ファイルを開きます。
ArcGIS Pro が開き、世界の 3D シーンが表示されます。 Pleasanton データをこのシーンに追加します。
- リボンの [マップ] タブをクリックします。 [レイヤー] グループの [データの追加] をクリックします。
[データの追加] ウィンドウが開きます。
- [Pleasanton] フォルダーの展開先の場所を参照します。 [Pleasanton] フォルダーを開いて、[Pleasanton] ジオデータベースを開きます。
[AI_Buildings]、[DSM]、および [DTM] データセットをマップに追加します。
- Ctrl キーを押しながら、[AI_Buildings]、[DSM]、および [DTM] データセットを選択します。 [OK] をクリックします。
レイヤーがシーンに追加されます。
[AI_Buildings] ポリゴン レイヤーは、Nearmap の人工知能および機械学習アルゴリズムから取得した建物フットプリントを表します。
[DSM] ラスター レイヤーは数値表層モデルです。 このラスターの各ピクセルは、地形の標高とともに、建物、植生、塔、その他インフラストラクチャなどの地上フィーチャを表します。
[DTM] ラスター レイヤーは数値地形モデルです。 これは数値標高モデル (DEM) とも呼ばれ、各ピクセルは地表の標高を表します。 これには、樹木や建物といった地形上のフィーチャの標高は含まれません。
[DSM] および [DTM] ラスターの解像度は 12 インチです。 つまり、各ピクセルは 12 x 12 インチの地球上のエリアを表します。 ラスターを操作するときは、一般的に、同じ解像度のラスターを使用することをお勧めします。
注意:
Nearmap の登録者である場合に、独自のデータを使用するには、MapBrowser の「3D Export」ツールを使用して、対象地域の DSM と DTM を抽出します。 AI コンテンツは API およびオフライン デリバリーからアクセスできます。 Nearmap AI へのアクセス方法の詳細については、Access AI Content をお読みください。
次に、[AI_Buildings] レイヤーの名前を変更します。
- [コンテンツ] ウィンドウで、[AI_Buildings] レイヤーを選択します。
- F2 キーを押します。 「Building Footprints」と入力して、Enter キーを押します。
- [クイック アクセス ツールバー] で、[保存] をクリックします。
データがダウンロードされ、シーンに追加されたので、これで、建物の処理を開始する準備は完了です。
3D 建物の生成
ダウンロードした ArcGIS Pro プロジェクトには、データセットを取得して、それから 3D モデルを生成するプロセスの実行を支援する一連のタスクが含まれています。 3 つのレイヤーとこれらのタスクを使用して、プレザントン市の 3D 建物を作成します。 最初に、高さと正しい形状の屋根を建物に追加する場合に必要になる nDSM を作成します。
nDSM の作成
最初に、ラスター関数を使用して nDSM (正規化数値表層モデル) を作成します。 DTM が DSM から減算されると、nDSM が作成されます。 結果として生成される標高ラスターは、フィーチャの地表面の標高と、フィーチャの高さを表します。
- 必要に応じ、ArcGIS Pro で [3DBuildings] プロジェクトを開きます。
ラスター関数を使用して DSM から DTM を減算します。
- リボンの [画像] タブをクリックします。 [解析] グループで [ラスター関数] をクリックします。
[ラスター関数] ウィンドウが表示されます。
- [ラスター関数] ウィンドウで、[数学関数] を展開して [Minus] をクリックします。
[Minus] ツールは 1 つのラスター データセットを別のラスター データセットから減算します。
- [ラスター] を [DSM] に設定します。 [ラスター 2] を [DTM] に設定します。
この関数を実行する前に、関数の処理で必ず正しいピクセル出力タイプが使用されるようにします。 このパラメーターは、特定のラスター ファイルに格納できる値の範囲を決定します。 出力ラスターの小数点以下桁数が失われないように [32 ビット浮動小数点] を使用します。
- [一般] タブをクリックします。 [出力ピクセル タイプ] を [32 ビット浮動小数点] に設定します。
- [新しいレイヤーの作成] をクリックします。
ラスターがマップに追加されます。
デフォルト名を更新する必要があるため、次のステップで実行します。
- [Minus_DSM_DTM] レイヤーを [nDSM] に名前変更します。
次に、データを確認しやすくするためにレイヤーのシンボルを変更します。
- [コンテンツ] ウィンドウで、[nDSM] の下のシンボルを右クリックします。 ドロップダウン メニューで、[名前の表示] の横のボックスをオンにします。
- [高さ #1] シンボルを選択します。
このシンボルがよりはっきりと表示されるように、[ストレッチ タイプ] を変更します。 これは、マップ上にラスターの色を描画するときに使用されるヒストグラムを変更します。 [ヒストグラム平坦化] ストレッチ タイプを使用すると、シーン内の標高データをよりわかりやく表示できます。
- リボンの [ラスター レイヤー] タブをクリックします。 [レンダリング] グループで、[ストレッチ タイプ] ドロップダウン メニューをクリックし、[ヒストグラム平坦化] を選択します。
[nDSM] レイヤーが新しいストレッチ タイプで再レンダリングされ、ラスターに表示される詳細度が上がります。
[nDSM] が作成されたので、建物フットプリントの操作を開始する準備ができました。 次のセクションでは、[nDSM] を表示しませんが、これは、建物フットプリントを 3 次元で表示するときに重要です。
建物フットプリントの処理
建物フットプリントの操作を開始するには、提供されたタスク ステップを使用して、DSM ラスターをそれぞれの建物フットプリントにクリップします。 次に、標高を使用して、屋根をセグメント化します。 つまり、それぞれの建物フットプリントが、屋根の異なる部分が面している方向に基づいて分割されます。
- [カタログ] ウィンドウで [タスク] を展開し、[3D Buildings] をダブルクリックします。
[タスク] ウィンドウが表示されます。
3D Buildings ソリューションには多数のタスクが含まれていますが、この都市のプロジェクトとして、[Publish buildings] タスク グループに集中して取り組みます。
- [Publish buildings] を展開して、[Preprocess building footprints] をダブルクリックします。
最初のタスク ステップとして、[Split building footprints using features] が開きます。 このステップは使わないのでスキップします。
- [スキップ] をクリックします。
[Segment building footprints using elevation] タスク ステップを使用します。 このステップでは、もう一度、建物フットプリントを取得してから、それぞれの屋根の異なる部分に基づいてそれらのフットプリントに高さを追加し、フットプリントを分割します。
- [Building Footprints] で、[Building Footprints] を選択します。 [Elevation Surface (DSM)] で、[DSM] を選択します。
次に、ツールの [Spectral Detail] を設定します。 これは、DSM 内の高低差に付加される重要性レベルを示します。 たとえば、さまざまな高さの多数の屋根の側面がある高層の建物が建つ中心街で、低いスペクトル詳細度を使用すると、標高の変化が大きいセグメントのみが作成されることになります。 反対に、建物間の高低差が小さい低層住宅の場合、完全にセグメント化するにはスペクトル詳細度を上げる必要があります。 有効な値の範囲は 1.0 ~ 20.0 です。 デフォルト値は 13 です。
- [Spectral Detail] で、値が [13] であることを確認します。
注意:
このパラメーターと以降のパラメーターでは、適切な開始点としてデフォルト値を使用します。 自分のデータセットに応じて、目的の結果が得られるまで別の値を試してみることを検討してもよいでしょう。
次は、[Spatial Detail] を設定します。 これは、DSM 内のフィーチャの近接性に付加される重要性レベルを示します。 たとえば、より小さな側面が多数ある複雑な建物群を建築的にセグメント化するには、より高い空間的詳細度を使用します。 空調ユニットや駐車場の車などの表現が不要な変動を平坦化するには、より低い空間的詳細度を使用します。 有効な値の範囲は 1.0 ~ 20.0 です。 デフォルト値は 13 です。
- [Spatial Detail] で、値が [13] であることを確認します。
次は、[Minimum Segment Size] を設定します。 このパラメーターはセグメントの候補の最小サイズ (ピクセル単位) を制御します。 セグメントの候補が、設定された閾値よりも小さい場合、そのセグメントと周囲のセグメントがマージされます。
- [Minimum Segment Size] で、値が [555] であることを確認します。
次に、[Regularization Tolerance] を設定します。 これは、直角と対角線に合わせてジオメトリを正規化しようとする際にセグメントのポリゴンを調整できる最大距離を示します。 高解像度のサーフェスのラスターの場合、高解像度ピクセルの詳細度を維持しながら、サイズが固定されたすべてのピクセルを平坦化するには、正規化許容値をピクセルのサイズの 5 ~ 10 倍にすることをお勧めします。
- [Regularization Tolerance] で、最初のパラメーターに「2」を入力し、2 番目のパラメーターが [メートル] に設定されていることを確認します。
- [Output Segmented Buildings]で、「Footprints」と入力します。
注意:
ツールが実行されると、新しいデータセットの名前の末尾に _segmented が自動的に追加されます。
- [実行] をクリックします。
注意:
お使いのコンピューターのハードウェアによっては、このツールの実行に数分かかる場合があります。
フットプリントが処理されたので、これらのフットプリントを使用して 3D 構造物を作成できます。
- [完了] をクリックします。
3D 建物の作成
nDSM の作成と建物フットプリントのセグメント化が完了したので、これで、建物の 3D モデルを作成する準備ができました。 このプロセスを支援する別のタスクを使用します。
入力データに基づいて、詳細レベル 2 (LOD2) の建物を作成しましょう。 詳細レベルは 3D モデルの幾何学的な複雑さを示します。 詳細レベルは、低い詳細レベルの LOD0 から、最高詳細レベルの LOD3 まで 4 つに分類されます。
- LOD0 は高さやセグメント化の特性を含まない平坦なポリゴンを意味します。
- LOD1 は高さの特性を含む 3D ポリゴンを意味します。
- LOD2 は屋根形状を含む 3D ポリゴンを意味します。
- LOD3 は、屋根形状と、窓や扉といった構造物の外観に関する詳細を含む 3D ポリゴンを意味します。
1 つの詳細レベルが別のレベルより必ずしも優れているとは限りませんが、プロジェクトのニーズに適した詳細レベルを常に使用してみる必要があります。 たとえば、道路レベルの写実的な都市のビューを作成する場合は、LOD3 が必要なことがあります。 プレザントン市のニーズに対応して、建物の高さを評価し、屋根の特性を分類するには、LOD2 の建物が適切な詳細レベルです。
- [タスク] ウィンドウで [Create buildings] をダブルクリックします。
このタスクには、作成したか、以前に取得したデータセットをプルするステップが 1 つだけ含まれています。
- 次のパラメーターをツールに入力します。
- [Buildings] で、[Footprints_segmented] を選択します。
- [Elevation Surface] で、[DSM] を選択します。
- [Ground Elevation Surface] で、[DTM] を選択します。
- [Normalized Elevation Surface] で、[nDSM] を選択します。
- [Output Building Polygons] で、「BuildingsLOD2」と入力します。
注意:
ツールが実行されると、新しいデータセットの名前の末尾に _roofform が自動的に追加されます。
- [RoofForm] を展開します。
これらのツール パラメーターは、それぞれの建物が処理されるときに屋根を平坦と見なすか、傾斜と見なすかを制御します。 デフォルト値を使用します。
ツールのパラメーターを変更して、出力建物を調整する方法の詳細については、[ヘルプ] ボタンをクリックして、[Extract Roof Form] のドキュメントをご参照ください。
- [実行] をクリックします。
注意:
お使いのコンピューターのハードウェアによっては、このツールの実行に数分かかる場合があります。
- [タスク] ウィンドウで、[次のステップ] をクリックします。
タスクにおける次のステップが表示されます。
タスクにおける次のステップでは、作成したばかりの出力建物レイヤーに 3D シンボルを適用します。 タスク ステップの中にはツールの実行を伴うものや、手動操作を伴うものがあります。 今回のケースでは、タスクでリスト表示されたアクションを実行して 3D シンボルを建物レイヤーに付与します。
- [コンテンツ] ウィンドウで [BuildingsLOD2_roofform] レイヤーを右クリックして [シンボル] を選択します。
- [シンボル] ウィンドウで、既存のシンボルをクリックします。
- [プロパティ] タブをクリックし、[レイヤー] ボタンをクリックします。
- 現在のポリゴン塗りつぶしに隣接するドロップダウン メニューで [プロシージャル塗りつぶし] を選択します。
- [ルール] ボタンをクリックします。
- プロジェクト用フォルダーを参照し、[rule_packages] フォルダーをダブルクリックします。 [LOD2BuildingShells_Meters.rpk] ファイルをクリックして、[OK] をクリックします。
注意:
マップがメートル単位のため、メートル用のルール パッケージを選択しましょう。
これで、割り当てたルールがシンボルのプロパティに反映されました。
建物を見やすくするために、屋根と建物前面の色を変更しましょう。
- [表示オプション] の下の [FacadeColor] を薄い茶色に変更します。 [RoofColor] を薄い灰色に変更します。
- [シンボル] ウィンドウの下部にある [適用] をクリックします。
ヒント:
レイヤーのシンボルを更新するたびに [適用] ボタンをクリックせずに済むように、[シンボル] ウィンドウで [自動的に適用] を有効にします。
- [コンテンツ] ウィンドウで、[Buildings_LOD2] レイヤーの名前を「3D Buildings」に変更します。 [3D Buildings] レイヤーを [3D レイヤー] セクションにドラッグします。
- [2D レイヤー] の下のすべてのレイヤーをオフにします。
- リボンの [マップ] タブをクリックします。 [レイヤー] グループで、[ベースマップ] をクリックします。 [画像] を選択します。
- [マップ操作] ツールを使用して表示角度を傾け、建物を 3D 表示します。
3D 建物が作成されたので、次は、それらの属性を調べましょう。 この都市では、それぞれの建物の形状だけでなく、建物に関する情報を必要としています。
- [コンテンツ] ウィンドウで [3D Buildings] を右クリックし、[属性テーブル] を選択します。
[属性テーブル] が表示されます。 最初のいくつかの属性は、Nearmap から提供された元の [Building Footprints] レイヤーから取得されています。
- 属性テーブルの末尾までスクロールします。
LOD2 建物が作成されたときに、複数のフィールドが追加されました。 これらのフィールドに、この都市が必要とするすべてのデータが含まれています。
- [BLDGHEIGHT] (建物の高さ) は建物の最大の高さを示します。
- [EAVEHEIGHT] (軒高) は建物の最小の高さを示します。 軒高のない建物は平屋根を意味します。
- [ROOFFORM] (屋根形状) は屋根の形状を示します。 屋根形状には、平屋根、切妻屋根、寄棟屋根があります。
- [BASEELEV] (ベース標高) は建物の基準となる高さを示します。通常は、建物が配置されている地表面の標高に相当します。
- [ROOFDIR] (屋根方向) は屋根のコンパス方位 (度単位) を示します。 このフィールドに値を指定できるのは、屋根形状が切妻屋根の場合に限ります。
- [RoofDirAdjust] (調整された屋根の方向) は、屋根の方向の調整を可能にするフィールドです。 デフォルト値は 0 です。 値を 1 にすると、屋根が反時計回りに 90 度回転します。値を 2 にすると、180 度回転します。 このフィールドは、正しく抽出されなかった屋根形状の手動編集に使用されます。
- 属性テーブルを閉じます。
- [タスク] ウィンドウで、[完了] をクリックします。
これで、プレザントン市の建物の 3D 表現を正常に作成およびシンボル表示できました。
建物の合成
3D 建物が作成されましたが、それらは技術的には、3D シンボルを使用する 2D ポリゴン フィーチャクラスにすぎません。 このチュートリアルの最後の部分では、3D フィーチャクラスを作成します。 データを 2D から 3D へと変換するこのプロセスは合成と呼ばれます。
- [タスク] ウィンドウで [Fuse Buildings] をダブルクリックします。
このツールは、3D シンボルを使用する 2D ポリゴンを取得して、建物データを 3D で格納できるマルチパッチ フィーチャクラスに変換します。
- 次のパラメーターを設定します。
- [Building Layer] で、[3D Buildings] を選択します。
- [Unique ObjectID] で、[BuildingFID] を選択します。
- [Output Building Multipatch] で、「PleasantonBuildings」と入力します。
- [完了] をクリックします。
ツールが実行されます。
- [コンテンツ] ウィンドウで [3D Buildings] レイヤーをオフにします。
[PleasontonBuildings] レイヤーが [コンテンツ] ウィンドウに表示されます。 シーンには何の変化もないように見えますが、この新しい [PleasantonBuildings] レイヤーはプロジェクトのジオデータベース内にあるマルチパッチ レイヤーです。
- [カタログ] ウィンドウで、[データベース] を展開します。 [3DBuildings] ジオデータベースを展開します。
作成したすべてのデータセットがここに含まれます。
注意:
いずれかのデータセットがこのジオデータベースにない場合は、[3DBuildings] ジオデータベースを右クリックして [更新] を選択します。
[BuildingsLOD2_roofform] および [PleasantonBuildings] フィーチャクラスの横にあるアイコンに注目してください。 [BuildingsLOD2_roofform] のシンボルは 2D ポリゴン フィーチャクラスを表しているのに対して、[PleasantonBuildings] の横のシンボルは 3D マルチパッチを表しています。
- プロジェクトを保存します。
このチュートリアルでは、Nearmap から DSM、DTM、および建物フットプリントを取得した後、都市で都市計画と安全性のために使用するために、それらのデータを 3D モデルに変換しました。
他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。