基于 TIN 的表面概念
TIN 表面数据模型由结点、边、三角形、包面和拓扑组成。
结点
结点是 TIN 的基本结构单元。结点来自输入数据源中包含的点和线折点。每个结点都将包括在 TIN 三角形中。TIN 表面模型中的每个结点都必须包含一个 z 值。
边
通过边将每个结点与其最近的结点连接起来,从而形成符合 Delaunay 准则的三角形。每条边有两个结点,但每个结点可包含两条或多条边。每条边的两个端点都有一个包含 z 值的结点,因此可以计算边的两个结点间的坡度。
对于用于构建 TIN 的输入数据源中的每个要素,将根据其表面要素类型进行处理。断裂线要素始终保留为 TIN 三角形的边。在内部将这些断裂线 TIN 边标记为硬边或软边。
三角形
每个三角面描述部分 TIN 表面的行为。三角形三个结点的 x、y 和 z 坐标值可用于获取面的信息,例如坡度、坡向、表面积和表面长度。将整组三角形作为整体考虑,可以获取表面的其他信息,包括体积、表面轮廓和可见性分析。
由于每个面概括特定的表面行为,因此确保采样点选择恰当以实现表面的最佳拟合十分重要。如果对表面的重要区域采样不当,TIN 表面模型产生的结果可能不够理想。
包
TIN 包由一个或多个包含用于构建 TIN 的整组数据点的面构成。包面定义 TIN 的插值区。在包面内部或边上,可以插入表面 z 值,执行分析以及生成表面显示。在包面外部,无法获取表面信息。TIN 包可由一个或多个非凸面构成。
非凸包必须由用户定义,通过在 TIN 构建期间加入“裁剪”和“擦除”排除要素来实现。这些要素明确定义表面的边。如果未使用排除要素定义包,TIN 生成器将创建一个凸包来定义 TIN 的边界边。凸包是一个具有以下属性的面:连接 TIN 任意两点的线本身必须位于面内部或必须定义凸包的边。非凸包的定义对避免在位于实际数据集外但在凸包内部的 TIN 区域产生错误信息非常重要。请参见以下图表。
如果不使用裁减要素,阴影区域可能会插入不正确的值。
拓扑
通过保留定义每个三角形的结点、边数、类型以及与其他三角形邻接性的信息定义 TIN 的拓扑结构。对每个三角形,TIN 将记录以下信息:
- 三角形数量
- 每个相邻三角形的数量
- 定义三角形的三个结点
- 每个结点的 x,y 坐标
- 每个结点的表面 z 值
- 每个三角形边的边类型(硬或软)
另外,TIN 还保留了构成 TIN 包的所有边的列表以及定义 TIN 投影和测量单位的信息。
TIN 的存储方式
与 coverage 类似,TIN 以文件目录形式存储。但请注意,TIN 不是 coverage,它没有关联的 INFO 文件。TIN 目录由七个包含 TIN 表面信息的文件组成。这些文件以二进制格式编码,因此无法通过标准文本显示或编辑程序读取。