基于GeoProbe地球物理平台的软件等值线追踪算法研究与软件开发

2020-04-22 02:23何辉李芳王冠鑫
物探与化探 2020年2期
关键词:等值线连通性物探

何辉,李芳,王冠鑫

(1.中国自然资源航空物探遥感中心,北京 100083; 2.自然资源部 航空地球物理与遥感地质重点实验室,北京 100083)

0 引言

等值线一般是用来表示具有空间连续分布特征的现象,并且可以精确地表示这些现象的垂直变化和水平强弱差异,尤其在地球物理数据上可直观地表现地球物理数据变化趋势,广泛应用于大地测量、地球物理、地球化学等行业中,并且作为数据处理及解释成果的重要图件之一[1-3]。在航空物探数据处理及位场转换过程中,无论是作为数据调平前的准备,还是全测区位场水平的确定,乃至最后成果图件的编制,都以等值线图作为基础图件[6-10]。

在国家863 计划重大项目“航空地球物理勘查技术系统”和地质调查项目“航空物探方法技术与数据处理解释系统研究”支持下,中国自然资源航空物探遥感中心研制了GeoProbe软件平台,同时在平台基础上集成了地球物理数据处理与解释系统(GeoProbe Mager)。该系统空间数据显示平台以ArcEngine为基础[11],系统中对网格数据的管理采用统一的接口,但ArcEngine中绘制等值线以Raster图层为数据源,在数据访问方面存在不一致性,为了保持整个系统功能的完整性,有必要对等值线追踪绘制技术进行研制。

1 研究基础

GeoProbe软件平台在对加拿大GeoSoft Oasis montaj软件、Golden Software Surfer软件、航空物探AirProbe 1.0软件及GeoProbe 多网格文件(GGF)存储格式分析的基础上,设计并实现了统一的网格数据管理接口,对网格数据进行访问、处理等操作,从而方便整个系统维护及升级改造。

1.1 网格数据访问接口

航空地球物理所获取的测线数据(或称剖面数据)以GeoProbe数据库管理,经各项校正、改正、调平处理后,对其网格化,形成网格文件,并作为进一步应用的基础数据,因此网格数据是系统管理及处理重要的基础数据。

在充分分析网格数据特点的基础上,统一设计网格数据访问接口,以GGFHead作为网格文件信息结构,包括3部分内容:基本信息(GridInfo)、坐标信息(GCSInfo)和数据信息(DataInfo),其中基本信息主要指网格行数、网格列数、网格行间距、网格列间距等信息;坐标信息主要指坐标原点东向距、坐标原点北向距、坐标地理方位角度等;数据信息主要指网格数据的最大值、最小值、均值、基值及系数等信息。同时VMA虚拟内存数组结构实现对数据的管理,通过SetV和GetV函数来设置和获取网格行列数据。

void SetV(VMA &Va, __int32 nRow, __int32 nCol, double Value);

double GetV(VMA &Va, __int32 nRow, __int32 nCol);

Va表示虚拟内存数组结构,即整体网格数据;nRow表示网格行号;nCol表示网格列号;Value表示指定行列号的网格点数据;GetV函数返回指定行列号的网格点数据。

通过统一的网格访问函数SetV和GetV,方便系统对任意格式的网格数据获取的VMA进行访问,并为将来系统维护及升级改造提供方便。

1.2 插件技术

在大型的通用软件或专用软件中通常都支持用户进行二次开发,而二次开发的模式通常都采用插件技术。插件是基于面向对象的思想设计和实现,用以给用户进行二次开发的一种接口方式。用户应用插件模式按照指定规范编写出来的功能模块可供应用程序在运行时调用,以菜单或工具方式进行集成并完成相应的功能[6]。

