APP下载

基于Oracle数据库的航磁异常自动渲染技术

2020-02-27李靖王林飞闫浩飞

物探与化探 2020年1期
关键词:物探制图符号

李靖,王林飞,闫浩飞

(中国自然资源航空物探遥感中心,北京 100083)

0 引言

航磁异常是航空磁测的重要成果之一,它是以航磁原始测量数据为基础,辅以位场转化数据,结合区域地质构造及其他物化探资料,综合分析后进行拾取的局部异常。通过对航磁异常的定性分析及定量解释,可直接或间接地寻找矿床、区分和圈定各类磁性地质体、划分某些成矿远景区、研究地质构造,以及为国民经济各部门提供基础性地球物理资料[1]。

我国自开始进行航空磁法勘测至今已有60余年,测量比例尺由1∶100万至1∶1万不等,已覆盖了中国大部分陆地和海域[2]。以航磁异常为主的航空物探异常已成为地质找矿的重要信息之一,它不但对实时的找矿具有指导作用,更加对研究区域性地质构造具有重要意义,对地质找矿战略性部署提供重要参考。然而长期以来,由于严重缺乏对航磁异常信息全面、科学、有效的管理,虽然建立了基于Oracle的航空物探数据库,对航空物探数据进行存储管理[3],但对于航磁异常数据而言仅仅将数据保存至数据库中并不能充分发挥其作用,航磁异常的图面展示受到很多技术上的制约,一定程度上限制了其服务提供。基于此,笔者在对航磁异常数据进行深入研究的基础上,结合大量图件及相关规范,采用二次开发的形式,实现了对存储在Oracle数据库中的航磁异常数据进行自动渲染的功能。

1 渲染方法研究

1.1 管理平台研究

图1给出了航磁数据的生产流程,航空物探工作以项目为单位通过野外飞行作业获取到的航磁ΔT数据,经数据处理解释专家对数据进行处理分析,形成本地数据,主要包括本地数据库形式的基础数据、图层数据形式的解释评价成果数据、网格成果数据;本地数据经人工数字制图工作后,形成最终成果图件。

图1 航磁数据生产流程

根据信息化建设对全部数据的管理需要,通过数据采集软件对成果数据及图件进行采集录入,存储至以ArcSDE为引擎进行管理的Oracle数据库中。为形成可发布的图件,需要再次对数据进行渲染,因此需大量的人工干预进行数字制图。

笔者通过对数据库管理引擎的研究,明确了基于Oracle数据库的制图渲染的基本机制,即通过ArcSDE连接数据库,使用ArcGIS平台进行操作,依据数据属性列手动进行子类划分,确定渲染方式(唯一值渲染或多字段唯一值渲染),使用*.style文件形式的符号库与属性内容进行关联匹配,依照相关行业标准规范为数据要素选择对应的制图符号,若无符合要求的符号,则需打开符号管理器,新建或者在已有符号基础上制作完成所需符号,匹配完成后,刷新图面并将符号信息进行保存[3-6]。在渲染过程中,主要难点有二:其一,项目工作中,是按照解释工作逐步推进,逐一对异常数据进行分类及渲染,此种方法明显不适用于大数据量的数据库管理;其二,数据库平台的渲染方式是对数据进行分类,而后对每一类别进行渲染,最后将渲染信息保存至工程文件中,即数据库每更新一次,就要对数据重新进行一次渲染工作,工作量巨大且重复。基于此,亟需一种能够满足数据表达需求的自动渲染工具。

1.2 渲染方案制定及符号制作

