常见的数字高程模型结构有哪些?

常见的数字高程模型DEM结构有哪些?

数字高程模型结构包括:规则格网DEM数据结构、不规则三角网DEM数据结构、格网与不规则三角网结构混合结构。

  1. 规则格网DEM数据结构
    (1)简单矩阵结构:数据在水平和垂直方向的间隔相等,按行或列的矩阵形式逐一记录每一格网单元高程值。为实现行列号和平面位置坐标的转换,需记录西南角的坐标值,格网间距等,在应用时常需将DEM真实高程值与转换值相互推算使用。
    (2)行程编码结构(又称游程编码结构):对于一幅DEM,在行或列方向上相邻的若干点具有相同的高程值,因而从第一列开始,在格网单元数值发生变化时依次记录该值以及重复的个数,应用时可利用重复个数恢复DEM矩阵。相比简单矩阵结构,对数据进行了压缩,数据量会降低很多。
    (3)块状编码结构:是行程编码结构从一维扩展到二维的情况,采用正方形区域作为记录单元,每个记录单元包括相邻的若干栅格,数据结构由起始行号、列号、格网高程值、区域半径组成的单元组。也是一种有效的压缩编码。
    (4)四叉树数据结构:将一幅图像或栅格地图等分成四个部分,逐块检查其栅格值,若每个子区中所有栅格都含有相同值,则该子区不再往下分割,否则,继续将该区域再分割成四个子区域,如此递归地分割,直到每个子块都含有相同的灰度或属性值为止。由于是四等分,所以如7乘7这种,必须在行和列添加一个,变成8乘8,这样才能四等分。分割方式有自上往下(人的思维习惯)和自下而上(计算机的思维习惯)两种。
  1. 不规则三角网DEM数据结构(TIN数据结构)
    通过组成三角形的三顶点可完整地表达三角形的构成以及三角形顶点、三角形边、三角形面之间的拓扑关系,这种结构需两个文件,三角形顶点坐标文件和组成三角形三顶点文件。

(1)基本数据结构:只需要三角形顶点坐标文件和组成三角形三顶点文件,结构简单但三角形结构元素的拓扑关系是隐含的,不利于TIN模型的检索与应用。
(2)面结构:坐标表、三角形表以及邻接三角形表,显示表达三角形的拓扑关系,拓扑关系为显式,方便、随时使用。
(3)点结构:一个坐标表和一个邻接指针链;通过反映哪些点之间具有连通关系,拓扑关系为隐式,数据维护不方便。
(4)点面结构:坐标表、邻接指针链和三角形表;隐式拓扑关系。
(5)边结构:坐标表和边表;反映每条边是由哪些点连接而成,并反映其邻接边,隐式拓扑关系。
(6)边面结构:坐标表、边表和三角形表;拓扑关系为显式,数据量最大,较方便,生成工作量较大。

结 构存储量拓扑关系应用
面结构264显式方便,随时可用
点结构248隐式数据维护不方便
点面结构224隐式数据维护不方便
边结构160隐式较方便,专用算法生成
边面结构370显式较方便,生成工作量较大
  1. 格网与不规则三角网结构混合结构
类型规则格网DEM不规则三角网TIN
优点简单的数据存储结构; 与遥感影像数据的相合性; 良好的表面分析功能;较少的点可获取较高的精度; 可变分辨率; 良好的拓扑结构
缺点计算效率较低; 数据冗余; 格网结构规则;表面分析能力较差;构建比较费时;算法设计比较复杂;

把规则格网DEM数据结构和TIN数据结构二者结合,比较复杂。

例如:

  • Grid-TIN 模型
    Grid-TIN 以规则格网为基础, 在需要进行精细地形表达的地方嵌入不规则三角网, 并充分顾及精细地形的特征点、特征线和特征面, 确定三角形的大小和形状, 实现对各类复杂地形的细部刻画。
