BlenderとBlenderGISを使用した3次元地図作成のガイド
【概要】
3次元地図は,実世界をデジタル空間で立体的に表現した地図である.BlenderとそのアドオンであるBlenderGISを用いると,OpenStreetMapなどの地理空間データ(GISデータ)を取り込み,建物や地形を含む都市モデルを生成できる.本資料では,導入,作成手順,データライセンスの注意点を解説する.
【目次】
【サイト内の関連情報】
前準備
Blenderは,3次元コンピュータグラフィックス・アニメーションの制作ソフトウェアである.3次元モデルの編集,光源やカメラ等の設定,レンダリングにより,3次元コンピュータグラフィックス・アニメーションを作成できる.
メニューの日本語化は,「編集(Edit)→プリファレンス(Preferences)→インターフェイス(Interface)→翻訳(Translation)」で設定できる.
1. 概要と基本原理
3次元地図は,実世界をデジタル空間で立体的に表現した地図である.都市計画,防災管理,観光振興,建築設計などの分野で利用されている.
主な応用分野
- 都市計画:建築物の配置検討,景観シミュレーション
- 防災対策:洪水予測,土砂災害リスク評価
- 観光案内:バーチャルツアー,観光ルート設計
- 建築設計:日照評価,景観アセスメント
- 交通安全:視認性評価,危険箇所の特定
2. BlenderGIS
BlenderGISは,地理空間データをBlender上で扱うためのアドオンである.GNU General Public License v3.0(GPL-3.0)の下でオープンソースとして公開されている.Blenderのバージョンによりアドオンのインストール画面の名称が異なる場合があるため,利用前に公式リポジトリで対応状況を確認する.BlenderGISは次の機能を持つ.
- Shapefile,ラスター画像,GeoTIFF形式の標高データ(DEM),OpenStreetMap XMLなどのGISデータ形式のインポート機能
- WMS(Web Map Service),TMS(Tile Map Service),WMTS(Web Map Tile Service)といった地図配信方式を利用したベースマップ表示機能
- NASAのSRTM(Shuttle Radar Topography Mission,スペースシャトルによる地形観測ミッション)データを利用した標高データの取得機能(OpenTopography経由で取得する場合はAPIキーが必要)
- OpenStreetMapの建物・道路データを取得し,3Dモデルとして生成する機能
- ドロネー三角分割(点群から三角形網を生成する手法)による地形メッシュの生成,位置情報(ジオリファレンス)管理などの機能
3. 作成手順
3次元地図の作成は,以下の手順で行う.
準備
- BlenderGISアドオンを公式リポジトリ(https://github.com/domlysz/BlenderGIS)からZIPファイルとしてダウンロードする(ZIPファイルは展開せず,そのまま用いる).
- アドオンのインストール
Blender を起動し、上部メニューの「編集」(Edit)から「プリファレンス」(Preferences)を選ぶ。
左側の「アドオン」(Add-ons)をクリックする。次に、画面右上のボタン(下向き三角のメニュー)をクリックし、「ディスクからインストール」(Install from Disk...)を選ぶ。
- ダウンロードしたZIPファイルを指定した後,「3D View: BlenderGIS」のチェックボックスを有効にする.Blender 4.2以降では,「アドオン」または「拡張機能」の画面から「ディスクからインストール(Install from Disk)」を選ぶ.
- 3Dビューポート上部に「GIS」メニューが表示されることを確認する.
- アドオンの設定画面でキャッシュフォルダ(地図タイル等の保存先)を指定する.一時フォルダではなく,継続して利用できるフォルダを指定する.
- 標高データを取得する場合は,OpenTopography(opentopography.org)に登録してAPIキーを取得し,アドオンの設定に入力する.
ベースマップの設定
- 3Dビューポート上部の「GIS」メニューから「Web geodata」→「Basemap」を選ぶ,またはテンキーの「*」キーでベースマップ表示を開始する.
- 地域の検索(Gキー)で目的の場所へ移動する.
- 表示範囲と縮尺が決まったら,データのエクスポート(Eキー)でテクスチャ付きの平面メッシュを生成する.
- 3Dビューとアウトライナーに,地図画像が貼られた平面メッシュが追加されたことを確認する.
標高データの取得
- 生成した平面メッシュを選択し,「GIS」メニューから「Get SRTM」または「Get elevation」を実行する.
- SRTMデータに基づき,平面メッシュが地形の起伏に合わせて変形される.
- 横方向から表示し,平面メッシュに起伏が付いていることを確認する.
OSMデータの取得
- 3Dビューを上面の正投影表示に切り替え,取得する範囲を表示する.広すぎる範囲を指定すると取得に時間がかかるため,最初は小さい範囲で試す.
- 「GIS」メニューから「Web geodata」→「Get OSM」を選択する.
- 表示されるオプションダイアログで,WaysやBuildingsなど必要なレイヤーを選択(SHIFTキーで複数選択)し,高さ情報がない建物に適用する既定の高さ(m)を設定する.
- 「Elevation from object」オプションを有効にし,地形を表す平面メッシュを指定すると,建物が地形の上に自動的に配置される.
- 建物や道路が追加され,建物が立体化されて地形の上に配置されていることを確認する.
4. 考慮事項
3次元地図の制作と運用では,各データソースの著作権とライセンスの利用条件を確認し,遵守する必要がある.
- OpenStreetMap:オープンライセンス(ODbL,Open Database License)による提供である.利用・公開時は「© OpenStreetMap contributors」等のクレジットを表示し,派生データベースを再配布する場合はODbLの条件に従う.
- 地図タイル・標高データ:BlenderGISで表示・取得できる場合でも,提供元の利用規約,APIキーの条件,クレジット表記の条件を確認すること.
- 商用地図サービス:利用制限と改変・再配布の許諾要件を確認すること.
- 自作データ:著作権管理,データ保護を行うこと.
5. 出力と活用
生成された3次元地図データは,次の形式・環境へ出力できる.
- 3Dファイルフォーマット(.obj, .fbx, .glb等)
- Unity/Unreal Engine向けのエクスポート
- WebGL対応の軽量データフォーマット
活用例
- バーチャルツアー
- 都市計画シミュレーション
- 防災訓練
- 建築プレゼンテーション
技術用語
- 3次元地図:実世界をデジタル空間で立体的に表現した地図であり,都市計画,防災管理,観光振興,建築設計などの分野で利用される.
- Blender:3次元コンピュータグラフィックス制作のためのオープンソースソフトウェアである.物理ベースレンダリングやモデリングの機能を備え,アドオンによる機能拡張が可能である.
- BlenderGIS:地理空間データをBlender上で扱うためのアドオンである.GPL-3.0の下で公開されており,Shapefile,ラスター画像,GeoTIFF DEM,OpenStreetMap XMLなどのインポート,Web地図サービスによるベースマップ表示,SRTM標高データの取得,OpenStreetMapの建物・道路データの3D化などの機能を備える.対応するBlenderのバージョンは公式リポジトリで確認する.
- ベースマップ設定:3次元地図作成の基礎となる地図データを設定する工程である.3Dビューポート上部の「GIS」メニューから「Web geodata」→「Basemap」を選ぶ,またはテンキーの「*」キーでベースマップ表示を開始し,地域を検索(Gキー)してから,データをエクスポート(Eキー)してテクスチャ付き平面メッシュを生成する.
- 標高データ取得:3次元地図の地形表現に必要な高度情報を取得する工程である.地形用の平面メッシュを選択した状態で「Get SRTM」または「Get elevation」を実行すると,SRTMデータに基づき地形が変形される.OpenTopographyから取得する場合はAPIキーが必要である.
- OSMデータ取得:OpenStreetMapから建物や道路などの地理空間データを取得する工程である.「GIS」メニューの「Web geodata」→「Get OSM」を選択し,必要なレイヤーを選択(SHIFTキー)した上で,「Elevation from object」オプションにより地形メッシュを指定すると,建物が地形上に自動的に配置される.
- 3Dファイルフォーマット:3次元モデルを保存するファイル形式であり,.obj,.fbx,.glbなどがある.
- OpenStreetMap(OSM):ボランティアコミュニティによって更新される地理データベースである.データの使用・編集・加工を認めるオープンライセンスであるODbL(Open Database License)の下で提供される.利用時は適切なクレジット表記が必要である.
- GIS(地理情報システム):位置データとその関連情報を統合して管理・分析するシステムである.
- 標高データ:地形の起伏を数値化したデータである.3次元地図における地形の再現に用いられる.
- レイヤー:地図データを道路,建物,水域などの要素ごとに分類した構造である.
- レンダリング:3次元モデルから2次元画像を生成する処理である.
- Unity/Unreal Engine:3次元ゲームエンジンである.Blenderで作成した3次元データをインポートできる.