数字高程模型的3D打印

可以使用各种技术制作物理地形模型。 3D 打印是小型模型的不错选择。 对于较大的模型,我们建议堆叠使用激光切割机或其他工具切割的板材。 铣削是另一种选择,但比 3D 打印噪音更大、灰尘更多。 打印的高程模型在教学、外展活动、非正式学习环境(如博物馆、旅游局、城市规划等)中很有用。

本文介绍如何使用(大部分)免费工具从各种自由地形数据(数字高程模型,DEM)创建可打印的 STL 模型。 从地形数据生成 STL 模型可能类似于从 3D 扫描生成模型,因为一些数字高程模型 (DEM) 也使用点云。 此文本正在构建中,可能需要重新组织。 目前,我只是记下我正在玩的东西。 到目前为止,我确定了几种创建有效数字高程模型的方法。

  • 最简单的解决方案是使用 Touch Terrain 和 Terrain2STL。 截至 2021 年 5 月,Touch Terrain(见下文)是现有最好的在线服务,而且完全免费。
  • 另一个功能强大且用途广泛的工具组合是使用 QGIS 和 Demto3D 插件。 使用 QGIS 读取数字高程模型的 3D 打印

1、工作流程概述

工作流程的概要如下(一些工具允许组合步骤,在某些情况下步骤以不同的顺序或不同的方式完成):

  • 得到一个模型。 这通常需要一些提取工作,例如 下载一个文件,从给定的坐标位置提取一个正方形
  • 将模型转换为 3D 模型(数字高程模型通常不是 3D 模型)
  • 使模型具有平底流形。
  • 缩放、旋转和重新定位(如有必要)
  • 将此模型转换为 STL。
  • 使用 STL 编辑器修复模型,例如 使用 Netfabb(修复工具)或 Meshmixer(“制作实体”)
  • 如果模型代表一个非常小的区域,您可以“按原样”对其进行切片。 如果它更大,考虑减少三角形(如果之前没有做过),例如 使用免费的 Meshlab 程序来做到这一点(见下文)
  • 如果需要,裁剪 x,y 方向。 如果有需要,在底部添加一个框。
  • 调整 Z 轴(如果之前没有做过)。 在某些情况下,您可能希望将水平距离强调 2、3 或 4 倍。
  • 切片并打印出来。 这并不像看起来那么容易,原因有二。 模型可能很大,必须调整切片机设置以避免打印中止(特别是喷嘴卡在塑料中)。

2、数字高程模型格式

数字高程模型 (DEM) 是根据高程数据创建的地形表面的数字表示。 有两种:

  • 数字地形模型 (DTM) 仅包括地形
  • 数字表面模型 (DSM) 包括顶部的事物,例如建筑物)。

尚不清楚(对我们而言)测量树木和房屋尖端的雷达模型是 DTM 还是 DSM。

使用的格式有很多种。 水平分辨率的差异可能很重要。 例如。 SwissALTI3D只有2m米,Eu-DEM是25米,免费的SRTM数据在30到90米之间。 90 米的分辨率足以用于更大的区域,例如 100x100 公里。 打印较小的山脉需要 30 米的分辨率。 高度存在误差(通常以平均误差表示)。

维基百科有一个很好的 GIS 文件格式列表,其中包括可以包含 DEM 数据的格式。 根据维基百科的数字高程模型文章,DEM 可以表示为栅格(正方形网格,在表示高程时也称为高度图)或基于矢量的不规则三角网络 (TIN)。

根据维基百科(2017 年 3 月),栅格数据由单元格的行和列组成,每个单元格存储一个值。 栅格数据可以是每个像素(或像元)都包含一个颜色值的栅格图像。 为每个像元记录的附加值可能是离散值(例如土地利用)、连续值(例如温度)或空值(如果没有可用数据)。 虽然栅格单元存储单个值,但可以通过使用栅格波段来扩展它以表示 RGB(红色、绿色、蓝色)颜色、颜色图(专题代码和 RGB 值之间的映射)或具有一行的扩展属性表 对于每个唯一的单元格值。

同样,根据维基百科的 GIS 文件格式文章,存在三种类型的矢量图形元素:点(表示精确位置点)、线(表示道路、河流等)和多边形。 高程可以用等高线或多边形网格表示,通常是不规则三角网 (TIN)。 “TIN 是物理陆地表面或海底的基于矢量的表示,由不规则分布的节点和具有三维坐标(x、y 和 z)的线组成,这些节点和线排列在不重叠的三角形网络中。” .

下面我们只列出了我们使用过的以及本文中出现的大部分数据类型