内容
优点能方便快速地检索特征地形。
缺点必须进行两种不同地形描述机理之间信息的协调与共享, 这就不得不打破原有格网DEM 数据结构的完整性和简洁性, 给全局数据的高效组织与处理带来很大困难。
  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 移动曲面拟合法是一种数字高程模型内插方法,它可以用来在给定的测量点数据中插值计算未知点的高程信息。 在 C 语言中实现移动曲面拟合法,首先需要准备所需的数据。这通常包括测量点的经纬度坐标和高程信息,以及需要插值计算的未知点的经纬度坐标。然后,可以使用某种算法来拟合这些数据,例如 Kriging 或最小二乘法。最后,使用拟合出的模型来计算未知点的高程信息。 下面是一个简单的示例,展示了如何使用 Kriging 算法在 C 语言中实现移动曲面拟合法: ``` #include <stdio.h> #include <stdlib.h> #include <math.h> #define N 5 // 测量点的数量 #define M 1 // 未知点的数量 double lon[N], lat[N], ele[N]; // 测量点的经纬度坐标和高程信息 double lon_unknown, lat_unknown; // 未知点的经纬度坐标 double ele_unknown; // 未知点的高程信息 double semivariogram(int i, int j) { // 计算点 i 和点 j 之间的半变异距离 double dx = lon[i] - lon[j]; double dy = lat[i] - lat[j]; return 0.5 * (ele[i] - ele[j]) * (ele[i] - ele[j]) ### 回答2: 移动曲面拟合法是一种用于数字高程模型(DEM)内插的方法。该方法可以通过使用C语言进行实现。 在移动曲面拟合法中,我们首先将输入的离散高程数据点进行分割成小区域,每个小区域都包含一些离散点。然后,我们使用多项式函数来拟合每个小区域的数据。 在C语言中,我们可以使用数组来存储输入的高程数据点。我们可以使用二维数组来存储每个小区域内的离散点,其中第一个维度表示小区域的索引,第二个维度表示离散点的索引。 接下来,我们需要实现一个函数来计算拟合后的曲面。我们可以使用最小二乘法来确定多项式函数的系数,以使拟合后的曲面尽可能地与原始数据点一致。我们可以通过遍历每个小区域,计算每个小区域的拟合曲面后,在整个DEM上进行内插。 在C语言中,我们可以使用矩阵运算库,如`gsl`来进行最小二乘法的计算。该库提供了一些函数,例如`gsl_fit`,可以根据给定的多项式函数和数据点,计算出最小二乘拟合的系数。 在内插过程中,我们可以遍历整个DEM的每个像素,对每个像素计算其在所在小区域的拟合曲面上的高程值,然后将其作为内插后的结果。 使用C语言实现移动曲面拟合法的数字高程模型内插可以很好地处理大量的高程数据点,并产生平滑的数字高程模型。通过控制多项式的次数和小区域的大小,我们可以调整内插结果的精度和平滑程度。这种方法在地形分析、三维可视化和地图制作等应用中具有广泛的用途。 ### 回答3: 移动曲面拟合法是一种常用数字高程模型内插方法,主要通过在输入数据点附近进行曲面拟合来估计未知位置的高程值。在C语言中,可以使用数学库中的相应函数来完成移动曲面拟合法的数字高程模型内插。 首先,我们需要定义输入的数据点,包括已知位置的坐标和对应的高程值。可以使用数组来存储这些数据点。然后,利用循环结构遍历每个未知位置,计算其高程值。 在移动曲面拟合法中,通过选取合适的邻域范围,对未知位置附近的已知位置进行拟合。一种常用的方法是选择K近邻算法,即选择与未知位置最近的K个已知位置作为邻域。 对于每个未知位置,首先计算其与已知位置的距离,并找到K个最邻近的已知位置。然后,根据这K个已知位置的坐标和对应的高程值,使用曲面拟合算法(如最小二乘法)来估计未知位置的高程值。最后,将估计得到的高程值保存在相应的数组中。 在完成所有未知位置的高程值估计后,我们就可以得到一个完整的数字高程模型。可以将结果输出到文件中或进行其他后续处理。 使用C语言实现移动曲面拟合法的数字高程模型内插,需要熟悉基本的数组操作、循环结构以及数学库函数的使用。对于曲面拟合算法的选择和实现,可以根据具体的需求和数据特点来进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值