练习 4:构建 TIN 来呈现 terrain

复杂程度: 入门级 数据要求: 随软件安装 数据路径: See Copying the tutorial data 目标: 使用 ArcScene 和 ArcMap 构造 TIN 表面模型,使用各种地理处理工具进行表面分析

肯塔基州 Horse Cave 镇坐落在一个洞穴上方,这个洞穴曾经是这个城镇的饮用水和水力发电的来源。不幸的是,洞穴中流淌的地下水受到了倾倒在地表以及流入排污口的生活污水和工业废水的污染。对洞穴的染色标记追踪研究以及三维测量揭示了洞穴通道与城镇之间的关系,还演示了开放式地表垃圾场与其下洞穴中地下水所受污染之间的关联。

经过 1989 年当地新型污水处理设施的建设以及洞穴研究基金会 (Cave Research Foundation) 和 美国洞穴保护协会 (ACCA) 的共同努力,这里的地下水已变得十分清洁,洞穴也已得到恢复。现在这里已经由 ACCA 运作为一个洞穴旅游景点和教育基地。

洞穴数据由 ACCA 赞助提供。

查看洞穴和景观

首先,将打开 BuildTIN scene,然后查看洞穴测量图和一些 terrain 数据图层。您将使用这些 terrain 数据创建 TIN,并且在 TIN 上叠加一些其他的图层,从而可视化洞穴与城镇之间的关系。

步骤:
  1. 单击开始 > 所有程序 > ArcGIS > ArcScene 10 启动 ArcScene。
  2. 在“ArcScene - 启动”对话框中,单击现有 Scene --> 浏览更多
  3. 如果在之前的练习中已打开 ArcScene,则此时只需单击文件,然后单击打开即可。
    将出现打开 对话框。
  4. 导航至 Exercise4 文件夹,然后双击 BuildTIN ArcScene 文档。
  5. 打开 BuildTIN.sxd
    将随即打开这个 scene,然后您可看到道路和铁路的位置、一些高程采样点以及几条重要的等值线。在内容列表里,您可看到有一些图层处于关闭状态。
  6. 选中相应复选框可显示 Cavesurvey 图层。
  7. 使用快捷菜单缩放至该图层的范围
  8. 右键单击 Cavesurvey,再单击缩放至图层
  9. 洞穴测量数据由 PolylineZ 要素组成,这些要素会在 3D 中自动进行绘制,因为其几何中嵌有 z 值。这些绘制的数据显示在其余数据的上方,因为所有其他图层在绘制时的默认高程均为 0。
    在接下来的步骤里,将使用各种地理处理工具构建 TIN,从而为街道提供基本高度,并提供一张城镇的照片。

基于点数据创建 TIN

您有一个叫做 vipoints point 的点图层。该 coverage 由具有 SPOT 属性的点组成,SPOT 中包含在这些点处采集的高程值。您将使用“创建 TIN”地理处理工具来基于这些点创建 TIN 表面模型。

使用地理处理工具时,在文档底部将出现一个进度条,显示当前所执行工具的名称。工具执行完毕后,系统托盘中将显示一个弹出通知。这称为后台地理处理,默认情况下,此功能将在安装和打开软件时启用。要禁用后台地理处理,可使用地理处理主菜单中的地理处理选项 对话框。

