摘 要:空間數(shù)據(jù)模型是GIS理論的核心內(nèi)容,因?yàn)橹挥薪⒘丝臻g數(shù)據(jù)模型,才能滿足GIS數(shù)據(jù)量大、關(guān)系復(fù)雜等特點(diǎn),才能更好的實(shí)現(xiàn)GIS功能的最大化。UML(Unified Modeling Language)是一種功能強(qiáng)大且比較標(biāo)準(zhǔn)的面向?qū)ο蠼UZ言。筆者根據(jù)多年研究經(jīng)驗(yàn),文章結(jié)合實(shí)例研究UML應(yīng)用于GIS空間數(shù)據(jù)庫的面向?qū)ο笤O(shè)計(jì)中的理論和技術(shù),解決了系統(tǒng)從對象模型到關(guān)系模型的轉(zhuǎn)換和空間矢量數(shù)據(jù)的關(guān)系化的面向?qū)ο竺枋龊蛯?shí)現(xiàn)。在此基礎(chǔ)上,通過對系統(tǒng)對象的設(shè)計(jì)來不斷完善數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計(jì)和功能設(shè)計(jì),并取得了較好的效果。
關(guān)鍵詞:空間數(shù)據(jù)模型;空間數(shù)劇庫;應(yīng)用;研究
中圖分類號:TP311
地理信息系統(tǒng)(Geogmphic Information System,GIS)是將地理數(shù)據(jù)、高性能計(jì)算機(jī)硬、軟件以及系統(tǒng)操作人員統(tǒng)一為整體的的系統(tǒng),此系統(tǒng)具有能更好的獲取地理信息,并將該信息分析、解讀、存儲及顯示的集成。GIS的核心空間模型的設(shè)計(jì)和應(yīng)用是一個(gè)很漫長且繁瑣的過程,而且要求空間模型在后期應(yīng)用中保持較高的性能,因此該模型必須盡可能的和系統(tǒng)保持高度一致,減少后期的改動(dòng)次數(shù)。在建立空間模型過程中還要實(shí)現(xiàn)空間數(shù)據(jù)庫需求分析的功能,這些都必須統(tǒng)一到空間模型的建立過程中,目前這些方法在數(shù)據(jù)庫設(shè)計(jì)方面已得到工程師的嘗試。雖然理論上認(rèn)為面向?qū)ο蟮姆椒梢愿纳栖浖墓δ?,?shí)現(xiàn)系統(tǒng)的查詢、分析的一體性,但在實(shí)際應(yīng)用中還是有些欠缺,這些不足表現(xiàn)為系統(tǒng)多數(shù)情況下只能實(shí)現(xiàn)系統(tǒng)分析中的一部分模塊,而不能應(yīng)用到這個(gè)系統(tǒng)整體分析過程中去。但是,UML設(shè)計(jì)應(yīng)用相比與一般的ER建模有許多優(yōu)勢,比如數(shù)據(jù)表達(dá)能力得到了提升;對象間的關(guān)聯(lián)性得以實(shí)現(xiàn);系統(tǒng)的接口基本統(tǒng)一,減少了不需要的轉(zhuǎn)接,提高了系統(tǒng)的容量;1/4可以直接用于各級測試,使系統(tǒng)設(shè)計(jì)問題盡早暴露。
1 UML與GIS空間數(shù)據(jù)庫的設(shè)計(jì)
1.1 UML的內(nèi)容
UML融合了Booth、OMT和OOSE方法中的基本概念,它們的基本定義與其所要應(yīng)用的體系保持高度一致。因此UML已成是一種功能強(qiáng)大且比較標(biāo)準(zhǔn)的面向?qū)ο蠼UZ言。與此同時(shí),UML不僅改善了自身存在的缺陷,更是將上述方法中的中的優(yōu)點(diǎn)集聚一身,經(jīng)過多次實(shí)踐論證,其功能非常強(qiáng)大,應(yīng)用范圍也在不斷擴(kuò)大。
UML的內(nèi)容可以由下列圖來定義:(1)用例圖,以圖例的形式向用戶說明其功能,具有形象簡單明了的特點(diǎn),用戶很容易接受。(2)靜態(tài)圖,包括類圖、對象圖和包圖。其中類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。類的功能是將系統(tǒng)中同為一體的東西歸為一類,在系統(tǒng)中可以合理有序的把區(qū)域明了化,有助于用戶的觀察使用。而類圖所要表達(dá)是一種與動(dòng)態(tài)相對的關(guān)系,而這種關(guān)系決定著此該系統(tǒng)的使用壽命。而對象圖隸屬與類圖,對象圖所有的功能類圖都具備,而且圖像圖所有的標(biāo)識類圖都有。兩者存在的不同點(diǎn)在與對象圖顯示的只是類的多個(gè)實(shí)例,卻不是實(shí)際的類。在此系統(tǒng)中所描述的對象均存在生命周期,所以對象圖僅僅能在系統(tǒng)中存在一段時(shí)間。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)。(3)交互圖,所表述的是各個(gè)對象之間的相互關(guān)聯(lián)情況。其中順序圖顯示對象之間與靜態(tài)相對的關(guān)聯(lián);合作圖表述的對象間的合作關(guān)系,合作圖與順序圖兩者具有相似的功能關(guān)系,表達(dá)了對象間與靜態(tài)相對的關(guān)系。在系統(tǒng)的實(shí)際應(yīng)用中,倘若主要突出時(shí)間和順序,則使用順序圖;倘若主要突出上下級關(guān)系,則選擇合作圖。
1.2 UML在關(guān)系型GIS空間數(shù)據(jù)庫設(shè)計(jì)的步驟
需求分析。分析階段的第一步是定義用例。對較大規(guī)模的系統(tǒng),通常情況下先選取所有的對象角色,然后在逐一對每個(gè)對象進(jìn)行分析;而對于規(guī)模較小的系統(tǒng),直接對每一個(gè)對象進(jìn)行用例分析,不需要整體分析。在GIS系統(tǒng)空間模型中,主要角色有決策人員、查詢用戶和GIS輔助員。為了更好描述該用例與角色的交換,可以對系統(tǒng)中的用例進(jìn)行需求說明,這樣就避免了文字描述的模糊性,為系統(tǒng)功能的完善提供保證。
特定領(lǐng)域分析。在分析地理信息特定領(lǐng)域時(shí),可以用類圖來描述領(lǐng)域類及其關(guān)系,類圖描述的是系統(tǒng)中類的靜態(tài)關(guān)系,而系統(tǒng)中動(dòng)態(tài)關(guān)系這需要用合作圖來描述。
1.3 設(shè)計(jì)階段
結(jié)構(gòu)設(shè)計(jì)。一個(gè)系統(tǒng)想實(shí)現(xiàn)其功能的最優(yōu)化,必須具有良好的系統(tǒng)結(jié)構(gòu),這也是決定該系統(tǒng)可擴(kuò)充和可變更的基礎(chǔ)。在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中要注意一下結(jié)構(gòu)的分配:用戶接口包;數(shù)據(jù)庫包;領(lǐng)域?qū)ο蟀粚?shí)用包。
詳細(xì)設(shè)計(jì)。在詳細(xì)設(shè)計(jì)階段,采用應(yīng)用框架的方法,實(shí)現(xiàn)各結(jié)構(gòu)間的關(guān)聯(lián)和行為,使用UML技術(shù)對這些結(jié)構(gòu)進(jìn)行細(xì)化。在詳細(xì)設(shè)計(jì)階段,還需要找到永久存儲數(shù)據(jù)的對象。
1.4 實(shí)現(xiàn)
實(shí)現(xiàn)即是系統(tǒng)的主要的階段,它直接關(guān)系著GIS系統(tǒng)的完成的快慢。本文選擇了ArcView3.2為GIS平臺,并用VC++6.0開發(fā)了數(shù)據(jù)庫的ODBC訪問接口。在此階段也就是在編碼期間,隨著編碼的進(jìn)行可能會發(fā)現(xiàn)設(shè)計(jì)上存在的不足,此時(shí)要根據(jù)缺陷的大小對其進(jìn)行修復(fù),或者重新修改模型。在修復(fù)缺陷的同時(shí),為了今后維護(hù)系統(tǒng)的需要,一定要保持編碼的一致性。
2 空間數(shù)據(jù)庫模型
2.1 空間數(shù)據(jù)庫的靜態(tài)模型
上面描述過要實(shí)現(xiàn)UML在關(guān)系型GIS中的應(yīng)用,必須建立相應(yīng)的空間模型(空間數(shù)據(jù)庫的靜態(tài)模型、空間數(shù)據(jù)庫的動(dòng)態(tài)模型)。面對GIS數(shù)據(jù)量大、關(guān)系復(fù)雜等特點(diǎn),UML可以很好地解決這個(gè)問題。UML的可擴(kuò)展性能,讓其很容易適應(yīng)某些特定應(yīng)用領(lǐng)域、用戶、元素,從而避免了封裝和復(fù)用的問題。空間數(shù)據(jù)庫中的重要組成空間關(guān)系,能清晰的反應(yīng)出系統(tǒng)中的空間數(shù)據(jù)關(guān)系,并可以通過空間關(guān)系分析查詢相關(guān)內(nèi)容。GIS系統(tǒng)中與空間關(guān)系相呼應(yīng)的是拓?fù)潢P(guān)系,此關(guān)系在GIS系統(tǒng)中起起到空間查詢、分析推理、圖像檢索等重要作用,也是空間目標(biāo)之間最基本也是最重要的空間關(guān)系之一。根據(jù)上述描述,在UML中采用構(gòu)造型來修飾空間關(guān)系,建立《Spafia》構(gòu)造型來描述空間關(guān)系類。使用自然語言將類之間的關(guān)系擴(kuò)展到空間關(guān)系的范圍內(nèi),并在空間關(guān)系內(nèi)建立各關(guān)系的約束條件,以達(dá)到更加準(zhǔn)確地描述了地物的空間關(guān)系。
2.2 建立空間數(shù)據(jù)庫的動(dòng)態(tài)模型
空間數(shù)據(jù)庫的靜態(tài)結(jié)構(gòu)建立后,為了完善空間數(shù)據(jù)庫的功能還必須建立相應(yīng)的動(dòng)態(tài)模型,以保障系統(tǒng)良好的運(yùn)轉(zhuǎn)。建立空間數(shù)據(jù)庫動(dòng)態(tài)模型,可以通過存儲過程和觸發(fā)器來實(shí)現(xiàn)。在靜態(tài)模型和動(dòng)態(tài)模型相互的配合下,UML才能更有效的用用到關(guān)系型GIS空間數(shù)據(jù)庫設(shè)計(jì)中的應(yīng)用與研究中,實(shí)現(xiàn)功能最大化。
2.3 UML對系統(tǒng)的發(fā)布
UML對系統(tǒng)的發(fā)布用實(shí)現(xiàn)圖來描述,它包括構(gòu)件圖和配置圖。構(gòu)件圖描述了系統(tǒng)的內(nèi)部結(jié)構(gòu)以及各結(jié)構(gòu)之間的關(guān)聯(lián)性。配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu),這為系統(tǒng)的最后安裝和實(shí)施提供了工程視圖。
3 結(jié)束語
綜上所述,本文研究了UML在關(guān)系型GIS空間數(shù)據(jù)庫設(shè)計(jì)中的應(yīng)用,UML涵蓋了面向?qū)ο筌浖到y(tǒng)從分析、設(shè)計(jì)到實(shí)現(xiàn)的全過程,具有分析能力強(qiáng)、運(yùn)行快等特點(diǎn),運(yùn)用在GIS系統(tǒng)中能適應(yīng)此系統(tǒng)數(shù)據(jù)量大、關(guān)系復(fù)雜等特點(diǎn)。在此基礎(chǔ)上通過對系統(tǒng)對象的設(shè)計(jì)來不斷完善數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計(jì)和功能設(shè)計(jì),清晰的反應(yīng)出空間關(guān)系間的結(jié)構(gòu)關(guān)系,作者在系統(tǒng)設(shè)計(jì)的整個(gè)過程中運(yùn)用UML分析和較好地完成了上述問題,并獲得很大收益。
參考文獻(xiàn):
[1]安揚(yáng),趙波.UML建模方法在地理信息系統(tǒng)開發(fā)中的應(yīng)用.計(jì)算機(jī)工程:2004(21):165-167.
[2]王淼.基于GIS的軍用通信網(wǎng)管線資源管理與決策系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[D].東北大學(xué),2008.
作者簡介:王曉元(1976.09-),男,湖北通山人,講師,本科,研究方向:軟件工程。
作者單位:咸寧職業(yè)技術(shù)學(xué)院,湖北咸寧 437100