航磁异常数据作为点类型数据存储于数据库中,在制图表达过程中所需的信息有五种,其一为坐标信息,以双精度浮点型存储,记录异常点的经纬度信息;其二,异常轴向为双精度浮点型,记录异常的轴向角度,以正东方向为零,遵循右手螺旋法则,单位为度;其三,异常性质为无符号整型,记录解释专家对磁异常的定性划分,通过数据字典可查找原始语义,即引起磁异常的岩体性质,如04表示由辉长岩引起的局部异常;其四,异常分类为无符号整型,记录解释专家对异常的半定量级别划分,如01表示甲一类异常;其五,异常编号为可变长度的字符串类型,用于记录解释专家为方便描述对异常进性的编号,如新C-2014-126,表示该异常地处新疆,为航磁异常,测量于2014年,在测量区内排序编号126。

由于异常点图层的图面表达信息非常丰富,与多个属性相关,每一属性又有各自的数据字典,各数据字典项对应一符号,若想表达完全,则需从三个符号类别中分别选出一个再进行叠加,而若将三类符号全部排列组合在一起形成一个新的符号,则会使符号库指数级增长,特别是异常轴向信息属性,其并非数据字典,是数值型数据,因其无固定值,在图面表达时是根据其轴向对符号角度值进行设置,也就无法成为固定的符号,因此在项目制图工作对航磁异常点进行表达时,一般使用叠加图层的方式来进行渲染,即使用三个相同的点图层进行不同的符号化,叠加显示在图面上以表达其相关信息。如表1所示,其中一数据层用于表达异常分类,选择中空的符号来表达,且不遮挡异常性质的花纹及颜色,一数据层用于表达异常性质,用颜色及花纹表达。同理,异常轴向也用一数据选用中空符号,外加轴向示意表达,对于异常编号,则对任一图层进行注释标注,完成整个异常的图面表达。

表1 航磁异常数据渲染方式

以上制图工作中所需的符号形式由《航空物探数字制图与印刷技术规定》明确,然而在实际工作中,规定所列举的符号信息有所欠缺,重要信息异常类别,体现了引起异常的岩体性质,其多样性基本涵盖了大部分岩石种类,在项目工作中,由于是手工制图,常常选取就近花纹的已有符号,在图例中加以标注区分。此种方法对小片区具有特定找矿方向的图件较为实用,但对于大范围、地质构造多样、岩性种类各异、异常数量多的综合研究图件而言,此种方法会导致在图面上使用相同符号表现不同性质异常的现象。因此,笔者结合数据库数据及相关图件,参照国家标准《GBT958-2015区域地质图图例》及其他相关资料,对航空物探工作中所用到的航磁异常类别符号进行了整理归纳,完善异常类别符号。在符号制作时,使用矢量字体文件,通过符号管理器,在模板的基础上制作完成相应符号,形成航空物探异常符号库[8]。

航空物探数据库中的异常数据,由于数据属性齐全,要表达在图面上的信息,已划分为有数据字典的属性字段,而通过数据采集软件录入至数据库中的数据,属性完备,可直接根据属性字段内容与符号库内符号进行匹配并进行其他属性设置,完成数据渲染。

2 自动渲染实现

为简化人工操作,实现数据库数据的自动渲染,主要需解决以下问题:第一,航空物探数据库的建设是为了实现信息化管理,但先前工作中多图层叠加显示的方法要在数据库中对异常数据图层存储三遍,有违信息化管理的初衷[6-10],本软件要对仅在数据库中存储一次的数据进行自动制图;第二,航空物探数据库并非针对某一项目,而是为将所有项目数据集中管理,因此,数据库内数据是在不断增长,以往针对项目的图件制作不存在此问题,若要对新增数据进行渲染,只能将数据拷贝至制图界面重新手工制作,工作量大,易出错,而航空物探数据库内信息量巨大,难以实现[11-15]。因此,笔者在航空物探数据库管理引擎的基础上,设计了对航磁异常单图层数据进行制图渲染的流程,并使用原引擎接口进行二次开发,实现航磁异常自动渲染。

2.1 渲染流程设计