GeoProbe软件平台提供了多种可供二次开发的插件,包括可重用的窗体插件模板(FrmGeoPlugin)、类插件模板(ClsGeoPlugin) 及各类状态插件模板等,并支持多语言(C++,C#,VB.Net等)开发。通过插件模块可方便快捷调用系统中的数据和资源,并进行相关的处理,为功能模块的集成及运行提供了基础。

2 逐行等值线追踪算法设计

2.1 等值线特点分析

等值线用二维平面信息来表达三维数据,为空间数据的判别提供了诸多便利,更加直观地把握空间数据的特征变化[12-13]。通过绘制相应的等值线图可简单而直观对数据进行分析判读。如何快速有效地对等值线进行追踪,确保绘制结果满足要求是系统研究的前提。在分析网格数据数据管理的基础上,归纳起来等值线具有连通性、相邻性和不相交性特点。

连通性是指等值线通过的网格数据单元必须是连续的[14-19],可解释为如果某等值线在网格数据的第七至第八行中存在,而在第八至第九行数据中没有,则该等值线要么封闭,要么追踪到边界处,完成该条等值线的追踪。

相邻性是指在等值线追踪过程中相邻等值线的值如果不相等,则其值必须是相邻的。即如果当前位置的等值线值为5,则相邻的等值线值只能是5、0或10。

不相交性是指等值线都是连续、闭合的曲线,并且任意两条等值线在空间位置上不相交。

2.2 逐行追踪算法模型设计

逐行等值线追踪算法核心是对网格数据进行追踪,获取逐行等值线,利用等值线的连通性、相邻性及不相交性特点来构建追踪模型,实现对不同行等值线的连接,从而完成对整体网格数据等值线的追踪,则整个等值线模型如下:

C=[c1,c2,…,cn]

设C为追踪所有的等值线集合,则C为c1到cn等值线的集合,其中n表示追踪等值线值间距的数量,

n=(Zmax-Zmin)/Z+1,

Zmax表示追踪等值线值的最大值,Zmin表示追踪等值线值的最小值,Z表示追踪等值线值的间隔。

ci=[cl1,cl2,…,clm],则ci(i=1,2,…,n)表示序列为i等值线值的数据集合,m表示网格逐行追踪过程中追踪到前一行管理的该值等值线数量,clj(j=1,2,…,m)指追踪到前一行管理序列为i等值线值的第j条等值线。

通过该模型构建,结合等值线相邻性、不相交性及逐行坐标的有序性,在进行等值线连接处理过程中可极大地提高相邻行等值线合并效率。应用等值线连通性特点,则等值线C在追踪过程管理等值线极限为所有行追踪等值线数量的最大数,极大地减少内存存储,进而达到提高整个等值线追踪效率。

2.3 逐行追踪算法设计

逐行追踪算法设计应用逐行追踪算法模型为基础,以行与行之间的间隔为单元进行追踪,即追踪相邻两行数据间的等值线,整个过程从第一行和第二行间开始追踪,形成等值线索引,再追踪第二行和第三行间等值线,直至追踪到最后两行为止,表示整个数据等值线追踪完毕。该算法重点需要解决的问题即逐行追踪等值线后线的连接问题。

设定由4个网格行列值点组成的一个格为网格单元,即有(i,j),(i,j+1), (i+1,j)和(i+1,j+1)组成一个单元,红色字母a,b分别表示为追踪的两段等值线,p1、p2表示a等值线的首末节点,p3、p4表示b等值线的首末节点。

图1 左右相邻网格单元等值线连通性关系Fig.1 Connectivity of contours between left and right adjacent mesh elements

为此,在追踪逐行数据等值线过程,需要判断左右相邻等值线的连通性,分别存在4种可能,p2与p3相等、p2与p4相等、p1与p3相等和p1与p4相等。通过4种判断对左右相邻并且值相等的等值线进行连同,合并为一条线。

图2 上下相邻网格单元等值线连通性关系Fig.2 Connectivity of contours between upper and lower adjacent mesh elements

同时在追踪逐行数据等值线后,还需要判断上下相邻等值线的连通性,也存在4种可能性,p2与p3相等、p2与p4相等、p1与p3相等和p1与p4相等,进而将上下相邻且值相同的等值线合并为一条线。

3 功能设计与应用

3.1 功能设计

应用GeoProbe平台的插件技术,参照插件技术开发指南[20],以网格数据为基础数据,结合网格数据访问接口,设计并实现了等值线绘制功能。通过构建等值线模型,应用等值线追踪算法实现逐行数据追踪,并对相邻行等值线进行合并,通过判断其连通性进行等值线存储,从而完成对整个网格数据的等值线追踪。功能研发应用GeoProbe平台的窗体插件进行界面设计,追踪算法采用C++语言进行开发,等值线数据以ESRI的Shapefile文件进行存储,通过ArcGIS平台进行空间数据显示,实现了功能模块的GeoProbe平台集成,并进行了应用分发。

图3 绘制等值线流程Fig.3 Drawing contour flow chart

3.2 应用效果

等值线追踪算法的优劣与否,主要通过其效果与效率来体现,为此将本文研究的等值线追踪效果和效率与Surfer、ArcGIS及OASIS软件进行对比分析。

应用实测航磁网格数据(1732行×1049列),网格数据最大值932 nT,最小值-513 nT,等值线追踪间距为5 nT,从-510~930 nT每隔5 nT进行等值线追踪,总计289个等级值。在笔记本W520(内存4 GB,Win7 32位操作系统)上进行性能测试。

表1 不同软件等值线追踪效率对比Table 1 Comparison of Tracking Efficiency of Different Software Contours

由此可见本系统与ArcGIS在同等条件下追踪等值线效率相当。通过对比分析,本次研究的等值线追踪功能模块在效果及效率上,均达到通用软件水平,满足了GeoProbe平台要求。

图4 等值线绘制效果Fig.4 The effect of contour drawing

4 结论

等值线图在地球物理数据处理解释中具有广泛的应用,笔者在分析等值线特点的基础上,通过构建逐行追踪算法模型,设计了逐行等值线追踪算法,实现了网格数据等值线的追踪,提高了等值线追踪效率,追踪效率及效果达到了商业软件水平。结合VMA虚拟内存数组结构,解决了大数据访问问题,网格数据处理能力超过了16 384行×16 384列。应用插件技术,基于GeoProbe平台进行集成,满足了GeoProbe Mager航空物探数据全流程处理需求,提高了航空物探网格数据可视化效率。

猜你喜欢
等值线连通性物探
植被覆盖度和降雨侵蚀力变化对小流域泥沙连通性的影响
中国自然保护地连通性的重要意义与关键议题
改进连通性保持的二阶多智能体编队控制
横波技术在工程物探中的应用分析
基于规则预计格网的开采沉陷等值线生成算法*
地质调查物探技术及其发展的若干研究
闸坝对抚河流域连通性的影响研究
新课标高考地理季节判断的几种方法
由一幅图探究等值线题判断规律
工程勘察中物探方法的应用