开源工具可将DEM转换为3D模型


11

我想将DEM(数字高程模型)文件(例如,来自SRTM)转换为3D模型,然后可以使用常规3D建模工具(例如Meshlab / Blender / etc。)进行编辑。但是我正在使用Ubuntu Linux。

那么,是否有任何开源程序/工具可以做到这一点?如果是这样,能否给我一个简单的指南,说明如何将DEM转换为3D模型。(执行命令行程序)

Answers:


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。


是否有任何特定的插件或我可以下载并使用的任何内容?
罗里2014年

1
最好的办法就是编写自己的脚本-查看我的修改。
MappaGnosis

4

我发现NVIZ(它是GRASS软件包的一部分)是将DEM数据可视化为3D模型的有用工具。

为了安装GRASS插件(如果已经安装了QGIS),只需导航至Plugins-> Manage and Install Plugins-> Get More并安装GRASS。确保在“管理和安装插件”列表中将其选中!

  1. 安装GRASS后,首先添加栅格图层。您可以通过导航到图层->添加栅格图层->选择来实现

  2. 然后在GRASS中创建一个新的地图集。为此,请导航至插件-> GRASS->新建贴图集,或使用应该可见的GRASS工具栏。A.为GRASS数据集选择一个位置B.输入您选择的新位置名称C.选择所需的投影D.从下拉列表中选择一个区域或使用纬度/经度坐标手动选择一个区域(您可以查找在网络上您的位置的纬度/经度)E.输入新的地图集名称,然后单击“完成”。

  3. 接下来,您需要将DEM或栅格图层加载到GRASS中。您可以通过以下步骤进行操作:A.导航至插件-> GRASS->打开GRASS工具B.在“模块列表”下,选择“ r.in.gdal.qgis” C.在“已加载层”下,从下拉列表,并命名输出文件D。单击“运行”

  4. 现在,您需要将GRASS栅格图层添加到地图集A。导航至插件-> GRASS->添加GRASS栅格图层或单击。B.选择您的位置和地图集,然后选择您的图层并单击“确定”

  5. 您可能要为栅格着色。如果是这样,则A.确保选择了正确的输出栅格图层B.导航到“插件”->“ GRASS”->“打开GRASS工具” C.在“模块列表”下,单击“ r.colors.table”。D.选择输入层,然后选择“颜色表的类型” E.点击“运行”。

  6. 现在是有趣的部分。使用NVIZ进行3D可视化。因此,您将需要A.通过导航到插件-> GRASS->编辑当前GRASS区域来设置3D建模的特定地图区域。然后,通过用鼠标绘制红色框来手动选择所需区域,或在出现的对话框中设置坐标。(这有助于NVIZ确定要使用的分辨率)B.导航至插件-> GRASS->打开GRASS工具C.在“模块列表”下,选择“ nviz” D.选择高程和颜色的栅格(它们可以相同一个),然后单击右侧的正方形(表示“使用此地图的区域”)E.点击“运行”

然后在不同的视角,高度和光线下玩耍,直到获得所需的图像!

希望这会有所帮助,如果您有任何疑问,请告诉我!


我会注意到在使用SRTM层时我在投影时遇到了麻烦。有没有人有什么建议?
Zizah 2014年

什么样的麻烦?
markusN


1

nviz不是独立的应用程序,它是GRASS GIS的一部分,用于3D可视化和动画。如果要导出栅格,则需要GRASS GIS(或QGIS中的GRASS)。您可以导出各种文件格式的 DEM ,包括Terragen Heightfield(.ter),VTK,PovRay,xyz等。

您还可以使用Paraview打开VTK文件并将其导出为其他各种格式

但是Blender还具有用于直接导入DEMS的插件,例如Blender Digital Elevation Importer或导入shapefile和栅格(例如ESRI Shapefile导入/导出和地理参考栅格导入器)。

Kodex还提出了使用SVG格式的Blender可视化QGIS数据的解决方案

还可以通过SRTM数据查看Blender中的阴影消除


1

您可以简单地在Blender中将一个dem文件添加为* .tif,并带有“将图像导入为平面”插件。看到这篇文章,您可以看到我如何在搅拌机中使用DEM制作一些高分辨率3D地图:-> /gis//a/80842/24809

将dem加载到Blender中之后,您还可以像编辑图像一样对其进行编辑。





By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.