QGISで衛星画像から配置図を作る方法:手作業とAI
公開日


衛星画像を配置図に変えるには、3つ必要です。位置情報付きの画像、見えているものを平面的な形にトレースする方法、そして正しい縮尺で結果を戻す方法です。QGISでは、1つ目と3つ目はソフトウェアに備わっていて、午後を消費するのはトレースです。
この投稿では、まず手作業の方法を説明し、次に同じ街区を、画像を描き直すモデルで29秒で処理し、モデルが間違えた点を説明します。ここにある画像はすべて、そのQGISセッションのスクリーンショットです。
対象は、ロンドンから北へ約55 km、最初の田園都市であるLetchworth Garden CityのBroadway Gardensです。586 × 439 mの街区で、噴水のある整形式の公園、旧市庁舎、図書館、駐車場付きのオフィスビル、そして2本の住宅街があります。手を抜いた方法の弱点を露呈させるには十分な多様性です。
配置図とは何か。なぜ衛星画像から始めるのか?
配置図とは、敷地とその周辺を上から見た縮尺付きの図面です。存在する建物、そこへ続く道路と小道、その間にある木々と芝生、そして計画段階の配置図なら、そこに建てたいものを示します。自治体の都市計画部門は、ほぼすべての申請でこれを求めます。建築家は、設計に触れる前に敷地を理解するため、ほぼすべてのプロジェクトの最初にこれを描きます。
衛星画像や航空写真が正直なベースになるのは、そこにすでにすべての答えが含まれているからです。建物のフットプリントがどこにあるか、道路の幅がどれくらいか、どの木が大木かが分かります。問題は、それらがピクセルとして含まれていることです。配置図には図形として必要です。以下で扱うのは、すべてこの変換です。
手作業の方法:自分でトレースする
- 敷地の縮尺で読み取れる画像。 Google SatelliteはQGISに最も簡単に読み込め、世界の大部分を15〜30 cmでカバーします。利用できる場所では各国の公開オルソ画像の方が優れています。米国のNAIP、フランスのIGN BD ORTHO、欧州の多くの地籍機関はWMSを公開しています。GeoTIFF、WMS、XYZタイルのベースマップのどれでも動作します。
- QGIS。Windows、macOS、Linuxで使用できます。バージョン3.22以降。
- QuickMapServicesプラグイン。Google Satelliteをワンクリックで読み込むために使います。「プラグイン」→「プラグインの管理とインストール」で「QuickMapServices」を検索します。
Photoshop、Illustrator、その他のGISは必要ありません。この投稿はCAD図面ではなく、画像だけを出発点にします。
まずこの方法を詳しく説明します。プラグインが不要であること、そして後でAIの結果を評価するために、この方法を知っておくことが重要だからです。
画像を読み込み、敷地を表示する
「Web」→「QuickMapServices」→「Google」→「Google Satellite」の順に選びます。敷地までズームします。この大きさの街区なら、私はおよそ1:2,000で表示します。1軒の住宅の敷地なら1:500です。画像はすでに位置情報付きなので、画面下部のスケールバーは、何もしなくても正しい値を示します。