为遵从“高内聚低耦合”的软件设计思想,系统的流程按照三层架构模式进行设计,即数据访问层层、业务逻辑层和显示层[16]。其中数据访问层是整个系统的基础,用来对读取数据库数据,并对其进行划分[12];处理层是自动渲染的核心,包括各种接口的定义及实现,主要实现不同属性数据与符号的匹配及符号的相关参数设置及合成;显示层为用户提供可视化界面,通过继承系统的二次开发窗口,实现航磁异常数据的非默认参数设置下对符号大小、颜色等参数设置的可视化显示。

综上,对航磁异常自动渲染的流程设计如图2所示,首先通过数据库读取接口获取航磁异常数据的属性字段内容,根据获取的属性值与符号库内符号进行匹配,再根据需要的符号参数对符号进行设置,生成对应的符号,并暂时存入缓存,同时进行判定,是否完成符号化所有信息的读取,若未读取完成,则对以上工作重新循环,将新符号同时存入缓存,若已读取完成,则将缓存中的符号作为符号层合成最终符号,最后完成渲染工作,绘制至图面[17]。

2.2 接口设计实现

整个数据库平台的数据管理及服务平台涉及的功能模块众多,在软件研制过程中包括了 C、Fortan、VisualStudio C #、Visual Basic 等多种语言,由于各种语言的性能及特点不一致,作为基础性的坐标转换接口,必须同时适应多种语言的要求,因此要求坐标函数必须形成统一的API函数供其他语言进行访问,一方面避免代码的重复开发,减少研发工作量,另一方面方便对其进行维护及扩展[18-20]。

航空物探数据库通过ArcSDE进行管理,在授权终端机上可通过ArcGIS平台进行属性查看及相关制图、空间分析等操作,因此笔者通过二次开发,集成原ArcEngine相关接口及虚拟类,重新定义实现自动渲染功能所需的类对象,并进行插件式开发,将其集成为ArcGIS平台的拓展工具,在数据进入数据库中后,对其进行自动渲染,并将符号信息记录至属性库中。实现自动渲染所需类主要包括三部分:实现数据库读取及写入等操作的DataBaseop类;生成符号及标注的MagNorSymbol类及Label类,其中MagNorSymbol类为PointSymbol类的派生类,PointSynbol类为点类符号的基类,实现点符号的属性控制,MagNorSymbol类则是针对航磁异常所设计的符号类,通过数据库接口读取到的属性合成最终所需的航磁异常符号;最后是实现图面渲染的MagRender类,定义渲染器并完成渲染。

图2 航磁异常数据自动渲染流程

图3 异常点自动渲染类构建

3 应用实例

笔者依据上述设计,构建了航磁异常自动渲染工具,并依照属性对航磁异常进行制图渲染。如图4所示,笔者选取部分数据进行还原,通过对比,可见二者基本一致,均符合相关标准,达到根据数据对图件进行恢复的目标。自动渲染功能的研发大大拓展了航磁异常数据的应用范围,不但能够将所有项目的航磁异常分布实时更新至一张图,还能够与其他解释评价数据相互叠加进行分析应用,拓展了航磁数据的应用领域。

图 4成果图件对比

4 结束语

数据渲染成图是航空物探工作的重要成果之一,目前数据难以实现跨项目、跨平台渲染,因此笔者以C#为编程语言,构建航磁异常数据自动渲染工具,实现了工具的研发,最终成图效果满足航空物探工作图件的要求,符合相关国家及行业规范。作为公共函数,提供了标准的API接口,满足不同开发语言的调用,也方便对其进行统一维护。此种方法思路及对象类,不仅可用于航磁异常的自动渲染,更可加以应用,对其他点类数据进行数据渲染,推动航空物探数据的信息化应用。

猜你喜欢

物探制图符号
横波技术在工程物探中的应用分析
学符号,比多少
无声手枪如何消音?
地质调查物探技术及其发展的若干研究
习近平的战疫日志
“+”“-”符号的由来
明天我们将生活在怎样的城市?
地质调查物探技术发展研究
一图看清上海的“拆拆并并”
草绳和奇怪的符号