步骤:
  1. 单击目录选项卡,在视图中展开目录 窗口。
  2. 滚动找到工具箱
  3. 展开工具箱,单击系统工具箱,然后选择 3D Analyst 工具工具箱。
  4. 创建 TIN 地理处理工具。
  5. 导航至 TIN 管理工具集,然后双击创建 TIN 地理处理工具。
  6. 单击浏览按钮,设置输出 TIN 的位置。
  7. 单击主目录 主目录 按钮,双击 Terraindata 文件夹,然后将输出 TIN 的名称更改为 tin1,再单击保存
  8. 创建名为 tin1 的 TIN 并将它保存在 Exercise4 的 Terraindata 文件夹中
    请确认输出 TIN 的位置设置为 Home - Exercise4 文件夹。
  9. 单击输入要素类下拉列表,再单击 vipoints point
  10. 创建 TIN 地理处理工具对话框
    SPOT 字段名会出现在 height_field 列中,并且该图层将会三角形化为离散多点。
  11. 单击确定
  12. TIN 将随即创建并添加到场景中。请注意,它绘制在 Cavesurvey 图层的上方;TIN 中的高程值定义其基本高度。
    TIN 图层将随即创建并添加为新的表面图层
    默认情况下,TIN 会为所有面使用单一颜色进行符号化。
  13. 右键单击内容列表中的 tin1 图层,再单击属性
  14. 单击符号系统选项卡。
  15. 使用图层属性符号系统选项卡更改表面上各个面的渲染方式
    可以看到这里仅有一个渲染器,名为 Faces。
  16. 单击添加按钮,打开添加渲染器 对话框。
  17. 单击具有分级色带的表面高程选项,再单击添加
  18. 选择一个渲染器
  19. 单击清除,关闭添加渲染器 对话框并返回到图层属性 对话框。
  20. 如果最高高程范围的符号设置为蓝色而不是白色,那么可右键单击其中的任意符号,再单击翻转符号
    翻转符号顺序,使得颜色与高程值相匹配,例如,白色用于将较高的点表示为白雪覆盖的山顶。
    这样就会转换符号的顺序并将 TIN 的最高点渲染为白雪覆盖的山顶。
  21. 通过在渲染器列表中取消选中 Faces 复选框来关闭原来的单色渲染器。
  22. 取消选中 Faces 渲染器
  23. 单击确定关闭图层属性 对话框。
  24. 尽管该 TIN 已经是一个相当不错的表面模型,但是也可通过再添加一些要素来使它更加精确。

向 TIN 中添加要素

现在将向 TIN 中添加一些硬隔断线和软隔断线以及一个裁剪多边形。您将以软隔断线形式添加铁路要素,以便它们在表面上显示的同时不会影响表面的形状。您将以带有高程值的硬隔断线形式添加 brklines 要素,以精细化最感兴趣地区的表面形状。最后,您将以软裁剪多边形的形式添加 smclp 多边形,以将 TIN 的边缘修剪得更加平滑。

步骤:
  1. 目录 窗口中,滚动找到“工具箱”。
  2. 展开工具箱,单击系统工具箱,再单击 3D Analyst 工具工具箱。
  3. 导航至 TIN 管理工具集,然后从底部窗口中双击编辑 TIN 地理处理工具。
  4. 使用目录窗口查找工具
  5. 单击输入 TIN 下拉列表,再单击 tin1
  6. 单击输入要素类下拉列表,再单击 railroad
  7. 编辑 TIN 对话框
  8. 单击 height_field 下拉箭头,再单击<无>
  9. 向 TIN 中添加要素
  10. 单击 SF_type 下拉箭头,再单击软断线
  11. 向 TIN 中添加要素
  12. 单击输入要素类下拉列表,再单击 brklines
  13. 向 TIN 中添加要素
    编辑 TIN 工具会检测到 ELEVATION 字段,并将它用作高度源。您将接受默认值并将它们三角形化为硬隔断线。
  14. 单击输入要素类下拉列表,再单击 smclp
  15. 单击 height_field 下拉箭头,再单击<无>
  16. 向 TIN 中添加要素
    您已经定义了要添加到 TIN 中的各要素图层并指定了它们应整合到三角网中的方式。
  17. 单击确定
  18. 这些新要素就随即添加到 TIN 中。

完成下一步之后,您将看到铁路顺着相对于表面稍显平坦的河床伸展。

设置基于 TIN 的要素基本高度

现在将基于新的 TIN 为道路和铁路要素设置基本高度。

步骤:
  1. 右键单击 roads,再单击属性
  2. 打开 roads 的图层属性
  3. 单击基本高度选项卡。
  4. 单击在自定义表面上浮动
  5. 单击下拉箭头,再单击 tin1
  6. 在 TIN 表面上叠加 roads 图层
  7. 单击确定
  8. 道路要素将随即叠加在所创建的 TIN 表面上。现在,您要在表面上叠加铁路要素。
  9. 右键单击 railroad,再单击属性
  10. 打开 railroad 的图层属性
  11. 基本高度选项卡中,单击在自定义表面上浮动
  12. 高程表面已设置为 tin1。
  13. 单击确定
  14. 铁路要素就随即叠加在所创建的 TIN 表面上。
    在 TIN 表面上叠加铁路
    接下来将在 TIN 上叠加航空照片。