クラスフィールド付きのポリゴンレイヤを1つ作成する
「レイヤ」→「レイヤを作成」→「新規GeoPackageレイヤ」の順に選びます。ジオメトリ型はポリゴン、CRSはプロジェクトと同じものにし、テキストフィールドclass_nameを追加します。クラスフィールド付きのレイヤを1つ使う方が4つのレイヤを使うより優れています。1か所でスタイルを設定でき、1つのファイルにエクスポートできるからです。
建物、道路、植生の順にトレースする
「編集モードを切り替え」、「ポリゴン地物を追加」の順に選択し、それぞれのフットプリントの周囲をクリックします。角ではマウスを安定させ、出窓のすべてを追いかけないでください。配置図は1:50ではなく1:500で読みます。次に道路を、車道ごとに1本の長いポリゴンとして描きます。植生は最後に、ゆるいかたまりとして描きます。芝生の端を確認する人はいないからです。
この街区を手作業でトレースする時間は計測していないので、数字は示しません。ただ、数百の建物があり、それぞれに複数回のクリックが必要だということは言えます。
フラットな塗りでクラスのスタイルを設定する
「レイヤプロパティ」→「シンボロジ」で、class_nameを「カテゴリ値による定義」にします。建物は細い黒の輪郭線付きの白、道路は中間のグレー、植生は淡い緑、水は淡い青にします。この4つの塗りが配置図の見せ方のすべてです。これ以上増やしたい誘惑には抵抗してください。
縮尺を指定してエクスポートする
「プロジェクト」→「新規印刷レイアウト」の順に選びます。地図を追加し、縮尺を1:500または1:1,000に設定し、スケールバーと方位記号を追加してPDFとしてエクスポートします。そのPDFを自治体の申請ポータルが受け付けます。
この方法なら、正しい配置図と、自分が所有するファイルが得られます。作業はトレースだけで、建物の数に比例して増えます。対象の街区がすでにオープンデータにある場合は、無料の建物フットプリントダウンローダーで建物のポリゴンをGeoJSONとして取得でき、トレースが必要なのは道路と植生だけになります。
速い方法:モデルに画像を描き直させる
生成モデルは、画像をその場でスタイル変更できます。同じ領域、同じ形のまま、写真のテクスチャをフラットな塗りに置き換えます。私たちはこのためのツール、AI Editを作っています。このセクションでは、私たちのツールを扱います。
画像上の範囲と、望む変更を説明する文を受け取り、元画像とピクセル単位で揃った、位置情報付きの新しいラスタレイヤとして結果を返します。配置図の場合、「変更」とはスタイルです。すべての図形を元の位置に残し、写真のテクスチャをフラットな塗りに置き換えます。
プラグインをインストールしてログインする
「プラグイン」→「プラグインの管理とインストール」で「AI Edit」を検索してインストールします。パネルを開き、「ログイン」をクリックします。ブラウザが開くので、アカウントを作成するとプラグインが接続します。始める前にパネルの全体像を確認したい場合は、完全ガイドに掲載しています。
範囲を描く
AI Editを起動をクリックし、地図上で対象範囲の角をクリックして、Returnを押して閉じます。私は街区全体、586 × 439 mを囲みました。これは大きめです。パネルは、およそ1平方キロメートルを超えるとAIが大まかな形だけを維持すると警告しますが、その通りです。

希望ではなく仕様としてプロンプトを書く
私が使ったプロンプトは、次のとおりです。
このオルソ画像を、整った建築の配置図に変換してください。真上から見た図で、塗りはべた塗り、写真のテクスチャと影はなし。クラスは次の4つだけで、それ以外は不要です。建物は細い黒の輪郭線付きの白いフットプリント、道路と駐車場は中間のグレー、植生は淡いセージグリーン、水は淡い青。すべてのフットプリント、縁石の線、道路の中心線は、正確な位置と形状のまま保持してください。地理的な範囲は入力と同じにしてください。
うまくいく理由は3つあります。クラスと色を指定しているため、モデルがパレットを勝手に作りません。「正確な位置と形状」と書いているため、配置図ときれいな画像の違いが生まれます。そして、してはいけないことも指定しています。影なし、テクスチャなしです。同じプロンプトはパネルの「ライブラリ」にあるClean architectural site planからも使えるので、入力したくなければ選択してください。

生成する
生成をクリックします。この街区では、出力の詳細度を3つの設定の中間である「詳細」にしたところ、結果は29秒で戻ってきました。新しいレイヤは2,392 × 1,792ピクセルのGeoTIFFで、1ピクセルあたり約25 cmです。ドキュメントフォルダに保存され、画像の上にプロジェクトへ追加されます。

