摘要:矿山遥感监测过程中,技术人员会利用ArcMap软件提取矿山开采区遥感监测成果数据中的相关信息制作解译记录表,以实现对矿山开采状况的遥感监测。手工制作解译记录表存在制作成本高、专业性强、工作量大、制表格式不一致、数据准确性低等问题。本研究提出基于AE(ArcGISEngine)进行插件式设计的矿山解译记录表自动生成方法,自动提取矿山开采区域遥感监测成果数据的属性信息和空间信息,结合文档对象模型(documentobjectmodel,DOM)自动编辑文档,完成解译记录表的自动生成工作。
关键词:AE;矿山监测;文档对象模型;解译记录表;遥感影像
0引言
矿产资源是不可再生资源,管理部门需严格按照有关规定,采用先进的技术手段,对矿山开采工作进行监控管理。其中,利用遥感技术监测矿山的开采状况是一种高效、科学的手段。为有效记录矿山开采信息,工作人员在获得矿山开采监控地区的矿山遥感监测成果数据[1]后,需要提取遥感监测成果数据的相关信息,结合遥感影像制作矿山遥感监测解译记录表[2](简称解译记录表)。
解译记录表的主要填报内容包括监测区的空间信息和相应的属性信息。相关部门通常根据实际需要,制定解译记录表的模板。数据采集部门按模板的要求进行数据填报。属性信息用以描述矿山开采区域的矿权归属、矿山名称和开采单位等信息,由监测区矢量数据的属性信息构成;空间信息用以描述开采区域在遥感影像上的大小、形状以及位置,主要以遥感影像与矢量要素叠加的图像形式呈现。
一般情况下,解译记录表包含所有矿山开采区域的开采信息,且每个开采区域都有对应的解译记录表。将解译记录表汇总后提交管理部门,管理部门通过浏览解译记录表可快速了解矿山资源开采状况,获取科学、直观的数据,为决策提供可靠依据。
目前,解译记录表的制作主要是由人工完成,技术人员利用ArcMap完成解译记录表的制作,但传统手工解译记录表制作存在如下问题:
1)制表成本高,专业性强。制作解译记录表所依赖的ArcMap功能复杂,对计算机软硬件要求高,制作人员需具备一定的专业知识。
2)制表工作量大、效率低。全国矿山开采区域众多,每个开采区域均需制作相应的解译记录表,制表数量庞大。技术人员手工提取制表数据,不断重复属性数据复制、粘贴、解译图像制作、解译记录表合并等工作,操作繁杂,效率低。
3)制表格式不一致,数据准确性低。矿山遥感监测成果数据整理单位众多,人工制作解译记录表无法保证统一格式和数据的准确,不利于成果数据的规范化管理。
为此,研究一种能够自动提取矿山遥感监测成果数据,并自动生成矿山遥感监测解译记录表的方法并在软件上加以实现十分必要。
1解译记录表构成要素及自动生成流程描述
解译记录表自动生成是建立在矿山监测成果数据的约束和规范描述基础上,用于自动生成解译记录表的矿山遥感监测成果数据,来源于矿山遥感监测成果编制系统。使用此数据便于规范解译记录表的构成要素(记录内容)。在此前提下,结合手工制作解译记录表的工作过程,设计符合实际需求的自动制作解译记录表流程,并对制作流程进行规范。
1.1解译记录表的构成要素
解译记录表的数据来源于矿山开采区域的矿山遥感监测成果数据,包括开采区的遥感影像及相关矢量图层。其中,遥感影像主要为国产高分影像(IMG或GEOTIFF格式),矢量图层由数据采集部门经过实地测量制作并提交。图层的属性表必须包含解译记录表所需的属性字段且字段的命名规则、数据精度一致,从而保证矢量图层的规范以及数据的准确性,为计算机自动提取信息提供保障。
解译记录表的构成要素分为属性信息和空间信息2类。其中,属性信息有文本和数字2种形式,空间信息由矢量图层和遥感影像的形式呈现。
属性信息主要来源于矢量图层的属性表,依据《矿山遥感监测成果数据入库要求》[3],属性表需包括主要矿种、中心点地理坐标、批准矿权面积和存在问题等字段。
空间信息描述矿山开采区域矢量要素的大小和形状等空间分布特征,由解译图像对矿山开采区域的空间分布特征进行直观描述。解译图像采用以一个开采区矢量要素为中心、遥感影像为背景的叠加方式进行制作并包含地图实际比例尺。
1.2解译记录表自动生成流程描述
解译记录表的手工编制过程如图1所示。图1手工解译记录表编制流程Fig.1Manualprocessofinterpretationrecordtable首先,由人工提取监测区矿山遥感监测成果数据中矢量图层的属性信息并填充解译记录表;然后,结合遥感影像制作解译图像,并将解译图像填充到对应的解译记录表中;最后,引用解译记录表模板,为每个开采区域的矢量要素制作各自的解译记录表并将解译记录表汇总提交到管理部门。解译记录表自动生成流程是基于手工制表过程的抽象而形成的,在制作方法上,将制作过程以工程的形式来呈现,如图2所示。在已有的矿山遥感监测成果编制系统中新建工程后,加载规范后的监测区成果数据,选择解译记录表功能,程序将自动提取所需的属性信息并缓存于系统中,完成所有解译图像制作后,可单击导出所有解译记录表按钮,程序即将缓存的属性信息与对应的解译图像填充到依据模板生成的解译记录表中,再合并为一个文档输出到指定的文件目录中。
2解译记录表自动生成的设计方法
解译记录表的自动生成方法涉及2个关键点:一是从遥感监测成果数据中进行有效信息提取;二是实现文档数据的填充和图片的插入,完成文档的编辑工作。为此,采用自动读取遥感监测成果系统中监测区属性数据并将其与矢量图层等空间数据一一映射的方式,来进行有效信息提取,并以嵌入式的方式将这些功能集成至矿山遥感监测成果编制系统[1]中来实现解译记录表文档的编辑工作。针对解译记录表制作过程中只使用ArcMap制图及数据可视化等模块中少部分功能对遥感监测成果数据进行信息提取这一特点,采用基于AE(ArcGISEngine)的二次开发模式,将AE提供的ArcGIS工具集成到宿主程序中[4],使解译记录表制作过程脱离ArcGISDesktop单独运行,从而完成解译记录表的信息提取功能。信息提取完成后,结合文档对象模型(documentobjectmodel,DOM)对解译记录表进行填充,最终实现解译记录表的自动生成。
2.1解译记录表自动生成方法的整体框架
解译记录表自动生成功能的整框架设计如图3所示,在.NetFramework框架下,将解译记录表功能集成到矿山遥感监测成果编制系统中,其中,解译记录表中需要嵌入AE的数据可视化组件、地图制图组件以及DOM。解译记录表功能通过调用AE标准接口实现信息提取,自定义的Records实体类缓存AE标准接口读取的属性信息和空间信息,同时在解译记录表功能中引用Microsoft.Office.Interop.Word类库,并借助该类库中的操作类完成解译记录表的编辑工作,实现解译记录表的自动生成。
解译记录表自动生成系统以这种轻量级软件设计思路进行设计,只集成了解译记录表信息提取操作所必需工具,只要具备ArcGISEngineRuntime即可运行,无需安装整个ArcGISDesktop,解决了传统解译记录表对ArcMap依赖性强,内存消耗大、运行慢的问题;在降低成本的同时,规范了解译记录表数据格式,提高了数据的准确性。
2.2属性信息与空间信息的自动提取方法
解译记录表的构成要素包括属性信息和空间信息,因此解译记录表信息自动提取分为属性信息的提取和空间信息的提取。
1)属性信息提取。解译记录表的属性信息来源于遥感监测成果数据中开采区域矢量图层的属性表,由AE的图层访问接口中的要素类(IFeatureClass)接口查询并批量缓存。图层-对象数据映射关系如图4所示。通过图层访问接口,读取要素图层的属性表,自定义实体类(Records)缓存程序读取的属性表数据。缓存方式是将类属性与要素的属性字段对应,即一个类对象对应矢量图层的一个矢量要素并包含该要素的属性信息。通过这种方式实现图层与对象之间的数据映射,将属性表中的属性信息封装到类对象,一次性缓存所有矢量要素的属性信息。将初始化后的所有Records类对象存到一个列表中供程序下一步读取,至此完成属性信息的提取。
2)空间信息提取。空间信息由解译图像呈现,解译图像的制作涉及制图要素(比例尺)的自动添加和解译图像的批量导出2项关键技术。系统通过接口调用集成AE地图制图组件,实现制图要素的自动添加和解译图像批量导出功能。
制图要素包括:图名、图例、比例尺、指北针和数字比例等要素,是地图重要的辅助工具,制图要素类均继承自地图环境类(MapSurround),如表1所示。
比例尺用于描述地图实际比例,是地图上必不可少的制图要素,解译图像中的比例尺由程序根据地图视图的实际比例自动添加,其格式、位置统一。比例尺的自动添加分2步:一是创建比例尺对象;二是初始化比例尺对象,即设置相应属性并获取地图实际比例。
比例尺类(ScaleBar)是抽象类,继承自地图环境类(MapSurround)。解译图像采用比例尺类子类的AlternatingScaleBar样式,初始化AlternatingScaleBar对象,对比例尺的大小和形状等属性进行设置,例如设置MapSurround类uid属性,定义属性分割段数(Subdivision)、比例尺起始数值(DivisionsBeforeZero)等。完成比例尺样式的设置后,获取地图实际比例,设置固定位置,实现比例尺的自动添加。
比例尺自动添加完成后,下一步将生成解译图像。在系统中集成AE地图制图组件,地图制图组件中的PageLayoutControl控件可获取解译图像数据,结合Export操作类[5]实现图像的批量生成并导出。AE提供导出栅格数据和矢量数据2种数据类型,其中栅格数据可导出图片格式如图5所示,解译图像的导出使用ExportJPEG操作类,导出格式为JPG。
解译图像的批量生成是通过循环以下几个步骤实现:
1)确定解译图像的输出范围。根据实际需求,利用九宫格定位法确定解译图像输出范围,即以矢量要素的外接矩形为中心采取3×3的比例范围自动定位遥感影像输出范围[6],如图6所示。
2)设置解译图像的属性信息。初始化Export类对象的属性,包括图片格式(Filter)、输出文件名(ExportFileName)、图片空间分辨率(Resolution)以及解译图像输出的缓存路径。
3)保存生成的解译图像信息。以缓存路径+名称+后缀的文本格式保存到Records类对象中用于缓存解译图像的属性中,实现矢量要素与解译图像的一一对应以及属性关联。
4)程序重复上述3个步骤。遍历图层中的所有矢量要素,针对每个矢量要素生成对应的解译图像并存储,从而实现解译图像的批量生成。
Records类对象的属性缓存有要素的属性信息和空间信息,完成解译记录表构成要素的自动提取。由列表缓存Records类对象,即一个对象缓存一个矢量要素对应的解译记录表数据,包括属性信息以及解译图像的相关信息,方便程序下一步填充Word文档。构成要素的自动提取,避免了人工提取属性数据、制作解译图像的繁杂,成功解决了传统解译记录表制作过程中遇到的工作量大、效率低的问题。
2.3解译记录表文档自动编辑的实现方法
将解译记录表的构成要素缓存到Records类对象属性中后,读取缓存在类对象中的构成要素并自动填充解译记录表是系统功能的另一关键点。为实现Word文档的自动处理,通过引用DOM和编程接口Microsoft.Office.Interop.Word类库[7],控制Word文档的读、写等操作。文档自动填充过程中有2个关键技术:一是数据定位;二是图片的插入。
数据定位利用书签解决,通过WordAppHelper操作类的设置书签值方法(SetBookMarksValue),将Records类对象缓存的属性信息写入Document对象对应的书签,实现数据填充过程中的数据定位。图像的插入由InsertPicture方法实现,通过读取Records类对象属性获取解译图像的缓存路径、名称和后缀信息,程序可自动插入图片。
数据定位和图片插入完成后,生成带有属性信息和解译图像的Document文档对象,即一个Document文件对象对应一个矢量要素的解译记录表。如图7,Records类对象的属性与Document对象的书签一一对应,实现对象属性与文档书签位置映射。
基于Word对象模型的文档自动编辑实现步骤如下:
1)提供一个解译记录表模板,在模板中添加书签,使书签与Records类对象的属性一一对应,实现文档数据的定位。
2)引用Microsoft.Office.Interop.Word类库,按模板创建文档对象,将Records类对象的属性值,包括属性字段和解译图像信息,按书签定位对文档进行数据填充、图片插入。
3)遍历Records类对象列表,为所有对象生成各自的文档对象。
4)由WordMerger操作类的接口将生成的文档对象合并所有解译记录表并输出。
程序借助DOM实现了文档的自动编辑,通过设计不同类的共同属性,完成遥感监测成果数据与解译记录表的数据映射,并按模板生成新的解译记录表,解决了传统解译记录表制作过程中的格式不统一,数据不准确的问题。
3解译记录表自动生成功能实现
解译记录表自动生成功能可快速、高效地批量制作解译图像并自动提取矢量图层的属性信息。根据需求,用户通过界面上的辅助功能对解译图像的制作进行相应的设置。
用户在系统中加载矿山遥感监测成果数据后,可选取制作解译记录表的开采区域矢量图层,进入如图8所示的解译记录表功能编制界面(图中数据来自于2016年福建三元区特定区域的矿山遥感监测成果数据),这一界面与给定的解译记录表模板的样式、字段名称一致,提供对图斑截图的预览功能。图斑截图中对矢量要素的高亮显示且自动添加比例尺,同时属性信息能自动填充,方便用户浏览解译记录表。
解译记录表的功能界面上提供参数设置、影像信息、生成所有图斑截图、刷新图斑截图和导出所有解译记录表5个辅助功能按钮。矢量要素目录树包含矢量图层的所有要素,通过双击目录树的子节点可预览该要素对应的解译记录表。参数设置用于设置解译图像的像素阈值;影像信息用于填写遥感影像的相关参数;生成所有图斑截图用于批量生成所有解译图像;刷新图斑截图用于主界面加载的遥感影像显示范围调整后对解译记录表功能界面上的解译图像进行刷新;导出所有解译记录表功能用于一键生成所有解译记录表并自动合并成单独的Word文档输出到指定路径。最终自动生成的解译记录表如图9所示。
4结论
按照解译记录表自动生成方法,实现的解译记录表自动生成功能简化了解译记录表的生成流程,解决了传统手工解译记录表制作过程中的问题。
1)采用基于插件式开发方式,将解译记录表自动生成功能集成到宿主程序中,该程序是一个能够脱离ArcGISDesktop独立运行的轻量级软件,提高了运行速度,减少了内存消耗。
2)解译记录表构成要素的自动提取,包括属性信息的自动提取以及解译图像的批量生成,减少了人工的重复工作,提高了制表效率。
3)结合文档对象模型按模板生成Word文档并自动填充、合并,实现了开采图斑与解译记录表数据的一对一映射,减少了人工填写的繁琐,避免了人为误操作,保证了解译记录表格式的统一性及数据的准确性。
解译记录表自动生成功能的实现,验证了解译记录表自动生成方法的可行性。可见,解译记录表自动生成方法提供了一种快捷方式,帮助用户利用软件自动提取矢量图层和遥感影像的相关信息,对从事信息挖掘工作的专业人士利用计算机对大数据量的遥感监测数据进行挖掘具有一定的指导意义。
矿山遥感监测解译记录表自动生成方法研究与实现相关期刊推荐:《遥感技术与应用》(双月刊)创刊于1986年,由中国科学院遥感联合中心、中国科学院资源环境科学信息中心主办。主要刊登国内外遥感理论、技术及应用研究领域的学术论文与综述,报道国内外遥感研究与应用的发展动向、新技术、新理论、新方法和新成果。主要栏目包括“研究与应用”、“发展动向”、“技术方法”、“地理信息系统”、“图像处理”、“综述”等,本刊读者为国内从事遥感技术研究与开发及相关应用领域的科技人员、科研管理者、大专院校师生等。
转载请注明来自:http://www.lunwencheng.com/lunwen/dzi/15919.html