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