專利名稱:一種基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種互聯(lián)網(wǎng)環(huán)境下遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,用戶通過(guò)在網(wǎng)頁(yè)上編寫(xiě)遙感數(shù)據(jù)分析處理腳本并提交服務(wù)器解析執(zhí)行。屬于地學(xué)和遙感應(yīng)用的云計(jì)算領(lǐng)域。
背景技術(shù):
遙感(Remote Sensing)是通過(guò)地物目標(biāo)的電磁福射信息,判認(rèn)地球環(huán)境和資源的技術(shù)。通過(guò)人造衛(wèi)星或飛機(jī)等飛行器所攜帶的傳感器,從不同高度、不同地理空間范圍快速地、多譜段地對(duì)地球進(jìn)行感測(cè),周期性地獲取地物目標(biāo)的電磁輻射信息。遙感影像是傳感器記錄的各種地物電磁輻射能量大小的膠片、相片或數(shù)字圖像,經(jīng)由數(shù)字圖像處理技術(shù)校正、變換和分類(lèi)形成的具有地理信息的圖像,具有空間分辨率、光譜分辨率、輻射分辨率以及時(shí)間分辨率的特征,在國(guó)民經(jīng)濟(jì)、國(guó)防軍事以及生態(tài)保護(hù)等很多領(lǐng)域獲得了廣泛的應(yīng)用。過(guò)去二十年里,對(duì)地觀測(cè)已經(jīng)獲取了海量的影像數(shù)據(jù)。在下個(gè)十年,對(duì)地觀測(cè)系統(tǒng)(EOS)和其他地球觀察平臺(tái)將以每天超過(guò)115TB的速度產(chǎn)生海量影像數(shù)據(jù)(Ruixin Yang.Valuerange queries on earth science data via histogram clustering[M].Lecture NotesIn Computer Science, 1999)。面對(duì)海量遙感數(shù)據(jù),如何使遙感數(shù)據(jù)應(yīng)用人員能夠高效檢索、獲取和分析這些海量數(shù)據(jù)是一項(xiàng)很大的挑戰(zhàn)。目前,遙感數(shù)據(jù)應(yīng)用人員通常都是在單機(jī)環(huán)境下分析處理遙感數(shù)據(jù)。他們?cè)谂_(tái)式機(jī)或工作站上,使用遙感數(shù)據(jù)分析工具交互式分析和處理遙感影像數(shù)據(jù)。常用的遙感數(shù)據(jù)分析工具可以分為兩類(lèi):1)商業(yè)軟件,例如Windows操作系統(tǒng)環(huán)境下遙感分析軟件(ERDASImagine, ENVI等)和通用地理信息軟件(ArcGIS等);2)開(kāi)源軟件包,例如開(kāi)源跨操作系統(tǒng)的Grass GIS, GDAL工具等地理信息工具。這些遙感數(shù)據(jù)分析工具都是目前遙感數(shù)據(jù)應(yīng)用人員所常用的軟件工具,都是單機(jī)環(huán)境下應(yīng)用程序和二次開(kāi)發(fā)接口。目前,遙感數(shù)據(jù)應(yīng)用人員使用遙感數(shù)據(jù)分析工具分析處理遙感數(shù)據(jù)的基本流程為:首先從互聯(lián)網(wǎng)下載或其他存儲(chǔ)介質(zhì)中復(fù)制遙感影像數(shù)據(jù)到用戶私人的機(jī)器上;然后使用遙感分析軟件中的相關(guān)分析工具或調(diào)用遙感分析軟件的編程接口編寫(xiě)并運(yùn)行腳本進(jìn)行處理數(shù)據(jù),計(jì)算得到的結(jié)果存儲(chǔ)在用戶私人的機(jī)器上。然而,隨著遙感數(shù)據(jù)的不斷積累,而單機(jī)環(huán)境下的數(shù)據(jù)處理方式往往受制于機(jī)器內(nèi)存和存儲(chǔ)空間的限制,無(wú)法滿足處理海量數(shù)據(jù)的需求。目前,遙感數(shù)據(jù)應(yīng)用人員基本為非計(jì)算領(lǐng)域的專業(yè)學(xué)科人員,使用操作系統(tǒng)平臺(tái)大多為Wind0ws32位操作系統(tǒng),通常會(huì)受制于Wind0ws32位操作系統(tǒng)的系統(tǒng)內(nèi)存使用限制,當(dāng)遙感數(shù)據(jù)分析中使用的數(shù)據(jù)量過(guò)大時(shí),操作系統(tǒng)會(huì)出現(xiàn)內(nèi)存不足導(dǎo)致任務(wù)失敗。而且單機(jī)環(huán)境下編寫(xiě)的遙感數(shù)據(jù)分析腳本,通常只能在用戶自己的機(jī)器上使用,無(wú)法共享給其他用戶使用。隨著云計(jì)算技術(shù)逐步應(yīng)用和推廣,基于互聯(lián)網(wǎng)環(huán)境下的地理空數(shù)據(jù)網(wǎng)絡(luò)處理服務(wù)逐步受到關(guān)注,例如開(kāi)放地理信息系統(tǒng)協(xié)會(huì)(Open Geospatial Consortium,0GC)制定了針對(duì)地理空間數(shù)據(jù)的網(wǎng)絡(luò)處理服務(wù)標(biāo)準(zhǔn)(Web Processing Service, WPS),僅規(guī)范了網(wǎng)絡(luò)處理月艮務(wù)的iR信卡力、議(http: //www.0pengeospatial.0rg/standards/wps)0王見(jiàn)有技術(shù)中,采用這種協(xié)議實(shí)現(xiàn)的系統(tǒng),遙感數(shù)據(jù)應(yīng)用人員只能在網(wǎng)頁(yè)上運(yùn)行系統(tǒng)中預(yù)先設(shè)計(jì)好的分析模型和分析工具,提交計(jì)算任務(wù)得到結(jié)果,但用戶自己的分析模型和分析工具無(wú)法在平臺(tái)中運(yùn)行。如何將單機(jī)環(huán)境下的遙感數(shù)據(jù)分析工具進(jìn)行抽象化封裝,方便遙感數(shù)據(jù)應(yīng)用人員在互聯(lián)網(wǎng)環(huán)境下編寫(xiě)遙感數(shù)據(jù)分析處理腳本,提交到服務(wù)器集群上并行執(zhí)行的技術(shù)沒(méi)有涉及。
發(fā)明內(nèi)容
現(xiàn)有技術(shù)條件下,遙感數(shù)據(jù)分析平臺(tái)限制用戶只能夠運(yùn)行預(yù)先設(shè)計(jì)好的分析流程,而不能自定義分析流程,用戶自己的遙感數(shù)據(jù)分析流程無(wú)法在平臺(tái)中得到運(yùn)行,限制了系統(tǒng)的可擴(kuò)展性。本發(fā)明的目的在于提供如何將單機(jī)環(huán)境下的遙感數(shù)據(jù)分析過(guò)程進(jìn)行抽象化封裝,提供處理流程的擴(kuò)展方法,實(shí)現(xiàn)遙感數(shù)據(jù)分析系統(tǒng)的自定義擴(kuò)展。遙感數(shù)據(jù)應(yīng)用人員能夠在網(wǎng)頁(yè)上編寫(xiě)遙感數(shù)據(jù)分析處理程序,同時(shí)能夠?qū)⒊绦蛭募峤坏椒?wù)器執(zhí)行并得到結(jié)果O為了達(dá)到上述目的,本發(fā)明提出一種基于網(wǎng)絡(luò)的遙感數(shù)據(jù)分析工具的封裝方法,能夠?qū)螜C(jī)環(huán)境下的遙感數(shù)據(jù)分析工具包抽象化封裝成基礎(chǔ)接口,用戶在網(wǎng)頁(yè)上編寫(xiě)遙感數(shù)據(jù)分析處理腳本,同時(shí)提交到服務(wù)器集群上運(yùn)行的技術(shù)。本發(fā)明的技術(shù)方案為:一種基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其步驟包括:I)在網(wǎng)站服務(wù)器·集群上安裝遙感數(shù)據(jù)分析工具包,本地用戶通過(guò)FTP服務(wù)上傳遙感數(shù)據(jù)到所述服務(wù)器或下載到終端設(shè)備;2)在服務(wù)器后臺(tái)根據(jù)面向?qū)ο竽_本語(yǔ)言對(duì)所述遙感數(shù)據(jù)分析工具包中的分析命令程序和分布式文件系統(tǒng)數(shù)據(jù)進(jìn)行封裝,得到接口函數(shù)和接口對(duì)象可調(diào)用的數(shù)據(jù)對(duì)象;3)本地用戶在所述終端設(shè)備上根據(jù)所述接口對(duì)象,調(diào)用所述接口函數(shù)對(duì)所述數(shù)據(jù)對(duì)象進(jìn)行腳本分析處理,并上傳計(jì)算任務(wù)到所述分網(wǎng)站服務(wù)器集群上;4)所述服務(wù)器集群接收將接收到的計(jì)算任務(wù)分配到網(wǎng)站服務(wù)器的計(jì)算節(jié)點(diǎn)上,并通過(guò)腳本解析弓I擎器對(duì)該計(jì)算任務(wù)進(jìn)行解析執(zhí)行。更進(jìn)一步,所述遙感數(shù)據(jù)分析工具包為Grass GIS或GDAL。更進(jìn)一步,所述腳本解析引擎器解析出執(zhí)行腳本得到PNG縮略圖和用戶設(shè)定的數(shù)據(jù)對(duì)象。更進(jìn)一步,所述面向?qū)ο竽_本語(yǔ)言為Jython,將分析命令程序封裝成Jython語(yǔ)言的 DemTools 類(lèi)、GeoTools 類(lèi)和 Grass 類(lèi)。更進(jìn)一步,將Jython語(yǔ)言的UserFileObject類(lèi),使用相對(duì)文件路徑構(gòu)建對(duì)象類(lèi)操作用戶的文件或目錄,屏蔽使用絕對(duì)文件路徑訪問(wèn)該用戶私人的文件或目錄。更進(jìn)一步,在Jython的Grass類(lèi)中定義初始化Grass GIS工作環(huán)境的函數(shù)create、Grass shell命令函數(shù)run以及清除工作環(huán)境函數(shù)remove。更進(jìn)一步,對(duì)遙感數(shù)據(jù)分析工具包進(jìn)行封裝時(shí)還需要:使用Freemarker建立各類(lèi)型參數(shù)的頁(yè)面模版,實(shí)現(xiàn)相關(guān)類(lèi)型參數(shù)的網(wǎng)頁(yè)選擇或編輯,每個(gè)類(lèi)型的參數(shù)模版保存一個(gè)模版文件。
更進(jìn)一步,采用XML schema規(guī)范對(duì)頁(yè)面模版參數(shù)描述信息,描述信息包括模型標(biāo)識(shí)id、標(biāo)題title、摘要abstracts、建立時(shí)間createTime以及模型執(zhí)行體名稱script。更進(jìn)一步,在網(wǎng)頁(yè)用戶界面上編寫(xiě)Jython腳本時(shí)分別調(diào)用接口對(duì)象中的calcDemTR1、rescaleRaster 和 exportPng 函數(shù)。更進(jìn)一步,在所述網(wǎng)站服務(wù)器集群上掛載相同的分布式文件系統(tǒng)。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:本發(fā)明的遙感數(shù)據(jù)處理方法只需要提供遙感數(shù)據(jù)處理的二次開(kāi)發(fā)調(diào)用的接口函數(shù)以及接口對(duì)象和數(shù)據(jù)對(duì)象,用戶就可以在遙感數(shù)據(jù)處理系統(tǒng)網(wǎng)站的網(wǎng)頁(yè)上,根據(jù)本發(fā)明中Python、Ruby等程序設(shè)計(jì)語(yǔ)言的語(yǔ)法規(guī)則,將自定義的遙感數(shù)據(jù)處理流程編寫(xiě)為遙感數(shù)據(jù)處理程序,然后提交處理任務(wù)到遙 感數(shù)據(jù)處理系統(tǒng)網(wǎng)站的服務(wù)器。由網(wǎng)站服務(wù)器將計(jì)算任務(wù)分配到服務(wù)器集群的計(jì)算節(jié)點(diǎn)執(zhí)行,系統(tǒng)具有很大的可擴(kuò)展性。
圖1是本發(fā)明一實(shí)施例中感數(shù)據(jù)分析模型的描述表達(dá)過(guò)程示意圖;圖2是本發(fā)明一實(shí)施例中感數(shù)據(jù)分析模型的編程執(zhí)行過(guò)程示意圖;圖3是本發(fā)明一實(shí)施例中封裝服務(wù)方法示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,可以理解的是,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。具體實(shí)現(xiàn)流程如下:I)基于本發(fā)明實(shí)現(xiàn)的系統(tǒng)需要部署在一個(gè)服務(wù)器集群中,這個(gè)服務(wù)器集群包含多個(gè)計(jì)算節(jié)點(diǎn),用戶提交的計(jì)算任務(wù)分布在這些節(jié)點(diǎn)中執(zhí)行;同時(shí)計(jì)算節(jié)點(diǎn)掛載統(tǒng)一的文件存儲(chǔ)系統(tǒng),這樣便于各計(jì)算節(jié)點(diǎn)共享訪問(wèn)遙感數(shù)據(jù)文件。2)在步驟I)的服務(wù)器集群中的各計(jì)算節(jié)點(diǎn)上安裝遙感數(shù)據(jù)分析軟件,如GrassGIS (http://grass, osge0.0rg/)和 GDAL (http://www.gdal.0rg/)。遙感數(shù)據(jù)由用戶通過(guò)FTP文件服務(wù)器上傳至該服務(wù)器集群中的文件存儲(chǔ)系統(tǒng)。3)在服務(wù)器后臺(tái),系統(tǒng)設(shè)計(jì)人員使用Python、Ruby等程序設(shè)計(jì)語(yǔ)言,以基于面向?qū)ο蟮某绦蛟O(shè)計(jì)方式封裝遙感數(shù)據(jù)分析軟件的調(diào)用方法或控制命令,形成可供二次開(kāi)發(fā)調(diào)用的接口函數(shù)以及接口對(duì)象。在封裝的過(guò)程中屏蔽可能對(duì)系統(tǒng)運(yùn)行或數(shù)據(jù)安全造成危害的潛在命令,限制用戶調(diào)用這些命令。4)在服務(wù)器后臺(tái),系統(tǒng)設(shè)計(jì)人員使用Python、Ruby等程序設(shè)計(jì)語(yǔ)言,以基于面向?qū)ο蟮某绦蛟O(shè)計(jì)方式封裝服務(wù)器集群的文件存儲(chǔ)系統(tǒng)中的遙感數(shù)據(jù)文件以及該文件的元數(shù)據(jù)信息,封裝可供步驟3)中定義的接口函數(shù)以及接口對(duì)象使用的數(shù)據(jù)對(duì)象。5)遙感數(shù)據(jù)應(yīng)用人員在遙感數(shù)據(jù)處理系統(tǒng)網(wǎng)站的頁(yè)面上根據(jù)步驟3)中定義的接口函數(shù)和接口對(duì)象以及步驟4)中封裝的數(shù)據(jù)對(duì)象,以相關(guān)遙感知識(shí)為背景將自定義的遙感數(shù)據(jù)處理流程編寫(xiě)為遙感數(shù)據(jù)處理程序,然后提交處理任務(wù)到遙感數(shù)據(jù)處理系統(tǒng)網(wǎng)站的服務(wù)器。6)遙感數(shù)據(jù)處理系統(tǒng)網(wǎng)站的服務(wù)器接收步驟5)提交的遙感數(shù)據(jù)處理程序后,將計(jì)算任務(wù)分配到步驟I)的服務(wù)器集群中的一個(gè)計(jì)算節(jié)點(diǎn)上的執(zhí)行。上述步驟中2)、3)、4)和6)完全在遙感數(shù)據(jù)處理系統(tǒng)的后臺(tái)完成,步驟5)在遙感數(shù)據(jù)處理系統(tǒng)網(wǎng)站的頁(yè)面上獲取用戶自定義的遙感數(shù)據(jù)處理程序后交由系統(tǒng)后臺(tái)完成。如圖3所示是本發(fā)明一實(shí)施例中封裝服務(wù)方法示意圖。步驟為I)在分布式網(wǎng)絡(luò)的計(jì)算節(jié)點(diǎn)服務(wù)器上安裝遙感數(shù)據(jù)分析工具包,同時(shí)在所述計(jì)算節(jié)點(diǎn)服務(wù)器上掛載相同的分布式文件系統(tǒng),本地用戶通過(guò)FTP服務(wù)上傳遙感數(shù)據(jù)到所述計(jì)算節(jié)點(diǎn)服務(wù)器或下載到終端設(shè)備;2)根據(jù)面向?qū)ο竽_本語(yǔ)言對(duì)所述遙感數(shù)據(jù)分析工具包中的分析命令程序和分布式文件系統(tǒng)數(shù)據(jù)進(jìn)行封裝,得到基礎(chǔ)接口函數(shù)、接口對(duì)象以及數(shù)據(jù)對(duì)象用于二次開(kāi)發(fā)調(diào)用;3)本地用戶在所述終端設(shè)備上根據(jù)所述接口對(duì)象,調(diào)用所述接口函數(shù)對(duì)所述數(shù)據(jù)對(duì)象進(jìn)行腳本分析處理,并上傳計(jì)算任務(wù)到所述分布式網(wǎng)絡(luò)的中心節(jié)點(diǎn)服務(wù)器上;4)所述中心節(jié)點(diǎn)服務(wù)器接收將接收到的計(jì)算任務(wù)分配到計(jì)算節(jié)點(diǎn)服務(wù)器上,并通過(guò)腳本解析弓I擎器對(duì)該計(jì)算任務(wù)解釋執(zhí)行。如圖2所示,以封裝GDAL工具計(jì)算地形粗糙指數(shù)以及生成PNG縮略圖過(guò)程為例詳細(xì)說(shuō)明本專利的具體實(shí)施方式
,詳細(xì)步驟如下:I)服務(wù)器集群的各計(jì)算節(jié)點(diǎn)均安裝遙感數(shù)據(jù)分析工具包:Grass GIS、GDAL等。各計(jì)算節(jié)點(diǎn)均掛載相同的分布式文件系統(tǒng),用戶的遙感數(shù)據(jù)通過(guò)FTP服務(wù)上傳在分布式文件系統(tǒng)中。2)使用面向?qū)ο竽_本語(yǔ)言Jython封裝GDAL工具集和Grass GIS工具,Jython是Python語(yǔ)言在Java運(yùn)行環(huán)境下的實(shí)現(xiàn)庫(kù),支持原生python語(yǔ)法,由Java解析運(yùn)行。本地用戶在所述終端設(shè)備上根據(jù)所述接口對(duì)象,調(diào)用所述接口函數(shù)對(duì)所述數(shù)據(jù)對(duì)象進(jìn)行腳本分析處理。本例中可采用XML schema規(guī)范,用于規(guī)范模型參數(shù)描述信息。如圖1所示,模型描述過(guò)程實(shí)際是依據(jù)模型描述語(yǔ)言編寫(xiě)XML配置信息,在地形粗糙指數(shù)模型中,描述信息包括模型標(biāo)識(shí)(id)、標(biāo)題(ti11e)、摘要(abstracts)、建立時(shí)間(createT ime )、模型執(zhí)行體名稱(script)等屬性,輸入?yún)?shù)包括數(shù)字高程文件,輸出格式和保存路徑,對(duì)應(yīng)的類(lèi)型分別為wps_cloudfile、wps_select和wps_cloudfolder ;輸出參數(shù)為結(jié)果文件。系統(tǒng)設(shè)計(jì)人員預(yù)先設(shè)計(jì)各類(lèi)型參數(shù)的頁(yè)面模版,實(shí)現(xiàn)相關(guān)類(lèi)型參數(shù)的網(wǎng)頁(yè)選擇或編輯功能。參數(shù)模版采用Freemarker語(yǔ)言規(guī)范進(jìn)行設(shè)計(jì),每個(gè)類(lèi)型的參數(shù)模版保存一個(gè)模版文件。Freemarker是java開(kāi)源模板引擎,用來(lái)在網(wǎng)站上動(dòng)態(tài)生成HTML Web頁(yè)面。使用Freemarker模版解析引擎根據(jù)模型參數(shù)的配置信息動(dòng)態(tài)解析生成HTML參數(shù)頁(yè)面。
本案例中封裝成Jython語(yǔ)言的DemTools類(lèi)、GeoTools類(lèi)和Grass類(lèi),本領(lǐng)域技術(shù)人員清楚地明白并不限于任何封裝語(yǔ)言。3)將用戶存儲(chǔ)在分布式文件系統(tǒng)的數(shù)據(jù)封裝成Jython語(yǔ)言的UserFileObject類(lèi),用戶使用相對(duì)文件路徑構(gòu)建對(duì)象類(lèi)操作用戶私人的文件或目錄,屏蔽直接使用絕對(duì)文件路徑導(dǎo)致系統(tǒng)風(fēng)險(xiǎn)。4)在Jython類(lèi)的DemTools中定義地形粗糙指數(shù)函數(shù),原型為def calcDemTRI(self,demfile,outputfolder,format=" GTiff")函數(shù)以shell方式調(diào)用外部程序gdaldem。其中參數(shù)demfile和outputfolder均為 UserFileObject 對(duì)象。通過(guò)Jython類(lèi)GeoTools中定義柵格數(shù)據(jù)縮放函數(shù)和縮略圖導(dǎo)出函數(shù),原型分別為def rescaleRaster(self, raster, scalesize, outputfolder=None)函數(shù)以shell方式調(diào)用GDAL外部程序gdal—translate,其中參數(shù)raster、outputfolder 為 UserFileObject 對(duì)象,scalesize 為縮略圖大小。def exportPng(self, raster, pngfile)函數(shù)調(diào)用Grass對(duì)象函數(shù)exportPng導(dǎo)出縮略圖。其中參數(shù)raster和pngfile為 UserFileObject 對(duì)象。5)在Jython類(lèi)Grass中定義初始化Grass GIS工作環(huán)境的函數(shù)create、Grassshell命令函數(shù)run和清除工作環(huán)境函數(shù)remove??s略圖導(dǎo)出函數(shù)exportPng執(zhí)行shell命令r—out—png導(dǎo)出縮略圖。6)遙感數(shù)據(jù)應(yīng)用人員只需要在網(wǎng)頁(yè)上編寫(xiě)Jython腳本分別調(diào)用接口對(duì)象中的calcDemTRI、rescaleRaster和exportPng函數(shù),傳遞相關(guān)參數(shù),即可實(shí)現(xiàn)地形粗糙指數(shù)和PNG縮略圖導(dǎo)出過(guò)程。`
`
7)用戶將Jython腳本提交到服務(wù)上,由腳本解析引擎容器簡(jiǎn)析執(zhí)行腳本,即可得到地形粗糙指數(shù)和PNG縮略圖保存在分布式文件系統(tǒng)中用戶目錄下。
權(quán)利要求
1.一種基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其步驟包括: 1)在網(wǎng)站服務(wù)器集群上安裝遙感數(shù)據(jù)分析工具包,本地用戶通過(guò)FTP服務(wù)上傳遙感數(shù)據(jù)到所述服務(wù)器或下載到終端設(shè)備; 2)在服務(wù)器后臺(tái)根據(jù)面向?qū)ο竽_本語(yǔ)言對(duì)所述遙感數(shù)據(jù)分析工具包中的分析命令程序和分布式文件系統(tǒng)數(shù)據(jù)進(jìn)行封裝,得到接口函數(shù)和接口對(duì)象可調(diào)用的數(shù)據(jù)對(duì)象; 3)本地用戶在所述終端設(shè)備上根據(jù)所述接口對(duì)象,調(diào)用所述接口函數(shù)對(duì)所述數(shù)據(jù)對(duì)象進(jìn)行腳本分析處理,并上傳計(jì)算任務(wù)到所述分網(wǎng)站服務(wù)器集群上; 4)所述服務(wù)器集群接收將接收到的計(jì)算任務(wù)分配到網(wǎng)站服務(wù)器的計(jì)算節(jié)點(diǎn)上,并通過(guò)腳本解析弓I擎器對(duì)該計(jì)算任務(wù)進(jìn)行解析執(zhí)行。
2.如權(quán)利要求1所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,所述遙感數(shù)據(jù)分析工具包為Grass GIS或GDAL。
3.如權(quán)利要求1所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,所述腳本解析引擎器解析出執(zhí)行腳本得到PNG縮略圖和用戶設(shè)定的數(shù)據(jù)對(duì)象。
4.如權(quán)利要求1所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,所述面向?qū)ο竽_本語(yǔ)言為Jython,將分析命令程序封裝成Jython語(yǔ)言的DemTools類(lèi)、GeoTools 類(lèi)和 Grass 類(lèi)。
5.如權(quán)利要求4所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,將Jython語(yǔ)言的UserFileObject類(lèi),使用相對(duì)文件路徑構(gòu)建對(duì)象類(lèi)操作用戶的文件或目錄,屏蔽使用絕對(duì)文件路徑訪問(wèn)該用戶私人的文件或目錄。
6.如權(quán)利要求4所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,在Jython的Grass類(lèi)中定義初始化Grass GIS工作環(huán)境的函數(shù)create、Grass shell命令函數(shù)run以及清除工作環(huán)境函數(shù)remove。
7.如權(quán)利要求1所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,對(duì)遙感數(shù)據(jù)分析工具包進(jìn)行封裝時(shí)還需要: 使用Freemarker建立各類(lèi)型參數(shù)的頁(yè)面模版,實(shí)現(xiàn)相關(guān)類(lèi)型參數(shù)的網(wǎng)頁(yè)選擇或編輯,每個(gè)類(lèi)型的參數(shù)模版保存一個(gè)模版文件。
8.如權(quán)利要求7所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,采用XML schema規(guī)范對(duì)頁(yè)面模版參數(shù)描述信息,描述信息包括模型標(biāo)識(shí)id、標(biāo)題title、摘要abstracts、建立時(shí)間createTime以及模型執(zhí)行體名稱script。
9.如權(quán)利要求7所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,在網(wǎng)頁(yè)用戶界面上編寫(xiě)Jython腳本時(shí)分別調(diào)用接口對(duì)象中的calcDemTR1、rescaleRaster 和 exportPng 函數(shù)。
10.如權(quán)利要求1所述的基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具的封裝服務(wù)方法,其特征在于,在所述網(wǎng)站服務(wù)器集群上掛載相同的分布式文件系統(tǒng)。
全文摘要
本發(fā)明涉及基于互聯(lián)網(wǎng)的遙感數(shù)據(jù)分析工具封裝服務(wù)方法,步驟為1)在網(wǎng)站服務(wù)器集群安裝遙感數(shù)據(jù)分析工具包;2)在服務(wù)器后臺(tái)根據(jù)面向?qū)ο竽_本語(yǔ)言對(duì)遙感數(shù)據(jù)分析工具包中的分析命令程序和分布式文件系統(tǒng)數(shù)據(jù)進(jìn)行封裝,得到接口函數(shù)和接口對(duì)象可調(diào)用的數(shù)據(jù)對(duì)象;3)本地用戶在終端設(shè)備上根據(jù)接口對(duì)象,調(diào)用接口函數(shù)對(duì)數(shù)據(jù)對(duì)象進(jìn)行腳本分析處理,并上傳計(jì)算任務(wù)到分網(wǎng)站服務(wù)器集群上;4)服務(wù)器集群接收將接收到的計(jì)算任務(wù)分配到網(wǎng)站服務(wù)器的計(jì)算節(jié)點(diǎn)上,并通過(guò)腳本解析引擎器對(duì)該計(jì)算任務(wù)進(jìn)行解析執(zhí)行。本發(fā)明能夠?qū)螜C(jī)環(huán)境遙感數(shù)據(jù)分析工具包抽象化封裝成基礎(chǔ)接口,用戶可在網(wǎng)頁(yè)上編寫(xiě)遙感數(shù)據(jù)分析處理腳本,同時(shí)提交到服務(wù)器集群上運(yùn)行。
文檔編號(hào)G06F9/44GK103246516SQ20131018208
公開(kāi)日2013年8月14日 申請(qǐng)日期2013年5月16日 優(yōu)先權(quán)日2013年5月16日
發(fā)明者王學(xué)志, 周園春, 黎建輝, 林青慧 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心