可視化建模技術(shù)在 GIS 中的研究與應(yīng)用

崔雪,石偉偉,李永超

( 北京超圖軟件股份有限公司,北京 100015)

論文來源:《測繪與空間地理信息》 2013年8月 第36卷 增刊

摘要:可視化建模是利用圍繞現(xiàn)實(shí)想法組織模型的一種思考問題的方法。該技術(shù)以其簡化需求、易于理解問題、溝通問題等特點(diǎn)被廣泛應(yīng)用于軟件開發(fā)的各個(gè)環(huán)節(jié)中。本文分析了空間信息處理的特點(diǎn),結(jié)合可視化建模和工作流的技術(shù),提出了空間處理建模的概念,并探討了空間處理建模的建模流程及應(yīng)用方式。

關(guān)鍵詞: 可視化建模,GIS,工作流,

Research and Application of Visual Modeling in GIS

CUI Xue,SHI Wei - wei,LI Yong - chao

( SuperMap Software Co. ,Ltd. ,Beijing 100015,China)

Abstract: Visual modeling is an approach of modeling based on thinking around a realistic idea. The technology is widely adopted in software developments for its advantages in simplifying the requirements and facilitating comprehension and communication. This paper analyzes the characteristics of spatial information processing,and by combining visual modeling and workflow technology,proposes the concept of spatial processing modeling,and eventually explores its modeling process and application methods.

Key words: visual modeling; GIS,workflow; spatial information processing; spatial processing modeling

0 引 言

  GIS( Geographic Information System,地理信息系統(tǒng)) 的重點(diǎn)在空間信息處理,優(yōu)勢在空間分析。目前,GIS 已廣泛應(yīng)用于各個(gè)行業(yè),且應(yīng)用日益深入,涉及越來越多的復(fù)雜分析處理過程,這些過程由一系列相互聯(lián)系又具有一定次序關(guān)系的空間操作( 如數(shù)據(jù)轉(zhuǎn)換等) 或空間分析模型( 如緩沖區(qū)分析、疊加分析等) 組成,而它們之間又存在著復(fù)雜的關(guān)系,串聯(lián)、并聯(lián)、分支、或者層次結(jié)構(gòu)。這種空間分析操作流程稱為空間信息處理過程( Spatial Process) 。

  GIS 本身提供了基本的空間操作功能和空間分析模型,但卻缺乏對其所構(gòu)成的復(fù)雜空間信息處理過程的有效管理,不能有效的構(gòu)建空間分析模型及每個(gè)模型間的關(guān)系,使得原本復(fù)雜的空間信息處理過程變得更加復(fù)雜,再加上有大量人工參與,導(dǎo)致過程和結(jié)果可控性差。因此,對空間信息處理過程進(jìn)行過程建模,輔助大型 GIS 應(yīng)用的規(guī)劃、管理和實(shí)施就顯得尤其重要。

  本文分析了空間信息處理過程的基本特性,結(jié)合可視化建模和工作流的技術(shù),提出了空間處理建模的概念,實(shí)現(xiàn) GIS 應(yīng)用的過程可視化建模。