NameFile extensionDescriptionData type
ESRI ASCII GRIDascA popular GIS specific exchange format. See Esri grid (wikipedia)raster
geoTIFFtif or tiffAnnotations to the 2D TIFF format. See GeoTIFF (Wikipedia)raster (grid)
DXFdxfAutocad proprietary but many tools can import/exportvector
XYZxyzInitially designed to describe molecule geometry.vector (point clouds, each point has a x/y/z coordinate and there are no links between points)
SRTM HGThgtSRTM original formatraster
DEMdemgeospatial file format developed by the United States Geological Surveyraster
Colladadae3D models used withing Keyhole Markup Language (KML), Google Earthvector
GeoJSONjsonPopular exchange format for open source GIS packagesvector

3、数字高程模型(DEM)库

NASA 航天飞机雷达地形测绘任务 (SRTM) 在 2000 年收集了全球范围内免费提供的大多数 DEM 数据。绘制地球地图(海洋和极地除外)用了 11 天。 SRTM 数据的分辨率如下:

  • 30 弧秒(DTED 级别 0)- 大约 900 米间距
  • 3 弧秒(DTED 级别 1)- 大约 90 米间距
  • 1 弧秒(DTED 级别 2)- 大约 30 米间距

在世界范围内或在国家或地方基础上还有许多其他 DEM 数据集(主要或次要)。 其中一些数据集使用了 SRTM 数据集。 OpenStreetMap Wiki SRTM 文章中提供了一个很好的可用 SRTM 数据集列表。

下面是一些 DEM 存储库。 在你实际获取数据之前,其中的大多数都需要一些“思考”。

NameResolution (x/y axis)Mean errors (z)

depend on slope

Data Source
CGIAR-CSI SRTM90mAllows finding and exporting squares with 90 resolution for the whole earth.
USGS EROS (US Geological survey) - EarthExplorer30 to 90mVarious, e.g. SRTMThe Earthexplorer allows finding map squares according to area and criteris, e.g. I found 30m resolution SRTM data for Geneva ara. Since the tiles cover small areas you may have to combine these.
ViewFinderPanoramas (VFP)30.92mSRTM and ASTER GDEM
EU-DEM30.92m
EOWeb Poral (DE)
DHM2525m2-8mSwisstopoPrior to SwissALTI3D, based in essence on the 1:25000 maps. This data set is free
SwissALTI3D2mSwisstopocommercial dataset

4、 使用 TouchTerrain

TouchTerrain 软件 由 Chris Harding 和 Franek Hasiuk(爱荷华州立大学)开发,是一种非常易于使用的在线服务,也可用作离线程序,用于创建可打印的 3D STL 模型。 它从 Earth Engine 获取 DEM 数据并将它们转换为 STL。 它有一堆设置(简单和“专家”)。 它还允许打印多个 3D 模型,这些模型可以粘合在一起成为一个更大的模型。

使用方法如下:

  • 选择 DEM 地图服务(高程数据源),例如 AW3D30
  • 在世界地图中选择一个区域,单击当前地图视图中的重新居中框
  • 指定打印机选项,例如 瓦片宽度,打印机的挤出机宽度,模型底座厚度(从最低点开始,而不是海平面),垂直夸大。
  • 将选项保存到 URL(以便您可以为解决方案添加书签),例如 Geneva basin
    点击导出

5、 使用 Terrain2STL

Terrain2STL 在过去是最简单和最快的开始方式,并且是 Touch Terrain 的替代品。 任何具有中等 3D 网格操作技能的初学者都可以做到。

Terrain2STL 是一项允许在 Google 地图上选择正方形的在线服务。 根据这些坐标,它将从 Nasa/cgiar-csi 数据中提取一个区域并生成 STL。 引用:“Terrain2STL 是一项免费使用的服务,但如果您想帮助支持该网站,欢迎捐款。 Terrain2STL 使用 2000 年的 SRTM3 数据集创建 STL 文件,该数据集在赤道上的分辨率约为 90 米。” (Terrain2STL 主页,2017 年 2 月)

它只需要一些裁剪和一些 STL 修复,例如 Netfabb Studio 或其他 STL 修复/切片软件可以很好地处理的东西。

我测试了这项服务,它工作得很好,例如 我打印了 Teide 和 Caldera Blanca 火山。 唯一需要注意的是 SRTM3 数据集的 90m 分辨率。 Caldera Blanca 是兰萨罗特岛上一座 300 米的小山,并没有以非常有趣的方式出现。 泰德峰(包括它古老的巨大火山口)创造了一个足够好的模型。

如果你想要更多的控制,你可以使用 QGIS 解决方案。 如果你拥有 Linux 系统,您也可以使用下面提供相同类型结果的 hill 程序。 虽然确定地图的坐标和尺寸需要更多时间,但制作地图的速度更快。

最后,你应该知道打印 3D 模型可能需要与你通常使用的切片器设置不同的切片器设置。


原文链接:3D printing of digital elevation models

BimAnt翻译整理,转载请标明出处