APP下载

基于Arcpy的DEM生产解决方案

2023-03-09张学仪

黑龙江科学 2023年2期
关键词:等高线斜面栅格

张学仪

(四川中水成勘院测绘工程有限责任公司,成都 610072)

DEM生产是测绘地理信息专业领域最重要的业务之一。总结了DEM生产项目经验,针对流域规划、水域分析和河湖划界等解决DEM生产中的实际问题,经过试验和调整,提出了一套较完整的解决方案。流程如图1所示。

图1 DEM生产解决方案图Fig.1 Conceptual drawing of DEM production

1 DEM生产解决方案

1.1 DEM基础数据

DEM生产方法很多,本研究主要分析其中两种,即利用激光点云生成DEM,在地形图中提取高程点及等高线生成DEM。提取基础数据后,利用Arcpy开发程序集,对基础数据进行质量检查,分析基础数据质量,对有问题的数据进行整改。数据检查包括以下内容:等高线高程点属性字段检查,如是否有低点、错点或等高线错值与非整数值等;处理等高线自相交、相交与水系相交;穿双线水域等高线两边拉直,不要有弧度;池塘等高线下水处理、水域遇涵洞与闭合圈处理、房区周围等高线处理、特征点(鞍部、闭合圈等)处理。

针对DEM生成和后期水面改正,开发了DLG质检程序集,如图2所示,主要用于检查基础数据资料质量。

图2 DLG质检工具集Fig.2 DLG quality control tool set

1.2 构建TIN

TIN的全称是Triangulated Irregular Network,即“不规则三角网”,也是一种数字模型。TIN文件可表达高程的数字模型,与DEM的区别是矢量,而DEM是栅格。矢量的高程点和等高线转换为连续面状DEM高程数据模型则需要插值完成。而插值过程不能直接将矢量插值转化为栅格数据,应先插值生成TIN模型,再将其转化为栅格数字高程模型DEM文件。

1.3 三角约束处理

虽然通过特征点线建构TIN生产的DEM质量很高,但TIN数据中通常存在平三角(三角形3个顶点高程相等)。平三角在局部地形,特别是山脊和山谷会出现一些不合理的平坦区域,在DEM反生等高线与已有图进行套合比对时,两者差异会出现不符合规范要求的情况,因此需要利用程序来解决。图3是平三角处理前后反生等高线套合的结果,图4是TIN编辑处理效果对比图。

图3 平三角处理前后反生等高线套合情况Fig.3 Inversion contour nesting before and after flat triangulation

图4 TIN编辑处理效果Fig.4 TIN editing treatment effect

1.4 DEM水面改正

激光点云生成DEM的过程中,由于一般水面对激光的反射信号很弱,导致水面上没有激光点,因此生成的DEM上会出现空洞。由于水中有沙滩和漂浮物等,会使激光雷达在水面上的激光点有误差,令生成的DEM水面变得很粗糙。而由等高线和高程点生产的DEM,在水面区域也会出现类似问题。

对于DEM水面改正这一问题提出微分阶梯法,即将水面微分为一段很小的面,认为此水面是水平的,由一个个小平面模拟构成水面。但在实施中发现,微分法会产生很多小面,数据量非常大,即使河流微分化再小,实际水面仍是不连续的阶梯平面。

针对此问题提出一种新方法,即斜面法,将河流进行分段处理。河流一般都很长,如果不分段处理,其数据量非常大,程序运行效率很低。且一条大河流在不同区域的特性有差异,分段化是为了区分河流的变化。分段处理完成以后,将分段河流看做是三维空间的一个斜面,在流向方向一直递增或递减,使其更符合河流的特性,更切合实际,如表1所示。

表1 算法设计对比Tab.1 Comparison of algorithm design

DEM水面改正程序采用斜面法模型,将流域内水面微分成指定间距的一个个斜面,为保持河流特性,在斜面相交的地方用小三角形斜面连接,用小三角形进行过渡,以解决因不同斜面不共面而造成的误差及河流倒流等情况,通过斜面方程重新计算流域内水面的格网高程,完成水面改正并计算中误差。通过参考三维空间的高程数据,计算出该斜面的方程。算法模型概念设计如图5所示。

图5 算法模型概念设计示意Fig.5 Schematic map of the conceptual designof the algorithm model

斜面法模型方程为Z=Ax+By+C,主要由离散点拟合平面,利用超定方程:

由BX=L,其最小二乘解为X=(BTB)-1BTL。

程序功能:一是生成斜面。将河流分段,通过用户采集的水边线和激光点云,对河流进行分段处理。二是计算斜面参数。在生成斜面后,根据激光点云,生成斜面参数,利用该参数计算斜面内任意一点的高程。三是利用斜面修改DEM。根据计算的斜面参数,对DEM进行修正,将DEM中的水面高程进行修改,计算并输出DEM成果,如图6所示。

图6 水面改正程序实现和运行Fig.6 Implementation and operation of water surface correction program

基于Arcpy程序开发,解决了DEM生产过程中的水域问题,运行效果如图7所示。

图7 DEM水面改正效果图Fig.7 DEM water surface correction effect

1.5 栅格DEM

经过TIN编辑、平三角处理和DEM水面改正,将TIN转换为成果DEM,再进行相关栅格计算和分幅裁剪,输出规范的DEM成果。

2 结束语

DEM生产是测绘地理信息中的基础工作之一,为了高质量、高效率地生产DEM,通过生产项目实践,利用ArcGIS和Arcpy程序开发,针对实际问题,提出了解决方案。

猜你喜欢

等高线斜面栅格
斜面之上探动能
基于邻域栅格筛选的点云边缘点提取方法*
巧用“相对”求解光滑斜面体问题
对一个平抛与斜面结合问题的探析
地形图的阅读
一种基于Fréchet距离的断裂等高线内插算法
“等高线地形图的判读”专题测试
不同剖面形状的栅格壁对栅格翼气动特性的影响
《机械能及其守恒定律》错题典析
基于CVT排布的非周期栅格密度加权阵设计