什么是表面函数?
用于定义 GIS 如何处理空间中的要素、对象和表面的基本属性之一是 GIS 的三维 (3D) 渲染功能。现今社会,术语“三维”被广泛误用,因为当前的许多应用软件实际上存储和显示的是二维半 (2.5D) 数据。ArcGIS 3D 分析能够将栅格、TIN 和 terrain 数据作为表面函数存储,而表面函数实际上属于 2.5D。表面函数呈连续性且表面上所有位置的 x,y 坐标均只能有一个高程值或 z 值。真正的 3D 表面有时被称为实体模型表面,ArcGIS 通过多面体 (multipatch) 要素来处理这些表面。与具有表面连续性的表面函数相比,实体模型表面可以建模和存储真正的 3D 数据并且每个 x,y 坐标可以有多个 z 值。
多面体 (Multipatch) 要素、四面体对象和体素空间即属于真正的 3D 数据。此类数据有时被视为实体模型表面并且可以针对每个 x,y 位置存储多个 z 值。电话线杆即属于多面体 (multipatch) 对象。电话线杆的顶部和底部各有一个 z 值。然而,如果想要测量电话线杆上的所有脚蹬横木,测量结果将是 x,y 空间中的一个电话线杆有许多 z 值,每个 z 值分别代表电话线杆上的一个脚蹬横木。
四面体对象实质上是三维的 TIN。明显的差别在于这些对象构成的是四面体而非二维三角形并且可以进行 3D 建模。构成四面体对象的结点的间距呈不规则性,因此这些结点特别适用于复杂多变的表面模型(如汽车、建筑物、植被和动物)。体素指的是体积像素。此类数据非常有趣,因为它可以使用具有相同分辨率和模式的单元块(体素)建模 3D 对象。
然而,表面通常是作为表面函数进行建模并且是 2.5D 的。此类数据具有表面连续性并且与每个 x,y 位置可以存储多个 z 值的 3D 表面或实体表面模型不同。
表面函数
ArcGIS 3D 分析将栅格、TIN 和 terrain 表面视为表面函数。对于任意一个给定的 x,y 位置,表面函数只能存储一个而非多个 z 值。最常见的表面函数是表示地表的地球表面。地球表面函数的其他示例包括深海测探数据、地下水位深度和单个地层。表面函数还可用于表示描述气候和人口统计数据、资源集中情况以及其他生物数据的统计表面。此外,表面函数也可用于表示基于数学表达式(如 Z = a + bX + cY)的数学表面。表面函数通常被称为 2.5 维面。
表面连续性(2.5D 和 3D)
表面函数被视为连续表面。就是说,无论从哪个方向接近表面函数上的某个给定 x,y 位置,您都将发现该位置处的 z 值是唯一的。这与不连续表面形成了鲜明的对比,在不连续表面中,如果以不同的方向接近某个给定 x,y 位置,可能会得到不同的 z 值。例如,导致地球表面发生位移的垂直断层即属于不连续表面。
如果分别沿着不连续表面的左侧和右侧接近该垂直断层,可能会在同一个 x,y 位置观测到不同的 z 值。
断层顶部的位置有一个高程值,而位于断层底部该点下方的位置也有一个高程值。如上所示,能够存储不连续表面的模型必须能够针对某个给定的 x,y 位置存储多个 z 值。
实体模型表面
与表面函数模型相比,实体模型表面是能针对任意一个给定的 x,y 位置存储多个 z 值的真正的 3D 模型。在计算机辅助设计 (CAD)、工程设计和其他需要使用实体对象的应用中,经常会用到实体模型。ArcGIS 可以将 3D 模型作为多面体 (multipatch) 要素类中的要素进行渲染。
适合于实体建模的对象包括:机器零部件、公路设施、建筑物和地球表面上的其他对象。在某些情况下,可以通过轻微偏移重复 x,y 坐标的方式在表面函数上表示断层和建筑物等三维对象。