1 空間信息處理

  空間信息處理過程包括 3 種基本要素: 空間活動、過程數(shù)據(jù)和過程關(guān)系流??臻g活動是空間信息處理過程的基本活動,通常對應(yīng)一組空間操作或空間分析模型,由人或計(jì)算機(jī)軟件執(zhí)行。空間活動的邏輯順序關(guān)系構(gòu)成空間信息處理過程的控制流和操作流。過程數(shù)據(jù)是空間活動處理的對象,通常對應(yīng)一定格式的空間數(shù)據(jù),它是前驅(qū)空間活動的輸出,也是后繼空間活動的輸入。過程數(shù)據(jù)的處理流程構(gòu)成空間信息處理過程的數(shù)據(jù)流。過程關(guān)系流是空間活動和過程數(shù)據(jù)之間的連接弧,它具有一定的方向,標(biāo)志著數(shù)據(jù)和控制的流向。

  空間信息處理過程為一個(gè)有向圖,SP = ( A,D,F(xiàn)) ,是一個(gè)三元組。其中 A 為有向空間活動集; D 為有向過程數(shù)據(jù)集; F 為表示為 A 和 D 有向關(guān)系集。并且滿足:

  1) 空間活動和過程數(shù)據(jù)是兩個(gè)不同的元素,即 A∩D= Φ。

  2) SP 中至少有一個(gè)元素,即 A∪D≠Φ

  3) F( A × D) ∪( D × A) 是關(guān)系流集,F(xiàn) 是從 A 和 D構(gòu)造出來的。

  4) dom( F) ∪cod( F) = A∪D,其中,dom( F) = { x | y:( x,y) ∈F} ,cod( F) = { y | x: ( x,y) ∈F} 分別為 F 所含的有序偶的第一個(gè)和第二個(gè)元素所組成的集合,代表 F 的定義域和值域。

  5) 空間活動 A、過程數(shù)據(jù) D 和關(guān)系流 F 都是空間相關(guān),受空間語義的約束??臻g活動只能與空間數(shù)據(jù)有直接的關(guān)系流,孤立的數(shù)據(jù)和孤立的活動不具有現(xiàn)實(shí)意義。

  在 GIS 中,對于空間信息的處理過程一般采用兩種方式: 一種是用 GIS 桌面軟件處理的方式; 另一種是在 GIS開發(fā)平臺上寫代碼開發(fā)的方式; 桌面軟件處理,需要按步驟操作,前一步操作完成后進(jìn)行下一步操作,每一步操作都需要人工監(jiān)控,人工輸入?yún)?shù)。而代碼方式可以將整個(gè)空間信息處理過程用代碼串起來,使整個(gè)操作連續(xù)執(zhí)行,直到最后輸出結(jié)果,執(zhí)行過程中無需人工監(jiān)控和干預(yù),但缺點(diǎn)是代碼需要專業(yè)的軟件開發(fā)工程師去編寫,這樣無論是開發(fā)難度還是時(shí)間上相比桌面操作都要困難很多,且復(fù)用 性 差,需 求 的 每 一 次 改 變,都要開發(fā)人員改代碼。

2 可視化建模在空間信息處理中的應(yīng)用

  可視化建模( Visual Modeling) 是利用圍繞現(xiàn)實(shí)想法組織模型的一種思考問題的方法。模型對于了解問題、溝通問題、模仿企業(yè)流程、準(zhǔn)備文檔、設(shè)計(jì)程序和數(shù)據(jù)庫來說都是有用的。建模促進(jìn)了對需求的更好的理解??梢暬>褪且詧D形的方式描述所開發(fā)的系統(tǒng)的過程,它提供了一種從不同的視角觀察被開發(fā)系統(tǒng)的機(jī)制。

  好的建模能夠幫助我們:

  1) 鑒別需求和溝通信息;

  2) 著眼于系統(tǒng)的組件如何相互作用,而不是陷于具體的細(xì)節(jié);

  3) 使你能夠了解設(shè)計(jì)組件的相互關(guān)系;

  4) 通過使用一個(gè)共同的圖形語言,改進(jìn)跨團(tuán) 隊(duì) 的溝通。

  可視化建模在修改和復(fù)用方面同樣很有效,例如客戶有了一個(gè)新的需求,分析后發(fā)現(xiàn)與已有的一個(gè)需求很類似,只是某幾個(gè)環(huán)節(jié)需要更改,那么可以直接拿前一個(gè)建模后的成果將其中幾個(gè)元素稍加改動即可,不用重新建模,無論從時(shí)間上還是人力上都能做到非常好的節(jié)約。

  鑒于以上談到的可視化建模優(yōu)點(diǎn),筆者將可視化建模技術(shù)應(yīng)用到 GIS 中,目的是使 GIS 空間信息處理的構(gòu)建和操作流程能像可視化建模一樣簡單、易于理解,且復(fù)用性高。GIS 的空間信息處理的每一個(gè)空間活動都可以將其構(gòu)建成一個(gè)可視化的模型,如何將 GIS 的操作功能按照空間活動的特征封裝成為有輸入輸出的模型是首先需要考慮的問題。為此需要仔細(xì)分析空間活動的元模型??臻g活動元模型如圖 1 所示。空間操作和分析模型是空間活動的核心要素。任何復(fù)雜的空間操作和分析模型都可以由最基本的空間原子活動組合產(chǎn)生,空間原子活動對應(yīng)到 GIS 上是一個(gè)空間基本操作??臻g活動同時(shí)還包括用于過程邏輯的屬性信息和狀態(tài)信息,這些信息在過程演進(jìn)中具有重要的作用。

