Skip to content

使用 ENVI + IDL 创建自定义三维可视化

原文链接: https://www.nv5geospatialsoftware.com/Learn/Blogs/Blog-Details/creating-a-custom-three-dimensional-visualization-with-envi-idl

24661 为本文评分:

3.4

使用 ENVI + IDL 创建自定义三维可视化

匿名作者 2014年10月21日,星期二

过去一周,我决定花些时间熟悉 ENVI + IDL 中提供的一些三维可视化工具。

在 ENVI 用户界面中,用户可以通过使用 ENVI 工具箱中提供的 3D SurfaceView 工具,非常快速地构建场景的三维可视化。这是一个很棒的工具,提供了许多方便的表面和运动控制功能来定制三维可视化。多年来我经常使用这个工具,但也一直很好奇,如果借助 IDL 的能力,可以实现什么样的三维可视化效果。

IDL 有几个功能特别强大的三维函数,允许用户创建完全自定义的三维可视化。我发现这些函数为用户提供了极大的灵活性。在下面讨论的示例中,我使用了 CONTOUR 函数。SURFACE 函数也为在 ENVI + IDL 中创建三维表面提供了一些很好的选项。

在这个例子中,我从 National Map Viewer 下载了几个 1/3 角秒分辨率的美国地质调查局数字高程模型。我首先将两个数字高程模型进行了拼接,然后对它们进行了轻微的重采样以减少文件大小,以便它们在 IDL 中性能更好。接着,我编写了生成三维表示的代码。代码打开数字高程模型文件,提取纬度和经度范围以及像素大小的信息,然后绘制一个网格,用于绘制高程值。当我弄清楚如何让这一切工作后,我选择了一个 IDL 颜色表来显示高程范围,添加了等高线,并对坐标轴标签进行了一些微调。可以进行大量的不同调整,因此构建自定义三维可视化确实允许用户发挥他们的想象力。供参考,我的代码如下所示:

这段代码的优点是,用其他数字高程模型复制这个或类似的东西应该相当容易。只需要更改几行代码以匹配新图像的范围,并对坐标轴进行一些调整即可。在我的数字高程模型上运行此代码的结果如下所示。

使用 ENVI + IDL 中提供的三维函数可以做很多非常酷的事情。例如,在这个示例中,我使用美国地质调查局数字高程模型绘制了高程值,但也可以绘制代表与高程完全不同的其他值到 Z 轴上。这可以创建一些非常酷且信息丰富的可视化效果。

我还决定利用 ENVI 和 ArcMap 的互操作性为我所在的区域制作一张地图。然后,我将三维图插入到地图中。我认为这为场景提供了一个独特的视角。您可以在下面查看我的地图。如果您想查看更多关于 SURFACE 和 CONTOUR 函数可以做什么的示例,请查看我们的文档中心以获取更多 图形示例

面向现在与未来的可扩展图像分析 IDL 8.4 - 让经典事物退居二线