DEMを3Dモデルに変換するオープンソースツール


11

DEM(デジタル標高モデル)ファイル(SRTMなど)を3Dモデルに変換し、通常の3Dモデリングツール(Meshlab / Blenderなど)で編集できます。ただし、Ubuntu Linuxを使用しています。

だから、これを行うことができるオープンソースプログラム/ツールはありますか?もしそうなら、DEMを3Dモデルに変換する方法の簡単なガイドを教えてください。(推奨されるコマンドラインプログラム)

回答:


7

BlenderにはPython APIがあります。したがって、BlenderでPythonを使用し、GDALライブラリをインポートして、GISデータからBlenderネイティブメッシュを直接構築します。注意する必要があるのは、使用しているGDALのバージョンが、使用しているBlenderリリースのPythonのバージョンと一致していることだけです。

プラグインの編集:
Blender Python APIとGDALを使用して独自のスクリプトを記述したくない場合、標準として利用できるプラグインがいくつかあります。

  1. DXFをインポート
  2. OBJ、X3D、VRMLのインポーターがあり、一部の3D GISシステムはこれらにエクスポートします(ArcSceneやNVIZなど)が、このルートは必ずしも厳密に無料ではありません。

XYZデータにはアドオンがありますが、非標準であり、主に分子デ​​ータを対象としていますが、おそらく自由に曲げることができます。Blenderの既製のインポーターの全範囲については、こちらをご覧ください。BlenderにはPDS .IMGインポーターがありますが、GDALはPDS IMGファイルのみを読み取ることができます(異なるErdas IMGファイルと混同しないでください)。

したがって、実際には、GeoTiff、ASC、または他のほぼすべての高さデータラスタがある場合、ほとんどのユースケース用の既製のプラグインがないため、ラスタを反復する小さなスクリプトを記述することが最善の策ですDTMをDXF、VRML、またはOBJにエクスポートします。


ダウンロードして再生できる特定のプラグインや何かはありますか?
ロリー14

1
あなたの最高のベストはあなた自身のスクリプトを書くことです-私の編集をご覧ください。
MappaGnosis 14

4

NVIZ(GRASSパッケージの一部)は、DEMデータを3Dモデルとして視覚化するための便利なツールであることがわかりました。

GRASSプラグインをインストールするには(QGISが既にインストールされている場合)、[プラグイン]-> [プラグインの管理とインストール]-> [Get More]を選択して、GRASSをインストールします。プラグインの管理とインストールリストでチェックされていることを確認してください!

  1. GRASSをインストールしたら、ラスターレイヤーを追加して開始します。これを行うには、[レイヤー]-> [ラスターレイヤーを追加]-> [選択]に移動します。

  2. 次に、GRASSで新しいマップセットを作成します。それには、プラグイン-> GRASS-> New Mapsetに移動するか、表示されるべきGRASSツールバーを使用します。A. GRASSデータセットの場所を選択しますB.選択した新しい場所名を入力しますC.希望する投影を選択しますD.ドロップダウンリストから領域を選択するか、緯度/経度座標を使用して手動で選択します(検索できます)ウェブ上の現在地の緯度/経度)E.新しいマップセット名を入力し、[完了]をクリックします。

  3. 次に、DEMまたはラスターレイヤーをGRASSにロードします。これを行うには、A。プラグインへの移動-> GRASS-> GRASSツールを開きますB.「モジュールリスト」で「r.in.gdal.qgis」を選択しますC.「ロードされたレイヤー」でレイヤーを選択しますドロップダウンリストから、出力ファイルにDという名前を付けます。「実行」をクリックします

  4. ここで、GRASSラスターレイヤーをマップセットに追加する必要があります。B.場所とマップセットを選択し、レイヤーを選択して「OK」をクリックします

  5. ラスターに色を付けたい場合があります。その場合、A。正しい出力ラスターレイヤーを選択したことを確認しますB.プラグイン-> GRASS-> GRASSツールを開きますC.「モジュールリスト」の下で、「r.colors.table」をクリックします。D.入力レイヤーを選択し、「カラーテーブルのタイプ」を選択します。E。「実行」をクリックします。

  6. 今から楽しい部分に。NVIZを使用して3Dで視覚化します。A. 3Dモデリング用に特定のマップ領域を設定するには、プラグイン-> GRASS-> Edit Current GRASS Regionに移動します。次に、マウスで赤いフレームを描画して目的の領域を手動で選択するか、表示されるダイアログボックスで座標を設定します。(これは、使用する解像度をNVIZが決定するのに役立ちます)B.プラグインにナビゲート-> GRASS-> GRASSツールを開きますC.「モジュールリスト」の下で、「nviz」を選択しますD. 1)、右側の正方形をクリックします(「このマップの領域を使用」を意味します)E.「実行」を押します

次に、目的の画像が得られるまで、さまざまなビュー、高さ、照明で遊んでください!

これがお役に立てば幸いです。質問がある場合はお知らせください。


SRTMレイヤーを使用すると、投影に問題が発生したことに注意してください。誰か提案はありますか?
ジザ14

どんなトラブル?
マルクスN 14年


1

nvizはスタンドアロンアプリケーションではなく、GRASS GISの一部であり、3D視覚化およびアニメーション用です。ラスターをエクスポートする場合は、GRASS GIS(またはQGISのGRASS)が必要です。Terragen Heightfield(.ter)、VTK、PovRay、xyzなどを含むさまざまなファイル形式でDEMをエクスポートできます

Paraviewを使用してVTKファイルを開き、他のさまざまな形式にエクスポートすることもできます

ただし、Blenderには、たとえば、Blender Digital Elevation ImporterとしてDEMSを直接インポートするプラグインや、シェープファイルとラスターをインポートするプラグイン(ESRI Shapefileインポート/エクスポートおよびジオリファレンスされたラスターインポーター)もあります。

Kodex は、SVG形式のBlenderQGISデータを視覚化するソリューションも提供します

SRTMデータを使用したBlenderのShaded Reliefご覧ください


1

「プレーンとして画像をインポート」アドオンを使用して、Bdemで* .tifとしてdemファイルを追加するだけです。Blenderのdemを使用して高解像度の3Dマップを作成した方法を確認できるこの投稿を参照してください。-> /gis//a/80842/24809

demをブレンダーにロードした後、画像を編集できるように編集することもできます。



0

USGS&GTOPO30 DEM Importerを試しましたか?


そのページのスクリーンショット(およびファイル名)の一部は、MS Windowsプログラムのように見えます。Linuxで動作するものが必要です。
ロリー14

Linuxで動作するかどうかはわかりません。おそらく、これについてドキュメントを確認できます。
Catlover 14

0

IMOは、gdal2xyz.pytriangleの組み合わせと、blenderまたはmeshlabのサポートされているテキスト形式の1つでの、三角形(.node、.ele)の出力ファイルの再構成が機能するはずです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.