圖 1 空間活動元模型圖
Fig. 1 Meta - model diagram of space activities

  接下來需要解決的問題是如何定義、組織和規(guī)范過程數(shù)據(jù)和過程關(guān)系流,如何控制信息處理操作過程。為此,我們結(jié)合了工作流的技術(shù)。工作流( Workflow) ,就是業(yè)務(wù)過程的部分或整體在計(jì)算機(jī)應(yīng)用環(huán)境下的自動化,它主要解決的是使在多個(gè)參與者之間按照某種預(yù)定義的規(guī)則傳遞文檔、信息或任務(wù)的過程自動進(jìn)行,從而實(shí)現(xiàn)某個(gè)預(yù)期的業(yè)務(wù)目標(biāo),或者促使此目標(biāo)的實(shí)現(xiàn)。工作流是工作流程的計(jì)算模型,將工作流程中的工作如何前后組織在一起的邏輯和規(guī)則在計(jì)算機(jī)中以恰當(dāng)?shù)哪P瓦M(jìn)行表示并對其實(shí)施計(jì)算。

  結(jié)合可視化建模和工作流技術(shù),本文提出了空間處理建模的概念??臻g處理建模首先是獲取可以解決一項(xiàng)問題的若干個(gè)空間處理; 其次,編排這些空間處理的執(zhí)行邏輯順序; 最后,正確設(shè)置空間處理的輸入?yún)?shù)以及空間處理間的數(shù)據(jù)傳遞關(guān)系??臻g處理建模所構(gòu)建的數(shù)據(jù)處理流程不同于普通可視化建模所構(gòu)建的模型流程圖,空間處理建模所構(gòu)建的流程是可執(zhí)行的,通過執(zhí)行可以實(shí)現(xiàn)空間信息處理任務(wù),獲得預(yù)期結(jié)果數(shù)據(jù)。

  結(jié)合空間處理建模這一概念,超圖軟件研發(fā)了 SuperMap GeoProcessor 6R 產(chǎn)品,該產(chǎn)品是進(jìn)行 SuperMap 空間處理建模的可視化操作場所。為了更好地服務(wù)于應(yīng)用層的用戶,空間處理建模工具隱藏了空間處理建模復(fù)雜的代碼實(shí)現(xiàn)和邏輯概念,用戶無需進(jìn)行二次開發(fā),只需通過圖形化的繪制流程圖的方式構(gòu)建空間處理模型,形成一個(gè)數(shù)據(jù)處理、加工的流程圖,然后,正確設(shè)定各個(gè)空間處理所需的數(shù)據(jù)和參數(shù)信息,最終執(zhí)行空間處理模型,執(zhí)行空間信息的處理。

  在設(shè)計(jì) SuperMap GeoProcessor 6R 時(shí),考慮到其適應(yīng)性,跨平臺問題是首先要解決的關(guān)鍵問題,不僅要支持Windows 操作系統(tǒng),還要能夠在各種 Linux、Unix 系統(tǒng)上運(yùn)行。至下而上分析,首先,SuperMap GIS 底層的 UGC 類庫是跨平臺的; 接下來是在 UGC( Universal GIS Core) 的類庫之上封裝模型,因?yàn)?java 有其良好的跨平臺特性,為此 java 依據(jù)空間活動元模型的原理將 UGC 類庫提供的空間操作的接口和類進(jìn)行二次封裝,封裝成模型元素需要的類和接口; 然后,在封裝模型界面元素時(shí)選擇了 flash 語言,在 Flash Builder 工具里,將 java 封裝好的接口和類包裝成用于可視化建模的模型元素,該模型所具有的信息和原理與空間活動元模型的信息和原理相同。無論是在用微軟. NET 框架下的 SuperMap 桌面 GIS 產(chǎn)品還是在支持跨平臺的服務(wù)器產(chǎn)品里,只需將 SuperMap GeoProcessor6R 安裝在指定目錄下,便可以在這兩個(gè)產(chǎn)品中進(jìn)行可視化建模。SuperMap GeoProcessor 6R 的技術(shù)架構(gòu)如圖 2所示。

