余咏胜,尹言军,章 琳
(武汉市测绘研究院,湖北武汉430022)
基于地形图的大比例尺DEM精度检查技术
余咏胜,尹言军,章 琳
(武汉市测绘研究院,湖北武汉430022)
摘 要:大比例尺DEM成果精度检查是数据质量检查的核心内容,如何全面核查DEM成果精度、快速发现粗差区域对于指导DEM数据生产、提高成果质量有重要意义。结合武汉市大比例尺DEM数据生产及检查工作现状,提出以全要素地形图为基础,采用基于FME的高程信息提取模型和DEM精度检查模型,通过ArcGIS模板和Python自动化处理脚本对DEM成果精度进行检查分析和统计的处理技术。试验结果表明,该方法能提高DEM成果精度检查分析的效率和质量,可广泛应用于DEM数据生产实践。
关键词:DEM;精度检测;FME;Python;Arcpy
地形表面的数字化是用数字高程模型(DEM)表示,一般以规则格网点高程数值矩阵来表示地表起伏形态特征信息,可广泛应用于城市规划、工程建设、环境保护和治理等领域。随着航空摄影技术的快速发展,基于数字摄影测量工作站、利用高分辨率航空影像进行大比例尺DEM数据采集模式已得到广泛应用。大比例尺DEM数据生产较为常用的做法有两种:一种是通过数字摄影测量工作站进行特征点、线的采集,据此构TIN内插成规则格网的DEM数据;另一种是通过特征匹配方式直接生成规则格网的DSM数据,在此基础上立体模式下进行编辑,消除建筑、植被等要素影响生成DEM成果。无论以何种方式生产DEM数据,其成果真实地反映地形地貌的现状,其质量及数据精度能够满足相关标准和技术规范的要求。
DEM成果精度检查主要是检查DEM数据的高程误差及分布情况、能否准确反映地形地貌特征,DEM精度检查的方法有多种,可以通过分层设色、三维模型可视化或等高线回放方式检查,也可以利用已知高程点或地形图上高程值进行检查。分层设色和三维模型可视化可以发现粗差,但不能用于精确评估;等高线回放模式一般用于定性评价;直接上机检查一般需要恢复立体模型,其作业效率相对较低。实际生产中在基础资料比较齐全区域一般以大比例尺地形图为标准通过DEM数据套合方式进行成果精度检查。
通过全要素地形图进行DEM精度检查,在显示器上点选操作,处理方便,频繁人工查询取值工作效率低下;用于生产的全要素地形图数据来源多样,可能是AutoCAD DWG数据格式或MicroStation DGN格式,部分单位甚至在数据提供时进行了图层合并处理,难以实现数据的统一处理;精度检查工作需要进行大量统计表格填写,人工处理周期较长。针对以上情况,本文采用FME空间数据处理模型和Python脚本语言对DEM精度检查技术进行了研究和探讨。FME可以实现超过100种不同空间数据格式之间的相互转换,可满足生产单位对于多源制图数据高效处理的要求;Python语言是ArcGIS系统中扩展地理处理的通用脚本语言,通过com接口可方便地在不同系统中进行数据的交互和处理。结合大比例尺DEM数据生产实际,提出了以全要素地形图为基础、以FME空间数据处理模型和Python自动化处理脚本为手段的DEM成果精度检查分析与处理技术,提高了DEM成果精度检查工作的效率、准确性和实用性。
2.1 大比例尺DEM精度检查流程
大比例尺DEM成果精度检查包括DEM数据的数学基础、高程精度、接边精度、数据范围的完整性、高程值的有效性以及元数据的正确性等内容,DEM精度检查的一般性检查项目比较容易处理,高程精度的检查处理则相对比较困难,是检查内容的关键。本文DEM成果精度检查是以大比例尺地形图(.dwg格式)为基础,从中提取高程点位和高程注记值信息,通过与DEM数据(.img格式)的叠置处理,获取点位的DEM原始高程并计算高程较差,在ArcGIS系统中利用图层模板对检查点要素按不同精度要求进行分类设色,便于检查人员对误差较大的问题区域进行标识、核查,及时作出处理;确认DEM数据满足相关精度要求后可通过python脚本语言自动填写相关记录表格,并对检查成果进行精度统计。大比例尺DEM精度检查处理流程如图1所示。
2.2 高程信息提取
图1 大比例尺DEM精度检查处理流程
高程点信息提取的目的是利用现有地形图上的高程点位和高程注记信息生产三维点要素,便于DEM叠置处理及精度检查。对于已经建立大比例尺地形图数据库的区域,由于高程点位及高程值属性已经进行了拓扑检查和属性关联,可以直接从数据库中提取相关信息。实际生产中往往存在大量未入库地形图数据,或矢量数据进行图层合并等处理,难以直接从数据中提取相关信息,进行高程信息提取时必须根据数据的具体情况进行分析处理。
根据大比例尺地形图图式的要求,高程点一般用0.5mm的黑点表示,由于AutoCAD中点要素不具备尺寸信息,通常采用插入高程点符号图块的方式表示点位,因此高程点位可通过autocad_block_name进行过滤方式确定块要素,然后根据要素平面坐标采用VertexCreator转换器生成高程点位。高程值一般用TEXT文本标注方式保存至指定图层,由于矢量数据存在图层合并等干扰处理,导致其它图层注记信息如楼层注记、植被标注、图廓标注等信息混合至高程注记层,必须将这些多余信息剔除。为实现高程注记的有效过滤,读取dwg文件时应将autocad_layer、autocad_color、autocad_text_string、autocad_text_size等属性暴露出来便于根据图层、颜色、字体大小等信息进行筛选,同时为防止高程注记本身存在的输入错误(如高程值为21..3,包含多余小数点),还需要对高程注记字符串数值正确性进行判断。
高程点位和高程值注记提取之后,需要进行图形和属性关联操作。通常高程注记的平面位置可能根据图面负载情况进行移位处理,考虑到注记的大小,该移位距离通常不超过20m,该距离可设置为高程注记的最大搜索范围。FME中可通过NeighborFinder转换器实现高程点位和注记的关联,在最大搜索范围内的、距高程点位最近的高程注记作为高程值与点位关联,对于只有高程点位没有高程注记、有高程注记没有对应高程点位的直接剔除,确保散点高程信息提取准确、有效。从矢量地形图中进行高程点信息提取的模型如图2所示。利用该图高程点信息提取模型,通过FME批量转换向导工具,可以自动完成任意数量矢量地形图数据的高程信息提取工作。
图2 地形图高程点信息提取模型
2.3 DEM精度检测与分析
大比例尺地形图的高程点信息提取工作是进行DEM精度检查的前提,提取高程点要素之后才能进行DEM数据的精度检查和分析处理。DEM数据通常以不规则三角网(TIN)模式或规则格网(Grid)模式表现,生产中DEM成果一般采用浮点型栅格数据格式保存(.img或.tif格式)。在FME中根据已有高程点的平面位置从DEM数据上获取相应点位的高程值可以通过PointOnRasterValue-Extractor转换器实现,高程较差通过AttributeCreator新增字段计算并保存。
根据相关规范要求,大比例尺DEM数据一般采用2.5m格网间距,高程中误差按平地、丘陵地、山地等地形类别划分不同精度等级,粗差比较集中的区域可能是DEM数据采集存在问题的区域,也有可能是地形发生变化的区域,对于这类区域需要重点核查。在FME中可以通过HullAccumulator转换器将超限区域连接成多边形,一般采用Concave模式生成凹包,根据大比例尺地形图高程注记点位间距分布规律,对于离散的粗差范围可以设置阈值将面积小于3000的破碎区域进行滤除。DEM精度检查模型如图3所示。
图3 DEM精度检查模型
根据DEM制作要求,立交桥、高架桥等路面一般按桥下地面实际高程表示,而全要素地形图上立交桥、高架桥均存在高程散点,此时DEM精度检测出的粗差属于伪变化,需要剔除;此外,由于水位涨落的影响,地形图上部分河流岸线区域的高程点可能位于DEM数据采集时的水位线以下,此时检测出的粗差也应剔除。为便于质量检查人员直观、方便地对DEM精度检查结果进行核查分析,对存在问题的区域进行快速定位和标识,通常需要在Arc-GIS系统对检查点位矢量和DEM数据进行矢量和栅格数据叠置处理,以便快速识别伪粗差、圈定粗差较大的问题区域。为提高DEM精度检查作业的效率,避免在不同的图幅间切换时需重复对高程较差进行符号化设置,一般需要将DEM高程检查点矢量要素保存为图层检查模板,数据切换时直接指定.lyr图层文件作为高程较差符号化的模板进行自动处理。
2.4 DEM精度统计
DEM数据精度统计是成果质量检查的一项重要工作,其主要内容是根据高程点精度检查情况,填写相关精度检查记录表格。按常规作业模式需要通过人工核查图面检查点位分布并选点,再根据点位高程及较差信息填写相关记录表格,该项工作相当繁琐且容易出错,本文通过python脚本实现了精度统计的自动化处理。
Python是一种开源的脚本编程语言,是Arc-GIS系统中通用脚本语言。在python脚本中可通过import arcpy方式引用arcpy站点包,从而实现shp文件的数据访问和空间分析等操作。基于全要素地形图进行DEM精度检测时,单幅图内DEM检查点数约400点左右,精度检查记录表一般只需要填写25个左右检查值,可以根据图幅的坐标格网进行过滤,每个坐标格网内取其中心附近的检查点作为记录值,其点位分布满足图幅内均匀分布。当图幅不满幅时,可增选格网角点附近的检查点作为记录值填写。筛选后的检查点可通过arcpy.Search-Cursor()函数读取DEM高程值、高程检查值及高程较差等属性。
在Python中调用和处理Word文档模板需要pywin32模块的支持,通过import win32com.client可实现com接口的调度,不需要处理复杂事件响应函数就可直接对Microsoft Word文档中的段落、表格以及文本格式进行修改或设置。利用python脚本进行DEM精度统计的相关操作主要代码如下:
import win32com.client,arcpy
#打开Word文件模板准备写入数据
WordApp=win32com.client.Dispatch(“Word.Application”)
doc=WordApp.Documents.Open(docPath-Name)
tbl=doc.Tables(1)
#打开Shape文件读取高程检查信息
rows=arcpy.SearchCursor(shpPathName)
for row in rows:
dem,chk,delta=row.getValue(“dem”),row.getValue(“chk”),row.getValue(“delta”)#在Word文档模板中填入高程及较差信息
if(i<=25):
tbl.Cell(i,2).Range.Text=“%.1f”%(dem)
tbl.Cell(i,3).Range.Text=“%.1f”%(chk)
tbl.Cell(i,4).Range.Text=“%.1f”%(delta)
i+=1
以上脚本中,有关检查点的筛选、高程中误差统计及其它细节内容由于所占篇幅较多且较容易实现而进行省略处理。
为验证本文提出的高程点信息提取和DEM精度检查方法的效率和可用性,结合武汉市1∶2 000比例尺DEM数据质量检查工作进行试验,图4中显示了经本文方法处理后原始DEM数据和检查点高程误差分布情况。
图4中检查点的颜色根据其高程较差delta的数值大小进行了分类设色,浅色点的检查点分别代表平地、丘陵地的精度要求;灰色点位代表山地或隐蔽地区的精度要求,出现在平地或丘陵地区域则表示精度可能超限;深色点区域代表精度超过限差要求,需要重点核查原因;箭头为超限区域连成的多边形。图4中高程检查点存在四处明显超限区域,经检查发现,其中两处为桥梁上点位可以剔除,另一处为河岸落水区域也可以剔除,第四处超限区域即多边形区域经核查为实地发生地形变化、与地形图上地形不一致产生超限。经核查可将超限区域点位剔除,其它检查点参与DEM精度统计表格的自动生成。
图4 DEM成果及精度检查结果
本文结合大比例尺DEM数据生产实际,分析现有DEM成果精度检查方式的问题与不足,针对质量检查验收人员工作方法单一、自动化程度不高的现状,系统地阐述以大比例尺地形图为基础、基于FME空间数据处理模型和Python自动化处理脚本的DEM成果精度进行检查分析和统计的处理技术。通过试验区检测结果表明,该方法对DEM数据的精度检查方法是非常有效的,该作业模式可以显著提高质量检查工作的效率,可以广泛应用于DEM数据生产实践。此外,DEM精度检查生成的粗差区域多边形,经核查后作为地形图变化区域标识,可用于指导大比例尺地形图的更新工作。
参考文献:
[1] 齐晓飞,王光霞,马俊,等.DEM误差可视化方法的适应性研究[J].测绘工程,2013,22(2):17-21.
[2] 陈艳丽.1∶10 000DLG生产DEM的质量检查与评定[J].地理空间信息,2011(2):29-31,7.
[3] 王佩,吕志勇.DEM产品质量检查标准研究与实现[J].测绘与空间地理信息,2011(5):280-283.
[4] 周小军,王光霞,薛志伟,等.基于DEM化简的等高线综合研究[J].测绘工程,2014,23(2):10-14.
[5] 常线.基于Global Mapper的DEM检查方法[J].测绘与空间地理信息,,2014,37(2):209-210.
[6] 熊登亮;陈舫益.采用无人机影像生成高原山区高精度DEM的一种方法[J].测绘与空间地理信息,2014,37 (1):127-128.
[7] 张朝忙,刘庆生,刘高焕,等.中国地区SRTM3DEM高程精度质量评价[J].测绘工程,2014,23(4):14-19.
[8] 李孟军.DEM接边检查平差系统设计与实现[J].测绘与空间地理信息,2014,37(5):159-160.
[9] 梁丽芳,田时雨,王燕云,等.基于DEM的地形分类方法研究[J].测绘与空间地理信息,2014,37(8):206-208.
[10]余咏胜,罗名海,吴克友,等.基于FME的地理国情覆盖要素提取技术探讨[J].地理空间信息,2014(5):01-03.
[11]胡鹏,吴艳兰,胡海.再论DEM精度评定的基本理论问题[J].地球信息科学,2005(3):28-33.
[12]徐道柱,张卫柱,田浩,等.基于等高线约束三角网的格网DEM精度评估方法[J].测绘工程,2013,22(2):75-78.
[13]张新利.一种DEM套合自动检查算法的设计与实现[J].测绘与空间地理信息,2012,35(10):43-46.
[责任编辑:李铭娜]
Research on the accuracy checking technology of large scale DEM data based on topographic map
YU Yongsheng,YIN Yanjun,ZHANG Lin
(Wuhan Geomatic Institute,Wuhan 430022,China)
Abstract:The accuracy of large scale DEM data is the core content of data quality control.How to check the accuracy of DEM data and quickly find the gross area has important significance for improving the quality of DEM data production.With the discussion of current situation of large scale DEM data production and inspection in Wuhan,a method for DEM product accuracy detection and analysis technology is put forward based on topographic map and an FME model of ground point extraction and accuracy detection with ArcGIS templates and python scripts is proposed.The results show this method can improve the quality and efficiency of DEM products accuracy check.It can be widely applied to the production of DEM data.Key words:DEM;accuracy checking;FME;Python;Arc
作者简介:余咏胜(1979-),男,高级工程师,硕士.
基金项目:国家测绘地理信息局重点实验室开放基金项目(PF2013-14)
收稿日期:2014-10-29
中图分类号:P228
文献标识码:A
文章编号:1006-7949(2016)01-0069-04