设置基于 TIN 的栅格基本高度

通过在场景中包含城镇的航空照片可使洞穴与城镇之间的关系更为清晰。您将在 TIN 上叠加栅格并使其保持一定程度的透明,以便能够看到表面以下的洞穴。

步骤:
  1. 右键单击 photo.tif,再单击属性
  2. 打开航空照片的图层属性
  3. 单击基本高度选项卡。
  4. 单击在自定义表面上浮动
  5. 单击下拉箭头,再单击 tin1。
  6. 在 TIN 上叠加航空照片
  7. 单击显示选项卡。
  8. 透明度文本框中,输入 30
  9. 设置图层透明度
  10. 单击确定
  11. 在内容列表中选中 photo.tif,使它在场景中变为可见。

现在,航空照片的透明度为 30%。您可看到照片上覆盖了大片的 TIN 图面,因为 TIN 和该照片具有相同的绘制优先级。如果希望 TIN 在照片以下可见,则可在 TIN 的图层属性 对话框的渲染选项卡上,将 TIN 的绘制优先级更改为 10(最低)。还可对 TIN 或照片的基本高度稍加偏移。

清理场景

为清理场景,可关闭一些不再需要的图层的可见性并使洞穴的线符号更宽一些。

步骤:
    在内容列表中,执行以下操作:
  1. 取消选中 vipoints point。
  2. 取消选中 brklines。
  3. 取消选中 tin1。
  4. 单击 Cavesurvey 图层的线符号。
  5. 通过单击内容列表中的符号更改符号属性
  6. 宽度框中,输入 5
  7. 符号选择器对话框
  8. 单击确定
  9. 现在,可看到经过粗线符号化之后的三维洞穴通道。表面要素和航空照片提供背景,以便您在场景中导航时能够轻松看出洞穴与城镇之间的关系。
    在 TIN 表面上叠加要素、设置图层透明度并高亮显示洞穴通道之后的 3D 场景

创建 terrain 的剖面

洞穴的走势顺应谷底的走向。为了解山谷的形状,将创建一个横断 TIN 的剖面。要创建剖面,首先必须拥有 3D 线(要素或图形)。您将启动 ArcMap、向地图添加 TIN 并且数字化线,以建立剖面。

步骤:
  1. 单击开始 > 所有程序 > ArcGIS > ArcMap 10 启动 ArcMap。
  2. ArcMap - 启动 对话框上,选择新建地图,然后单击浏览 浏览,将默认地理数据库路径设置为 D:\3DAnalyst\3D_Default.gdb。
  3. 该位置将用于存放在教程练习中生成的输出空间数据。
    设置 Exercise4 的默认地理数据库
  4. 单击确定关闭启动 对话框。
  5. ArcMap 将完成打开过程。
    ArcMap 用户界面
    现在将向 ArcMap 添加 3D Analyst 工具条。ArcMap 3D Analyst 工具条中包含多种在 ArcScene 3D Analyst 工具条中没有的工具。其中的两种就是线插值工具和创建剖面图工具,您将使用这两种工具创建表面的剖面图。
  6. 单击自定义,指向工具条,然后单击 3D Analyst
  7. 添加 3D Analyst 工具条
    会显示 3D Analyst 工具条。
  8. 单击自定义,再单击扩展模块
  9. 启用扩展模块
  10. 如果尚未启用 3D Analyst,可选中它。
  11. 启用 3D Analyst 扩展模块
  12. 单击关闭
  13. 3D Analyst 扩展模块已启用。
  14. 打开目录 窗口,然后在“文件夹连接”路径中导航至用于本地存放教程数据的 Exercise4\Terraindata 文件夹。
  15. 单击 tin1 图层并将它拖入地图视图中,然后释放鼠标键。
  16. 将 TIN 拖入地图视图中
    如果有提示出现,请单击确定,关闭未知的空间参考警告消息框。
    忽略空间参考警告
    TIN 将在新的场景中进行绘制,并且 TIN 图层会自动添加到内容列表中。
    TIN 显示在地图视图中
  17. 3D Analyst 工具条中,单击线插值 线插值 按钮。
  18. 3D Analyst 工具条上高亮显示的线插值工具
  19. 单击 TIN 的左上角,将线拖动到右下角,然后通过双击来停止数字化。
  20. 使用线插值工具数字化线段
    您可沿着带有多条线段的线创建剖面,但是在本例中,您将仅数字化一条直线。
  21. 单击剖面图工具 创建剖面图 按钮。
  22. 将创建剖面图。
    基于 TIN 表面上数字化的线创建剖面图
    您可编辑该图的标题、副标题及其他属性;保存、打印或导出该图;将它复制到剪切板;以及在布局上显示该图。也可仅关闭该图即可。
  23. 右键单击剖面图标题 栏,再单击添加到布局
  24. 该视图会自动切换到“布局视图”。在显示画面底部,您可看到视图图标从一种图标切换为另一种图标。
    剖面图的快捷菜单选项,包括向地图布局添加该图。
  25. 关闭剖面图 窗口。
  26. 在地图布局上可以看到该图。
    添加到地图布局的剖面图
  27. 单击数据视图 数据视图 按钮,返回到数据视图。

