遥感影像处理系统中处理功能可快速扩展的构建方法 【技术领域】
本发明涉及遥感影像处理技术领域,尤其涉及一种遥感影像处理系统中处理功能可快速扩展的构建方法。
背景技术
遥感技术是一门综合性探测技术,因其具有客观性、时效性、宏观性与综合性、经济性的特点,所以在40多年间,遥感技术已日益广泛应用于资源与环境调查与监测、军事应用、城市规划等多个领域。随着卫星种类的增多与遥感应用的日益广泛,遥感处理功能也越来越多种多样。遥感处理过程中,整个处理过程复杂、耗时。从传感器接收遥感数据,到最终提取出满足应用领域需求的信息,往往需要进行多个步骤的处理,有时还要涉及到其它信息的融合。传统方法是人工完成或衔接各个步骤,严重影响了遥感信息实时或近实时的应用。同时,人力资源和软件资源也存在直接和间接的浪费现象。例如,研究人员进行更高级别的遥感算法开发时,往往需要将手头的数据进行相对低级别的处理,造成研究人员浪费宝贵的时间和精力在低级劳动上。虽然整个应用的某些步骤可以借助遥感专业软件来完成,但由于遥感专业软件相对昂贵,而且功能也相当固定,除了需要花时间了解软件功能、学习专门的使用技术来完成这些步骤外还必须开发自己的业余功能处理软件,带来了很多不便。而在多个完整的业务处理流程中,有些步骤的处理是相同的,开发自己的业余功能处理软件势必造成遥感算法和软件的浪费。而且在遥感图像处理软件中,很多参数需要人工交互才能获取,开发这些人工交互功能,也是一个很大的工作量。
随着可利用的遥感卫星数量及其相应的遥感器种类不断增加,遥感在各个行业领域中应用的日益广泛,以及人们对遥感数据应用的深度和广度不断提出新的要求,遥感影像处理系统在灵活的重构特性和多种业务处理能力方面面临新的挑战与需求,人们希望在影像处理系统中尽可能多、尽可能简单地完成自己的处理需求,遥感影像处理系统在功能扩展方面受到制约。如何在功能等扩展方面满足影像处理的要求是一个需要迫切解决的问题,有必要提供一种遥感影像处理系统中处理功能可快速扩展的构建方法。
【发明内容】
本发明的目的是提供一种遥感影像处理系统中处理功能可快速扩展的构建方法,解决如何快速加载多种遥感算法、业务处理功能的问题。
本发明的目的是通过以下技术方案来实现:
一种遥感影像处理系统中处理功能可快速扩展的构建方法,包括以下步骤:
1)按照指定接口规范的参数文件开发算法程序:根据各种形式遥感影像处理的需求,设计出适合多种遥感影像处理需求的接口规范,规定算法程序的接口参数必须为可扩展标记语言XML文件,并对XML文件中的标签进行规定,包括数据来源、数据描述信息、输出路径、日志文件存放路径以及算法程序的私有参数;规定算法程序的接口参数必须为以下格式的XML文件:
<?xml version=″1.0″encoding=″UTF-8″?>
<MODELNAME>
<DATAS>
<DATAID=″1″>
<SATELLITE></SATELLITE>
<SENSOR></SENSOR>
<SOURCEFILEPATH></SOURCEFILEPATH>
<DATANAME></DATANAME>
<BANDLIST></BANDLIST>
<STARTLINE></STARTLINE>
<ENDLINE></ENDLINE>
<STARTPIXEL></STARTPIXEL>
<ENDPIXEL></ENDPIXEL>
<LINES></LINES>
<COLUMNS></COLUMNS>
</DATA>
</DATAS>
<OUTPUT_DIR></OUTPUT_DIR>
<LOGFILE></LOGFILE>
<ERRORFILE></ERRORFILE>
<PARA1></PARA1>
<PARAN></PARAN>
</MODELNAME>
其中XML的根节点必须与算法程序同名;DATAS项及其子项规定了要处理的数据信息,不得扩展;SATELLITE和SENSOR项填写要处理的数据的卫星和传感器名称;SOURCEFILEPATH和DATANAME表明数据存放路径及名称;BANDLIST表明要处理的波段列表;LINES和COLUMNS表明数据的行列数;STARTLINE、ENDLINE、STARTPIXEL、ENDPIXEL表明需要处理的起始、终止行列数;OUTPUT_DIR、LOGFILE、ERRORFILE表示输出路径、日志文件和错误信息文件;PARA1、PARAN表示私有参数,由各算法模块自行决定;
2)通过遥感图像处理系统进行可视化的算法程序注册:算法程序可视化注册时,需指定算法程序路径、名称、私有参数以及私有参数的获取方式,包括手工填写、从界面获取等方式;算法注册时并不需要填写数据来源等公共参数;对于已经注册的算法程序,遥感图像处理系统存储其描述信息为XML字符串;
3)业务功能组合注册:通过遥感图像处理系统选择算法程序,组合为业务功能;对于已经注册的业务功能,遥感图像处理系统存储其描述信息为XML文件;业务功能的描述信息除了包括自身的信息,还包括组成该业务功能的算法程序的描述信息;业务功能注册的过程包括以下步骤:
(1)遥感图像处理系统从数据库中获取所有算法程序的描述信息,提供给用户算法程序列表;
(2)用户从列表中选择所需算法程序,并指定算法模块的执行顺序;
(3)用户指定业务功能的分类以及其余描述信息;
(4)用户提交进行注册,遥感图像处理系统则以XML字符串方式保存业务功能描述;并更新用户界面,在菜单项中加载该功能菜单。
4)动态提交任务与任务调度执行:用户选择处理任务,遥感图像处理系统动态生成参数界面,在用户添加完参数后解析任务单,调用相应的算法程序完成处理流程;在此过程中,遥感图像处理系统需集成工作流软件,实现流程处理能力;遥感图像处理系统在启动或者用户注册业务流程完毕后,解析所有的业务功能描述XML文件,自动在菜单上加载所有的业务功能;在用户选定业务处理功能时,解析其对应的XML描述文件,生成动态参数界面;在获取用户的输入之后,生成订单信息字符串;在处理订单信息字符串时,遥感图像处理系统把处理功能解析为工作流,在加载用户提交的业务流程时,同一流程会被加载两次来共同完成对任务的处理;第一次用于为各个阶段处理任务生成相应的接口参数文件,第二次用于执行各个阶段处理任务完成特定的处理功能。
本发明的有益效果为:在不修改遥感图像处理系统本身的情况下,用户只要按照指定的规范开发自己的算法程序并进行算法注册和组合,就可以扩展新的业务功能;并且用户无需开发遥感图像处理中常用的人工交互获取参数界面,只需要在注册算法模块时指定参数的获取方式,就可以利用系统动态生成的任务提交界面,进行业务功能的处理操作。
【附图说明】
下面根据附图对本发明作进一步详细说明。
图1为本发明所述的遥感影像处理系统中处理功能可快速扩展的构建方法的流程图;
图2是本发明所述的遥感影像处理系统中处理功能可快速扩展的构建方法通过遥感图像处理系统进行可视化的算法程序注册的流程图;
图3是本发明所述的遥感影像处理系统中处理功能可快速扩展的构建方法的业务功能组合注册的流程图;
图4是发明所述的遥感影像处理系统中处理功能可快速扩展的构建方法的动态提交任务与任务调度执行流程图。
【具体实施方式】
如图1所示,本发明所述的一种遥感影像处理系统中处理功能可快速扩展的构建方法,包括以下步骤:
1)按照指定接口规范的参数文件开发算法程序:根据各种形式遥感影像处理的需求,设计出适合多种遥感影像处理需求的接口规范,规定算法程序的接口参数必须为可扩展标记语言XML文件,并对XML文件中的标签进行规定,包括数据来源、数据描述信息、输出路径、日志文件存放路径等公共信息以及算法程序的私有参数;规定算法程序的接口参数必须为以下格式的XML文件:
<?xml version=″1.0″encoding=″UTF-8″?>
<MODELNAME>
<DATAS>
<DATA ID=″1″>
<SATELLITE></SATELLITE>
<SENSOR></SENSOR>
<SOURCEFILEPATH></SOURCEFILEPATH>
<DATANAME></DATANAME>
<BANDLIST></BANDLIST>
<STARTLINE></STARTLINE>
<ENDLINE></ENDLINE>
<STARTPIXEL></STARTPIXEL>
<ENDPIXEL></ENDPIXEL>
<LINES></LINES>
<COLUMNS></COLUMNS>
</DATA>
</DATAS>
<OUTPUT_DIR></OUTPUT_DIR>
<LOGFILE></LOGFILE>
<ERRORFILE></ERRORFILE>
<PARA1></PARA1>
<PARAN></PARAN>
</MODELNAME>
其中XML的根节点必须与算法程序同名;DATAS项及其子项规定了要处理的数据信息,不得扩展;SATELLITE和SENSOR项填写要处理的数据的卫星和传感器名称;SOURCEFILEPATH和DATANAME表明数据存放路径及名称;BANDLIST表明要处理的波段列表;LINES和COLUMNS表明数据的行列数;STARTLINE、ENDLINE、STARTPIXEL、ENDPIXEL表明需要处理的起始、终止行列数;OUTPUT_DIR、LOGFILE、ERRORFILE表示输出路径、日志文件和错误信息文件;PARA1、PARAN表示私有参数,由各算法模块自行决定;
2)通过遥感图像处理系统进行可视化的算法程序注册:算法程序可视化注册时,需指定算法程序路径、名称、私有参数以及私有参数的获取方式,包括手工填写、从界面获取等多种方式;算法注册时并不需要填写数据来源等公共参数;对于已经注册的算法程序,遥感图像处理系统存储其描述信息为XML字符串;
3)业务功能组合注册:通过遥感图像处理系统选择算法程序,组合为业务功能;对于已经注册的业务功能,遥感图像处理系统存储其描述信息为XML文件;业务功能的描述信息除了包括自身的信息,还包括组成该业务功能的算法程序的描述信息;
4)动态提交任务与任务调度执行:用户选择处理任务,遥感图像处理系统动态生成参数界面,在用户添加完参数后解析任务单,调用相应的算法程序完成处理流程;在此过程中,遥感图像处理系统需集成工作流软件,实现流程处理能力;遥感图像处理系统在启动或者用户注册业务流程完毕后,解析所有的业务功能描述XML文件,自动在菜单上加载所有的业务功能;在用户选定业务处理功能时,解析其对应的XML描述文件,生成动态参数界面;在获取用户的输入之后,生成订单信息字符串;在处理订单信息字符串时,遥感图像处理系统把处理功能解析为工作流,在加载用户提交的业务流程时,同一流程会被加载两次来共同完成对任务的处理;第一次用于为各个阶段处理任务生成相应的接口参数文件,第二次用于执行各个阶段处理任务完成特定的处理功能。
根据步骤1)所述的按照指定接口规范的参数文件开发算法程序,以图像旋转算法为例,其可执行程序命名ROTATETRANSFORM,则其可执行程序的入口参数指定为ROTATETRANSFORM.XML,其内容为:
<?xml version=″1.0″encoding=″UTF-8″?>
<ROTATETRANSFORM>
<DATAS>
<DATA ID=″1″>
<SATELLITE></SATELLITE>
<SENSOR></SENSOR>
<SOURCEFILEPATH></SOURCEFILEPATH>
<DATANAME></DATANAME>
<BANDLIST></BANDLIST>
<STARTLINE></STARTLINE>
<ENDLINE></ENDLINE>
<STARTPIXEL></STARTPIXEL>
<ENDPIXEL></ENDPIXEL>
<LINES></LINES>
<COLUMNS></COLUMNS>
</DATA>
</DATAS>
<ANGLE></ANGLE>
<INTERMODE></INTERMODE>
<OUTPUT_DIR></OUTPUT_DIR>
<LOGFILE></LOGFILE>
<ERRORFILE></ERRORFILE>
</ROTATETRANSFORM>
其中ANGLE和INTERMODE为算法本身的私有参数,分别表示旋转角度和重采样类型。
如图2所示,根据步骤2)所述的通过遥感图像处理系统进行可视化的算法程序注册:算法程序开发完毕后,用户在遥感图像处理系统中指定算法模块路径、算法描述信息、所需私有参数等进行算法程序注册;遥感图像处理系统则以XML字符串的形式把该算法模块的描述信息存放于数据库中,并返回模块注册成功信息;在填写模块信息时,对于模块所需的私有参数的获取方式,遥感图像处理系统需封装多种类型,包括手动输入、界面选点、界面选线、界面选面、界面选择控制点、选择文件等;用户对于常用的人工交互并不需要额外编写界面,只需在编写算法模块时按照规则解析这些参数类型即可;同时,注册模块时并不需要填写输入输出信息,这些由遥感图像处理系统解析时自动完成,用户只需填写所需的数据个数;大部分算法模块只需要一个输入数据;而有些特殊算法模块,比如融合需要两个数据,则在算法模块注册时指定数据个数为2,并指定数据1波段数为3,数据2波段数为1即可。
如图3所示,根据步骤3)所述的业务功能组合注册过程,业务功能在遥感图像处理系统的界面元素上表现为所属分类的子菜单,在具体的实施过程中对应为工作流,而算法程序则对应为工作流程中的一个步骤,注册业务功能的流程为:
(1)遥感图像处理系统从数据库中获取所有算法程序的描述信息,提供给用户算法程序列表;
(2)用户从列表中选择所需算法程序,并指定算法模块的执行顺序;
(3)用户指定业务功能的分类以及其余描述信息;
(4)用户提交进行注册,遥感图像处理系统则以XML字符串方式保存业务功能描述;并更新用户界面,在菜单项中加载该功能菜单。
如图4所示,根据步骤4)所述的动态提交任务与任务调度执行过程,其中,扩展功能的执行过程包括:用户指定业务功能,根据动态生成的参数输入界面选择待处理遥感影像,填写参数后提交遥感数据处理任务到遥感图像系统的调度模块,该模块解释处理任务为工作流,把任务分解成阶段性任务,调用应用算法扩展层相应的算法模块执行,直到完成任务单规定的任务。
上述的处理功能选择与动态参数输入界面的生成过程为:对于用户注册的新业务功能,以XML字符串的形式保存于系统数据库中;遥感图像处理系统在软件启动时或者业务功能注册完毕后,获取所有业务功能信息,根据分类的不同,解析为业务功能处理菜单;其中业务功能分类为一级菜单,而业务功能则为二级菜单;用户在选择业务功能菜单时,可以获取该业务功能描述信息以及组成该业务功能的算法程序信息,动态生成参数输入界面,包括任务优先级信息、数据来源及其子区信息、算法模块的私有参数信息等;遥感图像处理系统根据算法程序的私有参数类型,进行相应的解析;对于需要用户与影像交互的操作,如选择点、线、面、控制点等,在用户选择的遥感影像浏览界面上进行相应的操作后,由参数输入界面处理相应的值;对于无需交互影像交互的操作,用户填写或选择相应的值即可。
上述的处理功能解析与执行的实现方式为:遥感影像处理任务是由一系列阶段子任务(功能算法模块)有机组合而成的处理流程;为实现遥感影像处理功能可扩展构建的要求,符合该构建方法的遥感图像处理软件需引入工作流机制来最大化系统数据处理流程的灵活性与可扩展性;该处理流程用XML字符串进行描述,存放于系统数据库中,在运行任务时动态加载,因此可以在数据处理流程中实现功能算法模块的“热插拔”;并利用自身引擎对描述文件进行解析,并按照预先定义好的规则对流程中的各阶段任务进行处理;在遥感数据处理流程中,同一流程会被加载两次来共同完成对任务的处理;第一次用于为各个阶段处理任务生成相应的参数文件,以指定的规则存放于处理订单的目录下,第二次用于执行各个阶段处理任务完成特定的处理功能;同时,在流程中设立检查点,以检测阶段处理是否正确执行完成,没有通过检测的流程,检测点后续的任务功能将不再被执行。
综上所述,本发明规定了算法程序的接口规范、注册规范和业务功能注册方式,在遥感图像处理系统中采取了工作流的方式对业务流程进行解析和调度,在遥感图像处理系统中集成了常用的人工交互获取遥感图像处理参数的功能。用户只需要按照指定规范进行算法程序的开发,而不用开发算法程序所需的人工交互获取参数的界面,大大节约了开发时间和难度。而且遥感图像处理系统无需进行任何修改和编译进行已注册业务功能的调用,提高了系统的稳定性和可扩展性。