圖 2 SuperMap GeoProcessor 技術(shù)架構(gòu)圖
Fig. 2 SuperMap GeoProcessor technical architecture diagram

  根據(jù)圖 2 所示的技術(shù)架構(gòu),我們來分析該工具的工作原理。當(dāng)在桌面或服務(wù)器產(chǎn)品提供的建模工具里建模完成后,點(diǎn)擊“執(zhí)行”操作時(shí)首先 Flash 會將模型翻譯成一個(gè)xml 文件,該 xml 文件是按照 BPEL( Business Process Execution Language,業(yè)務(wù)流程執(zhí)行語言) 格式記錄的,文件里記錄 了 每 一 個(gè) 可 執(zhí) 行 的 操 作,部 分 內(nèi) 容 如 圖 3 所 示。BPEL 是一種使用 XML 編寫的編程語言,用于自動化業(yè)務(wù)流程,這些流程能夠在任何一個(gè)符合 BPEL 規(guī)范的平臺或產(chǎn)品上執(zhí)行,也曾經(jīng)被稱作 WSBPEL 和 BPEL4WS,優(yōu)點(diǎn)為具有可移植性。在生成該 xml 后,桌面產(chǎn)品或服務(wù)器產(chǎn)品會用其自己開發(fā)語言 C#或 java 調(diào)用 java 進(jìn)程在后臺執(zhí)行,使其按 xml 中的內(nèi)容依次執(zhí)行每一步操作,最終輸出結(jié)果,完成一系列操作。

圖 3 SuperMap GeoProcessor可執(zhí)行 XML 文件部分內(nèi)容截圖
Fig. 3 SuperMap GeoProcessor’s screenshot part of the executable XML file

  另外,建模后的界面也可以保存成一個(gè) xml 文件,但這個(gè) xml 中記錄的內(nèi)容與圖 3 所示的內(nèi)容不同,界面的XML 文件記錄的是每個(gè)模型的名稱和位置,如果需求變化時(shí),可以在已有的基礎(chǔ)上微作調(diào)整,達(dá)到復(fù)用的目的。

3 空間處理建模流程及應(yīng)用

  以育苗選址的一個(gè)例子來說明 SuperMap GeoProcessor 的建模流程及應(yīng)用方式?,F(xiàn)有某區(qū)域高程數(shù)據(jù)、水系數(shù)據(jù)、主要道路數(shù)據(jù)和分園分布數(shù)據(jù),按以下要求和標(biāo)準(zhǔn)尋找適宜的位置。

  1) 要選擇平坦的地區(qū),要求將坡度值 X 進(jìn)行劃分,坡度等級: 平坡 x≤5°; 緩坡 5° < X≤15°; 斜坡 15° < x≤25°;陡坡 25° < x≤35°; 急坡 35° < x≤45°; 險(xiǎn)坡 x > 45°。影響因子按照坡度等級依次賦值 5,4,3,2,1,0。該需求需要用到兩個(gè)操作,坡度分析于用對原 DEM 數(shù)據(jù)進(jìn)行坡度分析,柵格代數(shù)運(yùn)算用于將坡度分析后的柵格數(shù)據(jù)根據(jù)此條件賦于 5,4,3,2,1,0 不同的值。

  2) 要選擇較好的朝向,本題認(rèn)為較好的朝向?yàn)闁|南、南和西南,朝向值在區(qū)間[90,270]或者值為“- 1”時(shí),朝向影響因子為 3、其他取值為 0。該需求需要用到兩個(gè)操作,坡向分析于用對原 DEM 數(shù)據(jù)進(jìn)行坡向分析,柵格代數(shù)運(yùn)算用于將坡向分析后的柵格數(shù)據(jù)根據(jù)條件賦于 3 或0 值。

  3) 要選擇適當(dāng)?shù)母叱蹋?dāng)高程值在區(qū)間[1 350,1700]、[1 800,2 150]時(shí),影響因子為 1; 當(dāng)高程值在區(qū)間( 1700,1 800) 時(shí),影響因子為 3,其他取值為 0。該需求需要進(jìn)行三次柵格代數(shù)運(yùn)算,分別按條件賦 1,3,0 值。

  4) 要選擇靠近湖泊的地方,要求生成湖泊的緩沖區(qū),緩沖區(qū)半徑 D≤1 000 m 的影響因子賦值 5,1 000 < D≤1500 m 的影響因子賦值 3,1 500 < D≤2 000 m 的影響因子賦值 1,其他取值為 0。該需求需要將湖泊線數(shù)據(jù)集做多重緩沖區(qū)分析,然后將分析后的矢量數(shù)據(jù)轉(zhuǎn)成柵格數(shù)據(jù),再將區(qū)域外的數(shù)據(jù)裁剪掉,最后用柵格代數(shù)運(yùn)算對柵格數(shù)據(jù)賦 5,3,1,0 值。

  5) 不要靠近主要街道上,要求生成主要街道的緩沖區(qū),緩沖區(qū)半徑 D≤300 m 的影響因子賦值 0,300 < D≤800 m 的影響因子賦值1,800 < D≤1 300 m 的影響因子賦值 2,其他 取 值 為 3。該 需 求 與 需 求 4 相 同,操 作 步 驟同上。

  6) 不要選擇在公園內(nèi)。將以上幾個(gè)操作分別產(chǎn)生的柵格數(shù)據(jù)集做柵格代數(shù)相加的運(yùn)算,使其合并成一個(gè)柵格數(shù)據(jù)集,然后用公園的面數(shù)據(jù)與相加后產(chǎn)生的數(shù)據(jù)集做裁剪操作去除公園部分,最后得出的柵格數(shù)據(jù)集就可以展示出各項(xiàng)分析后的結(jié)果值,供育苗選址使用。

  在 SuperMap GeoProcessor 里,將每個(gè)分析模型在如圖4 所示的右上角模型窗口中選擇合適的模型( 如坡度分析模型) 拖到窗口中,然后用有方向的剪頭將其正確連接起來,在右下角窗口中設(shè)置每個(gè)模型的輸入輸出參數(shù),這里要注意箭頭的方向,表示處理的先后和數(shù)據(jù)流轉(zhuǎn)的方向;同時(shí)也要考慮并行的問題,要確定各個(gè)功能是否能并行處理,并行固然提高效率,但要注意順序,從本例的分析上看,前 5 個(gè)需求互相并無聯(lián)系和先后次序,因此可以并行操作。建模后的界面如圖 4 所示。

