基于GeoProbe地球物理平台的软件等值线追踪算法研究与软件开发
1.
2.
Research on the contour tracking algorithm and the corresponding software development on Geoprobe geophysical platform
1.
2.
责任编辑: 王萌
收稿日期: 2019-04-25 修回日期: 2019-12-13 网络出版日期: 2020-04-20
基金资助: |
|
Received: 2019-04-25 Revised: 2019-12-13 Online: 2020-04-20
作者简介 About authors
何辉(1979-),男,任职于中国自然资源航空物探遥感中心,主要从事软件开发工作。Email:huih_2001@163.com 。
笔者开展等值线追踪算法研究及相应软件开发。研究工作完善了地球物理数据处理与解释系统功能,为全自主国产化软件研发提供了方法技术支撑。笔者以网格数据访问接口及插件技术为基础,结合等值线特点,通过构建逐行追踪算法模型,研制了等值线追踪软件,统一了网格数据访问接口,保持了系统功能的完整性。实际数据测试结果表明,该追踪算法在效果及效率上均达到国际通用软件水平,满足了系统设计要求。
关键词:
In this paper, the isoline tracking algorithm was studied and the corresponding software was developed. This study improves the function of geophysical data processing and interpretation system. Also, it provides method and technical support for the study and development of all independent domestic software. Based on grid data access interface and plug in technology and combining contour features, the authors developed the software for contour tracking by building a progressive tracking algorithm model. The developed software unifies the grid data access interface and maintains the integrity of system functions. Tests on real field data demonstrate that the tracking algorithm has reached the international general software level in both effect and efficiency, and can meet the requirements of system design.
Keywords:
本文引用格式
何辉, 李芳, 王冠鑫.
HE Hui, LI Fang, WANG Guan-Xin.
0 引言
在国家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 等值线特点分析
相邻性是指在等值线追踪过程中相邻等值线的值如果不相等,则其值必须是相邻的。即如果当前位置的等值线值为5,则相邻的等值线值只能是5、0或10。
不相交性是指等值线都是连续、闭合的曲线,并且任意两条等值线在空间位置上不相交。
2.2 逐行追踪算法模型设计
逐行等值线追踪算法核心是对网格数据进行追踪,获取逐行等值线,利用等值线的连通性、相邻性及不相交性特点来构建追踪模型,实现对不同行等值线的连接,从而完成对整体网格数据等值线的追踪,则整个等值线模型如下:
设C为追踪所有的等值线集合,则C为c1到cn等值线的集合,其中n表示追踪等值线值间距的数量,
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
图1
左右相邻网格单元等值线连通性关系
Fig.1
Connectivity of contours between left and right adjacent mesh elements
为此,在追踪逐行数据等值线过程,需要判断左右相邻等值线的连通性,分别存在4种可能,p2与p3相等、p2与p4相等、p1与p3相等和p1与p4相等。通过4种判断对左右相邻并且值相等的等值线进行连同,合并为一条线。
图2
图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
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
编号 | 软件名称 | 等值线数量 | 追踪时间/s |
---|---|---|---|
1 | Surfer 9.0 | 12797 | 5.56 |
2 | ArcGIS 10.1 | 12797 | 6.00 |
3 | OASIS 8.3 | 12797 | 7.43 |
4 | GeoProbe Mager | 12797 | 6.415 |
由此可见本系统与ArcGIS在同等条件下追踪等值线效率相当。通过对比分析,本次研究的等值线追踪功能模块在效果及效率上,均达到通用软件水平,满足了GeoProbe平台要求。
图4
4 结论
等值线图在地球物理数据处理解释中具有广泛的应用,笔者在分析等值线特点的基础上,通过构建逐行追踪算法模型,设计了逐行等值线追踪算法,实现了网格数据等值线的追踪,提高了等值线追踪效率,追踪效率及效果达到了商业软件水平。结合VMA虚拟内存数组结构,解决了大数据访问问题,网格数据处理能力超过了16 384行×16 384列。应用插件技术,基于GeoProbe平台进行集成,满足了GeoProbe Mager航空物探数据全流程处理需求,提高了航空物探网格数据可视化效率。
参考文献
关于地质等值线图绘制的几个问题
[J].
Some problems on the drawing of geological isoline
[J].
地质构造等值线原理及实现技术
[J].
A method of onstruct isoline for geological structure
[J].
科学可视化及其在地学中的应用
[J].
Scientific visualization and it’s application in geoscience
[J].
绘制规则离散点等值线的一种算法
[J].
A new algorithm for drawing isolines of regular dispersed points
[J].
物化探制图中的阴影图方法
[J].
An Introduction to shaded relief:A new graphics applying to geophysical and geochemical exploration
[J].
EJ/T 1032—2005航空伽马能谱测量规范
[S].
EJ/T 1032—2005 Specification for Airborne Gamma-Ray Spectrometry
[S].
航空物探软件系统研制
[J].
Development of aerogeophysical software system
[J].
我国航空重磁勘探技术现状与发展趋势
[J].
The present situation and development of airborne gravity and magnetic survey techniques in China
[J].
航空物探领域的GIS开发与应用
[J].
Development and application of GIS in aerogeophysical field
[J].
插件技术在GeoProbe 地球物理软件平台中的应用
[J].
The application of the plug-in technology to geophysical software platform(GeoProbe)
[J].
降雨量等值线图的自动绘制方法
[J].
Automatic drawing method of precipitation contour map
[J].
基于三角网的等值线填充算法研究
[J].
Study on algorithm of isoline filling based on triangle mesh
[J].
等值线生成与图形填充算法
[J].
Investigation on the algorithm of making and filling isoline
[J].
矩形网格节点上的插值函数
[J].
Interpolating Function on the Nodes of Rectangle Net
[J].
一种改进的矩形网格等值线追踪算法
[J].
A Modified contour tracing algorithm of rectangular grid
[J].
快速Delaunay逐点插入网格生成算法
[J].
A fast mesh generation algorithm with point-by-point delaunay insertion
[J].
一种新的矩形网格生成等值线算法
[J].
A new contour generation algorithmin rectangular meshes
[J].
/
〈 |
|
〉 |
