APP下载

基于Python的矿山遥感监测系统开发研究

2015-03-29卜丽静郑新杰张正鹏兰文婷

测绘工程 2015年6期
关键词:二次开发露天矿图像处理

卜丽静,郑新杰,张正鹏,兰文婷

(1.辽宁工程技术大学 测绘与地理科学学院,辽宁 阜新123000;2.大连九城测绘企业集团,辽宁 大连116002)

近几年来,“3S(GPS、GIS、RS)”技术日益成熟,“3S”的集成技术也快速发展。其中,GIS与RS的集成是“3S”集成中最重要、最核心的内容,进行遥感与GIS一体化集成技术的研究成为热点。Arc-GIS作为目前主流的GIS软件,是一套完整的、可无缝扩展的GIS平台软件,具有管理和分析空间数据的功能,可以通过二次开发语言对桌面功能进行扩展,但它并没有提供完善的遥感图像处理功能。ENVI作为主要的遥感图像处理软件,它是基于IDL语言开发,囊括众多成熟和特有的遥感图像处理功能函数并且可以根据用户需要二次开发的开放平台,其丰富的图像处理功能可以供外部程序调用[1]。因此,推动“3S”集成技术中的GIS与RS的集成研究,开发基于Arc GIS与ENVI软件的集成系统,满足社会和行业的发展需求。

常用的Arc GIS二次开发语言有Python,VBA,VB,.net等。其中,Pyt hon作为一种简单而且功能强大的开放性编程语言备受瞩目,它具有简单易学、不受局限、可以跨平台使用等诸多优点[1],因此Arc GIS 9.0以上版本开始引入Pyt hon语言,更重要的是Pyt hon模块可以把基于IDL开发的功能集成到Arc GIS中,为Arc GIS和ENVI的一体化集成提供至关重要的技术支持。因此,基于Python模块进行集成研究也是近几年的研究热点。

目前,很多学者都是从宏观上讨论遥感和GIS一体化集成的可能性及集成的方法,但这些研究在GIS和RS方向只是对Python集成研究的思路或某一功能的介绍,并没有一个基于Python开发的集成GIS与RS功能的应用系统。本文从矿山遥感监测需求出发 分析矿山遥感监测中需要集成的GIS和RS功能,介绍实用性极强的矿山遥感监测系统。

1 矿山遥感监测应用系统需求分析

1.1 矿山遥感监测系统需求分析

矿产资源作为人类重要的自然资源之一,是人类社会发展的重要物质基础,然而矿山的开采过程中存在许多乱采乱挖的现象,并由此带来矿区生态环境污染、土地荒漠化、滑坡、沉降、崩塌等一系列地质灾害 矿山遥感监测系统的建立旨在利用RS和GIS的各自优势,对矿区的动态变化进行实时监测,对矿区的各种矢量数据、遥感影像、变化检测的数据进行有效管理(见图1),分析矿区动态变化趋势、变化特征,从矿山的信息动态变化中监测、识别和分析各种典型的变化信号,使其成为恢复矿区生态环境、防灾减灾、保护环境的重要技术支持,为有关部门制定相应的处理措施提供数据支撑[3]。

图1 矿山遥感监测系统总体框架设计

1.2 矿山遥感监测系统模块功能设计

矿山遥感监测系统主要具有基本的操作功能和GIS、RS方面的处理功能,如监测数据库的建立、监测成果图的编制等GIS方面的处理功能;遥感图像的预处理、动态监测、特征提取等RS方面的处理功能,基于矿山遥感监测的需求,总结矿山遥感监测中需要的GIS和RS的相应功能,如图2所示[4]。

图2 矿山遥感监测系统功能设计

2 基于python的矿山遥感监测系统开发方法

2.1 系统开发方法选择

目前,进行系统开发可以选择独立开发或二次开发,一般独立开发方法周期长、经费高、对开发语言水平要求较高,而二次开发方法具有周期短、成本低、实现速度快的优势。所以本系统选择基于Arc GIS和ENVI/IDL的集成二次开发。Arc GIS和ENVI/IDL的集成开发方法较多,其中主要有以下几种方法[5]。

1)ENVI/IDL和Arc GIS Engine组件库组合的开发方法

2)ENVI/IDL和Arc GIS Server一体化组合的开发方法。

3)基于Python的ENVI/IDL和Arc GIS桌面定制的开发方法。

第一种方法在开发时,用第三方语言调用ENVI的图像处理功能则是开发的难点,需要一定编程语言和二次开发基础;第二种方法主要是将图像处理功能集成在服务端,客户端对数据进行显示和输出,但是这种方法在一定程度上会受到网络速度的限制,无法实现大数据量的遥感图像的实时传输和显示;第三种方法利用Python语言将ENVI/IDL和Arc GIS链接起来,方法简单、易实现,参数的传递过程如图3所示。所以通过以上的分析对比,笔者采用第三种方法。

图3 参数传递图

2.2 系统开发具体步骤

系统基于Arc GIS进行二次开发,需要的Arc-GIS功能可以直接调用。图像处理功能则需要调用ENVI中的功能,即需要将ENVI的图像处理功能嵌入到Arc GIS中。主要的流程如图4所示。

图4 系统开发流程

系统开发的详细步骤如下