圖 4 育苗選址建模圖
Fig. 4 Nursery site modeling diagrams

4 結(jié)束語

  空間信息處理過程是大型 GIS 應(yīng)用的關(guān)鍵,將空間信息處理的過程做到簡單、易用、高效,就解決了大型 GIS 應(yīng)用的一個(gè)重要難題。研究空間信息處理過程的內(nèi)在聯(lián)系和規(guī)律,將可視化建模技術(shù)應(yīng)用其中,再結(jié)合工作流技術(shù),使用建模工具,提供對大型 GIS 應(yīng)用的分析、管理、執(zhí)行和控制的支持,從而可以將 GIS 應(yīng)用的分析層面、處理層面和管理層面的工作有機(jī)的結(jié)合起來,更有效規(guī)劃管理 GIS 應(yīng)用工作的實(shí)施,提高工作質(zhì)量和效率。

參考文獻(xiàn):

[1] 丁華祥,唐力明. 空間處理建模技術(shù)的概念和應(yīng)用[M]. 測繪通報(bào),2009( 1) : 64 - 67.

[2] 黃柳青,王滿紅. 構(gòu)件中國: 面向構(gòu)件的方法與實(shí)踐[M]. 北京: 清華大學(xué)出版社,2006.

[3] 何凱濤,唐宇,劉書雷. 基于工作流的 GIS 服務(wù)動態(tài)聚合方法、技術(shù)體系和參考模型研究[J]. 國防科技大學(xué)學(xué)報(bào),2008,30( 1) : 47 - 52.

[4] 賈文玨,李斌,龔健雅. 基于工作流技術(shù)的動態(tài) GIS服務(wù)鏈 研 究[J]. 武 漢 大 學(xué) 學(xué) 報(bào)( 信 息 科 學(xué) 版) ,2005,30( 11) : 982 - 985.

[5] 高勇,鄔倫,劉瑜. 空間信息處理過程建模研究[J].北京大 學(xué) 學(xué) 報(bào)( 自 然 科 學(xué) 版) ,2004,40 ( 6 ) : 914- 921.

作者簡介:

崔 雪( 1982 - ) ,女,山東青島人,碩士,2008 年畢業(yè)于廣西師范學(xué)院地圖學(xué)與地理信息系統(tǒng)專業(yè),主要從事平臺軟件技術(shù)支持工作。