在 3D 模式下编辑面
为 2D 区域建模时,面要素非常有用。通过面要素可以定义一个不规则的地理范围,并保证此区域范围内的所有内容都符合某项准则或属于某个类别。某些面可在逻辑上覆盖某个区域(如土地利用或土壤类型),而另外一些面的覆盖部分则较分散(如建筑物覆盖区或濒危物种的栖息地),可能还有一些面的覆盖部分重叠(如建筑物楼层或历史洪泛区)。
要在 3D 视图中使用面,您必须先定义这些面的 z 值(或高度)的来源。共有三种可能的源:
- 来自表面
- 来自要素属性(或常数值)
- 来自要素的 shape 字段
这些属性将影响在 3D 视图中创建和编辑面的操作。因此,以下指导原则和信息将有助于您在 3D 模式下使用面。
编辑叠加面
覆盖大型区域的面或连接在一起覆盖某区域的面,通常在 3D 模式下显示为叠加在高程表面之上,如影像一般。ArcScene 和 ArcGlobe 中都设有创建重叠面要素的编辑工具。例如,您可以使用面编辑构造工具直接在 3D 视图中为感兴趣的区域绘制草图。
不建议在 3D 视图中保留叠加的面要素。在表面上更新面几何会增加复杂程度,应尽量避免此类操作;特别是在 ArcGlobe 中,每次编辑后都重新生成显示缓存会使此过程的代价较高。处于对这些原因的考虑,ArcGlobe 不支持在编辑会话中选择或更新现有叠加面。
而单就 2D 面而言,ArcMap 本质上仍属于最佳编辑环境。
编辑拉伸面
在 ArcScene 和 ArcGlobe 中渲染面的另一种途径是将其作为拉伸的 3D 块。这些面可通过组合使用面的 2D 轮廓线和上下垂直范围来显示。以这种方式显示的面可通过与编辑 3D 对象类似的方式进行编辑,并且可在 3D 视图中更有效地得到保留。
拉伸面要素的基本高度可取自表面、要素属性或 shape 字段,并且您可以使用 3D 编辑工具交互地更新此垂直位置,例如使用交互式编辑放置工具或使用 3D 编辑器的移动命令手动输入垂直距离。
对每个要素进行拉伸的程度将始终取决于要素属性,因此拉伸面的高度可通过标准属性编辑工具进行更新。拉伸高度为常数值的面将不会受对要素所作编辑的影响。
值的注意的是,拉伸面图层不必参考 3D 数据,但却可以配置为将要素属性用作基本高度和拉伸高度。例如,对 3D 非动态区域的界定可建模为可在最小高度和最大高度之间进行拉伸的简单 2D 面。此设计也非常适用于建筑物内部,其中每个面的基本高度将定义为楼层编号的因子,而房间高度则通过常数或要素属性定义。
编辑 3D(含 z 值)面
面要素类可能包含 z 值,因此将启用为面内每个折点单独存储 z 值的功能。ArcScene 支持创建和交互式编辑此类要素,但建议仅在需要某些使用 2D 面无法实现的功能时使用。
如果需要管理各折点处的 z 值,则会使这些面很难通过交互编辑进行更新。请参阅本主题结尾的“3D 面内部”部分,了解有关插值后 3D 面内部的重要概念的详细信息。
在 3D 模式下编辑面的各种适用情况的示例
在 3D 视图中编辑和保留面要素存在多种可能的情况。下方列表的目的并不在于囊括所有情况,而是希望在判断下列各过程何时适用的大体方向上对您加以指导。
示例情况包括以下内容:
- 管理拉伸面:例如,保留建筑物的内部空间
- 创建面的 3D 内部在逻辑上为平面的区域:例如,湖泊的边界,此时所有折点的 z 值均相同
- 创建周长的 3D 剖面需要捕获的区域:例如,公园的围墙边界,此时在 3D 模式下仅周长有价值。
- 首次构建面中不需要 3D 信息的区域:例如,根据显示的高程坡向或坡度对某研究区域进行数字化处理,此时的后续编辑将在 ArcMap 中进行
- 使用自定义工具和工作流:例如,使用自定义构建工具构造最小飞行着陆螺旋桨,此时生成的几何将被计算为 3D 模式下的平面
如上所述,以上使用情况中的许多情况都可以通过使用 2D 面和一个或多个要素属性来支持。
3D 面内部
使用 3D 面时值得注意的一个重要概念是,对于各面的内部,存在多种可能的几何解决方案。即多个面要素中同一 3D 折点的集合不必在面内强制使用相同的内部 3D 表面区域。
高级用户要想为 3D 面顺利建模,可仅创建三点面或强制执行可确保仅创建 3D 平面的面的要素创建过程。
如果需要强制使用内部形状(例如,表面以下的地质边界),推荐使用多面体 (multipatch) 几何类型。对于此任务,在两个 TIN 间拉伸地理处理工具尤为适用。