この投稿の上部にあるスライダーで、もう一度配置図を見てください。すべてのフットプリントがあるべき場所にあります。公園沿いの並木道は、樹冠の列として読み取れます。駐車場には駐車区画の線があります。噴水の池は青い八角形で、これは正しい結果です。
手作業で修正した点と、信頼すべきでない点
同じ実行から得られた、この街区でAIが間違えた点を示します。都合のよい例だけを選んではいません。
- 八角形の建物が池になった。 噴水の南西にある銅屋根の円形の建物は緑の屋根ですが、配置図では淡い青の水として描かれました。数百あるフットプリントの中で唯一の本当の誤りです。まず画像を見ていたからこそ気づけた種類の誤りでもあります。
- 駐車区画の線が残った。 2つの駐車場に描かれた区画線は薄いグレーで表示されます。区画を示したいならそのまま使い、無地のグレーの駐車場が必要ならプロンプトで指定してください。
- ほとんどの樹冠が芝生の色に混ざった。 配置図で個々の木の位置が重要なら、木だけを対象にしたプロンプトで2回目の編集を実行するか、個々のオブジェクトのカウント向けに作られたAI Segmentationでプロンプト「tree」を使ってください。
境界測量や、30 cmの誤差が問題になる用途には、この方法を使いません。配置図の精度は画像と同じ精度であり、Google Satelliteは測量ではないからです。実現可能性調査、事前相談用の図面、ランドスケープのコンセプト、または明日の朝にクライアントとの打ち合わせがある場合には、まさに私が使う方法です。
覚えておくこと
建物が20棟程度までなら、手作業でトレースしてください。良いプロンプトを書き終える前に作業が終わり、敷地のすべての角を把握できます。それこそが、配置図を描く本当の意味です。
生成ルートの価値が出るのは、街区や地区、複数の敷地で繰り返し作業をするとき、そして図面の提出期限が9時に迫っている日です。
4つのクラスとその色を指定し、「正確な位置と形状」と書くプロンプトが、配置図ときれいな画像の違いを生みます。
出力は縮尺どおりの位置情報付き画像なので、そこから作った印刷レイアウトは、画像の精度内で寸法的に正確です。
この街区では、1つの緑の屋根が池になりました。配置図を見る前に画像を確認してください。このような誤りを見つける唯一の方法だからです。
よくある質問
配置図は正しい縮尺で戻ってきますか?
はい。結果は画像と同じ座標系のGeoTIFFなので、地図上に縮尺どおりに配置されます。そこから作る印刷レイアウトも、画像自体の精度内で寸法的に正確です。
自分のドローン画像や測量画像を使えますか?
はい。プラグインはパネルで選択したラスタレイヤなら何でも使えます。ドローン飛行で得たGeoTIFF、各国の地図作成機関のWMS、ベースマップのいずれでも構いません。入力が鮮明であるほど、配置図も鮮明になります。
どのQGISバージョンに対応していますか?
Windows、macOS、LinuxのQGIS 3.22以降とQGIS 4です。
Google Earthの画像をスクリーンショットして、その上からトレースできますか?
スクリーンショットには座標がないため、線を描く前にジオリファレンサで20分使うことになります。QGISに読み込んだ画像はすでに位置情報付きです。作図ツールではなく、ここから始める理由はそこにあります。
AIが作った配置図は、測量に使えるほど正確ですか?
配置図の精度は、その下にある画像と同じ精度です。そしてGoogle Satelliteは測量ではありません。実現可能性調査、事前相談用の図面、クライアントとの打ち合わせには適していますが、境界線には不適切です。
次のステップ
自分の敷地を読み込み、範囲を描き、上のプロンプトを貼り付けてください。配置図が正しければ、設計の土台ができます。間違っていても、30秒で敷地について何かを学べます。手作業の方法もまだ残っています。
最後に1つ。戻ってくる配置図は画像です。プレゼンテーションやクライアント向け資料用の画像が必要なだけなら、それで十分なので、ここで止められます。編集可能なポリゴンが必要なら、プラグインにはフラットな色をベクタ図形に変換するツールがあります。色ごとに1つのクラスになります。これは別の投稿で扱うテーマです。
トレースを始める前に、どのような敷地を見ているのかを把握しておくと役立ちます。グリーンフィールドとブラウンフィールドの違いのページでは、この投稿の出発点と同じ種類の航空写真で、それぞれがどう見えるかを説明しています。
QGIS内でAIにできることとできないことについては、QGIS AI hubで詳しく説明しています。
では、1つ目と3つ目はソフトウェアに備わっていて、午後を消費するのはトレースです。