1)编写系统中需要的遥感图像处理功能。在ENVI/IDL中编写IDL程序,将其编译成.sav文件供Python脚本调用。具体方法如下:打开IDL,设置工程名和保存路径,在工程文件中编写需要实现的图像处理功能程序,生成.pro文件并编译成.sav文件供下一步Pyt hon调用。

2)编写Python脚本文件,实现在Arc GIS中调用ENVI/IDL功能。编写Pyt hon脚本,Pyt hon脚本可以嵌入到Arc GIS中,同时Python脚本又可以通过envipy模块运行编写好的.sav文件,并获得用户从交互界面中输入的参数,将其传递给IDL程序,从而实现在Arc GIS下运行相应的图像处理功能。

3)在Arc GIS中构建遥感图像处理功能的交互界面。为了将编写完成的Python脚本嵌入到Arc-GIS中,为实现在Arc GIS下可以直接使用图像处理功能,需要创建交互界面。交互界面创建步骤如下:在Catalog中指定或者新建一个文件夹并添加NEW-toolbox,然后在该工具箱中添加一个新的脚本,将写好的*.py文件和脚本关联。最后,设置ENVI功能程序中的参数完成交互界面的创建。当运行脚本时,就会弹出输入参数的界面,可以根据自己的情况输入所需要的参数。

4)编写系统主界面功能菜单。通过以上方法,实现遥感图像处理功能的载入,为便于用户使用,需要建立矿山遥感监测系统的主界面菜单。基于Arc GIS10.1的平台上可以用Python Add-in做个加载项插入到Arc GIS f or Desktop应用程序中来完成系统菜单的定制。

3 矿山遥感监测系统应用实例

3.1 实验示范区

以阜新海州露天矿及周边地区作为监测对象。阜新海州露天矿,1953年7月1日正式定名为海州露天矿。2005年7月,海州露天矿正式闭坑破产。同时在阜新市中心区留下一个长4 k m、宽2 k m、深350 k m的废弃矿坑,严重污染环境并威胁周边企业单位和人民群众的生命财产安全。

3.2 遥感动态监测系统实现

利用Pyt hon语言的优势,结合IDL语言,将ENVI中的图像处理功能集成到Arc GIS中,搭建起遥感监测系统,对阜新海州露天矿区及其周边区域的动态变化情况进行监测。系统主界面如图5所示。

图5 系统主界面

通过对2004年(见图6)和2011年(见图7)两幅T M影像进行变化检测,得到变化后的影像图如图8所示,可以利用不同波段对地物的敏感性不同这一特性,通过选择不同的波段来确定地面不同的变化,例如地面植被覆盖率、地质岩层等等。同时利用空间分析、面积量测等功能,采用数理统计分析方法,掌握矿区动态变化趋势。

图6 2004年海州露天矿

图7 2011年海州露天矿

图8 变化监测图

4 结束语

本文基于Pyt hon语言在Arc GIS10.1的平台下二次开发矿山遥感监测系统,将ENVI中的相关遥感图像处理功能集成到系统中,使Arc GIS和ENVI功能集成,从软件开发角度实现GIS与RS的一体化,避免数据在不同软件间的操作,节省时间,提高工作的效率,也对相关系统开发提供有价值的参考。

[1] 孙广磊.征服Python-语言基础与典型应用[M].北京:人民邮电出版社,2007.

[2] 胡卓玮,王志恒.基于RS与GIS混合编程的公路水毁灾情 信 息 提 取[J].自 然 灾 害 学 报,2013,22(1):94-101.

[3] 雷兵,甘宇航.矿区环境动态监测系统建设研究[J].遥感信息,2014,29(4):103-106.

[4] 张赐.ENVI Tools for Arc GIS的开发与应用研究[D].上海:华东师范大学,2011.

[5] 邓树斌,陈秋锦.遥感与GIS一体化集成技术研究[A].中国遥感应用协会2010年会暨区域遥感发展与产业高层论坛论文集[C],2010.

[6] 朱道强,关海涛.Pyt hon在Arc GIS中的应用[J].测绘与空间地理信息,2013,36(7):151-154.

[7] 彭海波,向洪普.基于Python的空间数据批量处理方法[J].测绘与空间地理信息,2011,34(4):81-87.

[8] 王国强,张贝克.基于Python的嵌入式脚本研究[J].计算机应用与软件,2010,27(3):107-109.

[9] 吴芳,赵知劲.基于Python的IA分布式系统[J].计算机工程,2009,35(19):283-285.

[10]罗霄,任勇,山秀明.基于Python的混合语言编程及其实现[J].计算机应用与软件,2004,21(12):17-18.

[11]马玲.遥感与GIS技术在矿山环境监测与质量评价中的应用—以攀枝花钒钛磁铁矿—宝鼎煤矿区为例[D].成都:成都理工大学,2008.

[12]李学渊.基于RS与GIS的矿山监测管理信息系统的设计与实现[D].北京:中国地质大学,2011.

猜你喜欢

二次开发露天矿图像处理
备战铁矿露天矿与挂帮矿同时开采稳定性研究
露天矿山土石方量的测量及计算
浅谈基于Revit平台的二次开发
基于ARM嵌入式的关于图像处理的交通信号灯识别
浅谈Mastercam后处理器的二次开发
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
西门子Easy Screen对倒棱机床界面二次开发
基于Delphi-TOPSIS法的露天矿采区接续方案优选
基于图像处理的定位器坡度计算