5.
Scene Viewer<\/A> <\/P>
<\/P>
<\/P>
画像からの建物フットプリントの半自動抽出<\/SPAN><\/P> <\/SPAN>
<\/SPAN><\/P>添付ファイルは ArcGIS Pro 1.3 用の Extract Buildings From Imagery ツールです。 このツールには 3D Analyst と Spatial Analyst が必要です。 Segment Mean Shift ツールでセグメント化されベクターに変換された画像を使用します。 次にベクターを選択し、ツールを実行します。 このツールはモデルを使用して、生のラスター ベクターから補正された建物に変換し、feature class に追加します。 以下はセグメンテーション ベクターを選択し、その後ツールを実行して建物フットプリントを取得する例です。 複数の建物を選択してからツールを実行することをお勧めします。 ツールは下部に ExtractBuildingsFromImageryPro1_3v4.zip として添付されています。 データの解凍後、出力.gdb 内の building featureclass の投影法を画像の投影法に合わせて定義投影 (define projection) を必ず使用してください。<\/P><\/P><\/P>パスが正しく通らない問題がありました。 現在は workspace が in_memory に定義されているため修正されたと思います。パスが見つからないエラーが出た場合は、モデルを開き、モデル内の C:\Users\student\Documents\ArcGIS\Projects\ImageryExtraction\ImageryExtraction.gdb\seg<\/SPAN> のパスを in_memory\seg に変更してください。 モデル内のすべての一時ファイルについてこれを行う必要があります。 このエラーをご報告いただいた方々に感謝します。<\/P><\/P>
<\/P>私のブログからツールをダウンロードしてください。<\/LI>ツールの解凍を行ってください。<\/LI>建物抽出したい地域の高解像度画像(6インチが最適)を用意してください。<\/LI>ArcGIS Pro (1.3以上) を開き、マップを表示します。<\/LI>マップに画像を追加します。<\/LI>挿入タブで「Add Toolbox」を使い、ExtractBuildingsFromImageryPro1_3.tbx ツールボックスを追加します。<\/LI>Imagery Segmentation to Vector ツールを画像に対して実行します。時間がかかります(349mg ファイルで約5分)。4バンドの場合は Band Indexes に「4 2 1」と入力してください。
<\/LI>出力のシンボルを赤に変更し、segment mean shift イメージの上に重ねます。こう見えるはずです:
<\/LI>
初回のみ、Define Projection を実行し、building featureclass の投影法を画像と一致させます。Segmentation Vectors to feature ツールを開き、パラメーター設定後に実行します。
結果を確認してください:
< / P >< P style = "text-align:center ;">Regularize Building Footprint Tool - lidar または画像から抽出された生データのフィーチャーをクリーンアップします。
< P >< / P >< P >Raw Lidar および Raster 抽出建物はクリーンアップが必要であり、Regularize Building Footprint tool は良い仕事をしますが、このツールのパラメーターに何を入力すべきか理解するのは難しいです。 — フットプリントツール。 <\/SPAN><\/P><\/P>
両方の操作を実行する時間(警告:このツールはシステムのほとんどの計算能力を使用します):<\/SPAN><\/P><\/P>Intel Core i7 - 4600 CPU @ 2.10 GHz 2.70 GHz U、8GBメモリ(64bit)搭載 - 10,000フィーチャーで25分<\/SPAN><\/P>Intel Xeon CPU E5 -1620 0 @ 3.60GHz 3.60GHz、32GBメモリ(64bit)搭載 - 10,000フィーチャーで8分<\/SPAN><\/P><\/P>下の白色は元の生のlidar抽出建物で、Aqua GreenはCircleBuildings抽出です。  赤はBuildings出力です。  CircleBuildingsの下にある建物は削除する必要があります。<\/SPAN><\/P>
<\/P>
<\/P>1. このツールを使用するには、最初にmultipartをオフにしてフィーチャーにDissolveを実行してください。<\/SPAN><\/P>
<\/P><\/P>2. 添付ファイル Clean Extracted Buildings Using Regularize Building Footprint Tool.zip をダウンロードして解凍してください。<\/P>まず「1. Regularize Building Footprints For Circle (Feet Projection)」ツールを実行します。 <\/P><\/P>3. 次に「2. Regularize Building Footprints All Non-Circle (Feet Projection)」を実行します。<\/P><\/P>4. 最初にCircleBuildingsの出力を確認してください。数は多くないはずで、それらが実際に円形かどうかを確認する必要があります。<\/P>もし違う場合は削除してください。これはタンク、円形建物、ガゼボなどを収集するはずです。  建物が完全な円形でなく、六角形やそれに似た形状の場合は、編集時の一般化ボタンを使い、辺を六角形や八角形のようにまっすぐにするために、値を1、2または3に設定してみてください。  近くにあることが多いので追加の円形構造も追加してください。完了したら保存してください。<\/P><\/P>5. Buildingsフィーチャークラスを追加し、その重心がCircleBuildings内にあるものを位置で選択し、削除してください。<\/P><\/P>6. 建物を確認してください。一般的な抽出問題がある場合は、建物の種類を確認してください。  「2.<\/P>Regularize Building Footprints All Non-Circle (Feet Projection)」ツールに入り、その設定をRegularize Building Footprint toolヘルプを使って調整してください。<\/P><\/P>サンプルデータと手動でレビューされる前の出力が含まれています。 特徴に階段状のステップが見られます。これはツールが大・中規模建物タイプ(Typeフィールド参照)向けに右角度と斜め角度のみ処理するよう設定されているためです。BuildingsフィーチャークラスのTotalProcessフィールドには使用されたプロセスが表示されます。例:「Regularized, Simplified, Simplified, Simplified, Simplified」はRegularize Building Footprint toolで正規化され、その後2,4,6,8のSimplify Buildingsツールで簡略化されたことを意味します。<\/P>
\n* 大きな建物(25,000平方フィート以上)がない場合、Clean Extracted Buildings Using Regularize Building Footprint Toolが機能しない問題が見つかりました。この問題の修正方法を検討中です。<\/p>\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\nツールの動作内容をよりよく理解したい場合のための手動プロセス概要:<\/strong>
\n最初にデータから円形部分を抽出します。通常、この処理は一度に一つか二つの郡単位で実行します。
\n最初にCirclesツールを7回実行します - Regularize Building Footprint with Tolerance値2,4,5,6,8およびTolerance値12と以下の定義クエリ:<\/p> minor-fareast; mso-font-kerning: 12.0pt; language: ja-JP; mso-style-textfill-type: solid; mso-style-textfill-fill-color: white; mso-style-textfill-fill-alpha: 100.0%;">Tolerance 1.6 は、Shape_Area <= 220 AND Shape_Area > 175 の定義クエリを使用した raw vectors に適用されます。<\/SPAN><\/P>
Tolerance 1.8 は、Shape_Area <= 240 AND Shape_Area > 220 の定義クエリを使用した raw vectors に適用されます。<\/SPAN><\/P>Tolerance 2 は、Shape_Area <= 1400 AND Shape_Area > 240 の定義クエリを使用した raw vectors に適用されます。<\/SPAN><\/P>Tolerance 4 は、Shape_Area <= 2500 AND Shape_Area > 1400 の定義クエリを使用した raw vectors に適用されます。<\/SPAN><\/P>Tolerance 5 は、Shape_Area <=3000 AND Shape_Area >2500 の定義クエリを使用した raw vectors に適用されます。<\/SPAN><\/P>Tolerance 6 は、Shape_Area <=8000 AND Shape_Area >3000 の定義クエリを使用した raw vectors に適用されます。<\/SPAN><\/P>Tolerance 8 は、Shape_Area <=12000 AND Shape_Area >8000 の定義クエリを使用した raw vectors に適用されます。<\/SPAN><\/P>Tolerance 12 は、Shape_Area >12000 の定義クエリを使用した raw vectors に適用されます。<\/SPAN><\/P> <\/SPAN><\/P>出力を BuildingsCircle にマージし、その後 STATUS = 0の定義クエリを適用します。これにより、自動的に円が抽出されるはずです。<\/SPAN><\/P>円が正しいかどうか確認し、正しくないものは削除することをお勧めします。 <\/SPAN><\/P>マージされた円で編集を開始し、すべて選択して一般化ツールで入力値を0.1フィートに設定して実行してください。<\/SPAN><\/P>
<\/SPAN><\/P>これは完璧な円を頂点付きのものに変換し、それが Local Government Scenes の入力として使われます。<\/span><\/SPAN><\/P><\/P>Select by Location を使って円ではない raw extracted buildings を選択します。Create mulitpart features をオフにして Dissolve を実行します。 <\/span><\/P>
サイズ別に三つのグループに分け、以下の値で Regularize Building Footprint を実行します:<\/span>
・Small:" 固体; mso-style-textfill-fill-color: white; mso-style-textfill-fill-alpha: 100.0%;">Shape_Area"< 5000 平方フィート <\/SPAN><\/SPAN><\/P> Right_ANGELS 許容誤差2, <\/SPAN>Densification2, 精度 0.25
<\/P>
•Medium:"Shape_Area" >>=%5999%%%&&</span></p> pogoshikku'; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; language: ja-JP; mso-style-textfill-type: solid; mso-style-textfill-fill-color: white; mso-style-textfill-fill-alpha: 100.0%;">">= <\/SPAN><\/SPAN>25000 <\/SPAN>Right_ANGLES_AND_DIAGONAL<\/SPAN><\/SPAN>
Tolerance 4, Densification 4, <\/SPAN> Precision 0.25, Diagonal Penalty 1.5<\/SPAN><\/SPAN><\/P><\/P><\/P>
<\/SPAN><\/P><\/P>これらのグループを実行した後、結果をBuildingsNonCircleにマージし、フィーチャに対してdissolveを実行します。少なくとも20平方フィートのフィーチャに対してEliminate Polygon Partを実行し、含まれる部分のみを除去します。これはクリーンアップされたポリゴン内の内部の穴を取り除くためです。Simplify BuildingsをSimplification Tolerance 2で実行し、その結果を入力として再度Simplification Tolerance 4で実行します。<\/SPAN><\/P><\/P>
<\/SPAN><\/P>
<\/P><\/P>円形建物とBuildingsNonCirclesb4をマージして完成した建物を取得します。画像やlidarと比較して建物の誤りを確認し始めてください(誤りは常にあるようです)。<\/P><\/P>Lidarからの建物と樹木の抽出<\/SPAN><\/P><\/P>こちらはJoe McGlinchyとRoslyn Dunnによって開発されたLidarからの建物と樹木識別ツールです。現在進行中の作業で、ArcGIS Desktop 10.3.1でのみ動作します。建物のフットプリントと円形樹木を収集し、上記のRegularize Building Footprint Toolで処理できます。<\/P><\/P>私が開発したもう一つの樹木抽出ツールはLidarとNAIP画像を使用しており、
ArcGIS Proで屋根に色を付けることで、Local Government Scenesのシーンがよりリアルに見えます。一年以上前に、建物に16進カラーをフィールドとして追加するモデルを開発しました。Local Government Scenesプロセスでは、16進カラーのフィールドを使用してArcGIS Proのレイヤーで色付け表示が可能です。異なる時期の2つの画像ソースを使い、一方を屋根用、もう一方を側面色用(side colorという別フィールド)として使うことが多いです。側面色用として使うのが理想ですが、大量に建物に色付けする簡単な方法です。<\/P>
4. Add Hex Color From Imagery to Roofs 10.4またはArcGIS Pro Add Hex Color to Roofs(下記添付)を実行します。<\/P>
7. ProでApply Symbology from Layerを実行し、解凍したOldLocalGovernmentScenesLayerFilesディレクトリ内のLOD2BuildingShellsFloors_feet.lyrxまたはLOD2BuildingShells_meters.lyrxを使用します。 新しいLocal Government Scenesバージョンには建物屋根や側面の色がありませんが、将来変更される可能性があります。<\/P>
以下は色付けされた建物があるセントルイスの3Dです。 アーチだけが描画された特徴です。 すべての建物色は上記プロセスで画像から適用されました。 樹木はTrees From LIDAR (こちら)で抽出されました。 建物はSegment Mean Shiftツールで再分類されたDEMから切り出したフットプリント上でセグメント化され、多角形に変換されました。 これにより3D建物は異なる部分ごとに複数高さになります。 Add Hex Color From Imagery to Roofsは異なる屋根部分ごとの個別多角形で実行されました。<\/P>
"#" + hex(int(((int(!HexColor![1:3],16))-random.randrange(30)+20)*-1))[-2:] + hex(int(((int(!HexColor![3:5],16))-random.randrange(30))*-1)+20)[-2:]+ hex(int(((int(!HexColor![5:7],16))-random.randrange(30))*-1)+20)[-2:]<\/P>
もう一つの方法は、建物の実際の側面の色を使うことです。これを行うには、まずウェブブラウザで対象地域の家の画像検索を開始します。次に画像をキャプチャし、ArcMapでそれらを並べてジオリファレンスし、モザイク処理します。モザイク画像に対してSegment Mean Shiftを実行し、色を取得したいエリアに偽の建物を配置するためのフィーチャクラスを作成します。その建物に対してAdd_Hex_Color_From_RGB_Imagery_to_Roofs_10.4ツールを実行し、テーブルにエクスポートします。テーブル内のレコード数を確認し、建物にjoinというフィールドを追加してテーブル内のレコード数と同じ範囲のランダムな数値で計算します(コードブロック内でimport randomし、random.randint(1,100)を使用、100はレコード数)。その後、objectidとjoinフィールドを使ってテーブルと結合し、side colorというフィールドを建物に追加して計算します。このフィールドを建物側面のシンボロジーの入力として使用します。以下はFort Bend, TXでの例で、lidarから建物フットプリントを抽出し、Local Government Scenesで処理し、画像から屋根の色と側面の色をランダムに適用したものです。<\/P>
セントルイス, MO のBellefontaine CemeteryからTree Inventoryデータを受け取りました。同様の学名属名との結合(join)も使用しました。 ミズーリ植物園が彼らの木々を3Dでレンダリングするために行ったこと。 Esriは約60属の樹木の3Dレンダリングをサポートしています。 それから、私はlidarを使ってDBH(胸高直径)を樹高に変換する簡単な式を得ました。 正確ではありませんが、木々をかなりうまくレンダリングしました。 DBHと樹高を結びつけるためにさらに調査するかもしれない非常に複雑な式もあります。これにより、多くの樹木目録が簡単に3D化できるかもしれません。 類似の属を計算するための表は以下にあり、他のダウンロードファイル MissouriBotanicalGardenSubstitutesForTreeGenus.txt と共に提供されています。<\/P>