在 terrain 上创建通视线

了解地形的另一种方式就是创建通视线。通视线可说明沿着观察点到目标点的视线观察时表面的哪些部分可见以及哪些部分不可见。

步骤:
  1. 单击创建通视线 创建视线 按钮。
  2. 观察点偏移文本框中,输入 2
  3. 通视线对话框
    将对通视线进行计算,从而显示出从两米高的观察点处观察时哪些部分是可见的(该场景的 z 单位为米)。
  4. 单击 TIN 的右上部分中地势较高区域的南坡(观察点),向右下部分拖动出一条线,然后释放鼠标键(目标点)。
  5. 对起始于观察点结束于目标点的通视线进行数字化。
    将计算通视线。绿色线段表示可从观察点看到的区域;红色线段表示从观察点看不到的区域。
  6. 关闭通视线对话框。
  7. 通视线与其他图形线一样,可从 ArcMap 复制到 ArcScene。现在,要将已创建的线复制到场景中。
  8. 单击编辑,再单击选择所有元素
  9. 选择要复制到其他应用程序的数字化元素
    将选择所创建的两条线。
  10. 单击编辑,再单击复制
  11. 从 ArcMap 中复制所选元素
  12. 切换回 ArcScene,然后单击编辑,再单击粘贴
  13. 从 ArcMap 中将元素粘贴到 ArcScene
    这些线将被粘贴到场景中。
    带有从 ArcMap 粘贴的元素的 3D 场景
    如果需要取消选择所粘贴的线,可单击场景中远离这些线的某个其他位置来取消对其高亮显示。
  14. 在 ArcScene 中单击保存 保存 按钮。
  15. 在 ArcMap 中单击文件,然后单击退出
  16. 退出 ArcMap
  17. 单击来取消保存所做更改,然后关闭 ArcMap。
  18. 不需要保存在 ArcMap 中所做的更改

在本练习中,你了解到使用 ArcScene 和 ArcMap 创建和处理 TIN 表面模型的方法。您发现了可精确表达 3D 表面的 TIN 数据集的构造方法和符号化方法。另外添加了隔断线和多边形来描绘表面要素,例如铁路和 terrain 高程值。然后,将航空摄影用作 TIN 上的叠加栅格图层来执行进一步的表面分析。最后,您使用 ArcMap 中的线插值和创建剖面图工具在 TIN 模型上执行 3D 表面分析,从而完成了本次练习。

既然您已经了解了使用 TIN 模型表示表面的方法,那么就可以开始浏览 ArcGIS 3D Analyst 扩展模块的其他部分。在下一个练习里,您将了解在 ArcGlobe 中创建和处理动画的方法。


7/10/2012