- 相關(guān)推薦
基于MapX的GIS動(dòng)態(tài)操作與實(shí)現(xiàn)
摘要:分析了GIS和MapX的基本技術(shù),提出了GIS信息顯示系統(tǒng)中地圖對(duì)象動(dòng)態(tài)添加、刪除以及地圖整體顯示效果適時(shí)變化的實(shí)現(xiàn)方法。結(jié)合基于MapX的電力網(wǎng)絡(luò)配置顯示系統(tǒng)來(lái)說(shuō)明這些技術(shù)。關(guān)鍵詞:GISMapX動(dòng)態(tài)操作添加刪除
地理信息系統(tǒng)GIS(GeographicInformationSystem)是收集、管理、查詢、分析、操作以及表現(xiàn)與地理相關(guān)的數(shù)據(jù)信息的計(jì)算機(jī)信息系統(tǒng),能夠?yàn)榉治、決策提供重要的支持平臺(tái)。近年來(lái),GIS廣泛應(yīng)用于基礎(chǔ)設(shè)施(道路、電力等)的規(guī)劃、自然資源的開(kāi)發(fā)和利用、城市的發(fā)展規(guī)劃、人口遷移與安置以及交通工具有定位導(dǎo)航和定位等復(fù)雜的區(qū)域開(kāi)發(fā),并取得了良好的效益。
隨著GIS的迅猛發(fā)展,GIS越來(lái)越多地應(yīng)用于信息顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),在信息顯示系統(tǒng)中動(dòng)態(tài)信息交互顯示是一個(gè)重要內(nèi)容。例如在區(qū)域電力網(wǎng)絡(luò)的管理方面,一個(gè)單獨(dú)的變電站可以滿足一定區(qū)域的供電需求。某個(gè)地區(qū)是否需要增加一個(gè)變電站以滿足該區(qū)域電力供應(yīng)的需求,增加這個(gè)變電站后整個(gè)電力網(wǎng)絡(luò)的覆蓋范圍達(dá)到什么水平,都可以通過(guò)動(dòng)態(tài)GIS模擬實(shí)現(xiàn),達(dá)到輔助決策的效果。
本文以區(qū)域電力設(shè)施配置顯示系統(tǒng)的設(shè)計(jì)為背景,說(shuō)明如何實(shí)現(xiàn)電力設(shè)施的添加、刪除以及操作完成后適時(shí)顯示系統(tǒng)的整體態(tài)勢(shì)信息。
1MapX簡(jiǎn)介
MapX是MapIofo公司向用戶提供的具有強(qiáng)大地圖分析功能的32位OCX控件。編程人員在開(kāi)發(fā)過(guò)程中可以選用自己最熟悉的可視化開(kāi)發(fā)環(huán)境,輕松地將地圖功能嵌入到應(yīng)用中,并且可以脫離MapInfo的軟件平臺(tái)運(yùn)行。同時(shí),MapX采用基于MapInfoProfessional的相同地圖化技術(shù),可以實(shí)現(xiàn)MapInfoProfessional具有絕大部分地圖編輯和空間分析功能;MapX提供了各種工具、屬性和方法,非常容易實(shí)現(xiàn)這些功能,因此近年來(lái)得到了迅猛發(fā)展。
1.1MapX的空間數(shù)據(jù)結(jié)構(gòu)
空間數(shù)據(jù)結(jié)構(gòu)是GIS的基石。GIS通過(guò)這些地理空間拓?fù)浣Y(jié)構(gòu)建立地理圖形的空間數(shù)據(jù)模型并定義各空間數(shù)據(jù)之間的關(guān)系,從而實(shí)現(xiàn)地理圖形和數(shù)據(jù)庫(kù)的結(jié)合。如圖1所示,地理信息系統(tǒng)采用分層管理的方法管理地圖數(shù)據(jù),同一類型的空間對(duì)象存放在相同圖層中。
1.2MapX對(duì)象模型
MapX控件采用面向?qū)ο蟮姆椒ㄌ幚淼乩硇畔⑾到y(tǒng),對(duì)地理數(shù)據(jù)的操作實(shí)際上是對(duì)各類對(duì)象的操作。MapX的基本組成單元是Object(單個(gè)對(duì)象)和Collection(集合)。其中集合包括對(duì)象,是多個(gè)對(duì)象的組合,每種對(duì)角與集合負(fù)現(xiàn)處理地圖某一方面的功能。MapX主要包括以下對(duì)象:
(1)Map
Map是MapX的頂層屬性,每個(gè)Map對(duì)象主要包括Datasets、Layers、Annotations三個(gè)對(duì)象集合。
Map對(duì)象包括一些主要的屬性,如Zoom用來(lái)設(shè)置放大級(jí)別(在地圖上顯示的大。琑otation控制地圖的旋轉(zhuǎn)角度,CenterX和CenterY用于設(shè)置地圖顯示窗口的中心坐標(biāo)。
(2)Layers
在MapX中,地理信息按照?qǐng)D層的集合(LayersCollection)表示,每張單獨(dú)的地圖都被表示成單獨(dú)的圖層,所有的圖層存儲(chǔ)在Layers集合中。Layer對(duì)象由Features對(duì)象組成,F(xiàn)eatures對(duì)象又是由Feature對(duì)象組成,F(xiàn)eature對(duì)應(yīng)于地圖中的點(diǎn)、線、面以及符號(hào)等地圖實(shí)體。
。3)GeoSet
GeoSet是在GeoManager中建立的。GST文件,類似MapInfo中的WorkSpace概念,是圖層及其設(shè)置的集合,用于控制程序中顯示的地圖。
。4)Datasets
在MapX中,屬性數(shù)據(jù)的操作主要通過(guò)數(shù)據(jù)綁定實(shí)現(xiàn),Datasets用于實(shí)現(xiàn)地圖與數(shù)據(jù)的綁定。數(shù)據(jù)綁定的數(shù)據(jù)源可以是DAO、ADO、ODBC數(shù)據(jù)源、RDO、MapInfoTable文件,還可以是一個(gè)規(guī)定了格式的文本文件。要綁字一個(gè)數(shù)據(jù)源,首先要指定所綁定的圖層,然后需要指定與圖層中地圖對(duì)象相匹配的關(guān)鍵字段。
(5)Annotations
Annotations集合提供了操縱地圖中文字和符號(hào)的簡(jiǎn)單方法。Annotations位于所有其它圖層的上方并且不與任何數(shù)據(jù)連接。
圖2對(duì)象添加
2對(duì)象動(dòng)態(tài)添加
在區(qū)域電力網(wǎng)絡(luò)配置顯示系統(tǒng)中,一個(gè)單獨(dú)的變電站可以滿足一定區(qū)域的供電需求。某個(gè)地區(qū)是否需要增加一個(gè)變電站,以滿足該區(qū)域供電需求,增加了這個(gè)變電站后整個(gè)電力網(wǎng)絡(luò)的覆蓋范圍達(dá)到什么水平。所以在系統(tǒng)中添加了某一型號(hào)的變電站后,
要求該變電站的作用范圍與整個(gè)區(qū)域存的電力覆蓋范圍結(jié)合起來(lái),形成并動(dòng)態(tài)顯示整個(gè)區(qū)域的電力網(wǎng)絡(luò)覆蓋范圍,以此判定該變電站建設(shè)的必要性以及該區(qū)域的電力網(wǎng)絡(luò)覆蓋范圍是否能夠滿足供電需求。
變電站的建設(shè)表現(xiàn)在GIS顯示系統(tǒng)中就是在地圖上增加一個(gè)具有某些屬性的地圖對(duì)象。系統(tǒng)首先把各型號(hào)變電站性能參數(shù)存入數(shù)據(jù)庫(kù)中,用戶在系統(tǒng)界面上可以選擇需要修建的變電站型號(hào),系統(tǒng)連接數(shù)據(jù)庫(kù),讀取相應(yīng)的屬性信息,然后采用鼠標(biāo)單擊的形式把所選對(duì)象安裝在鼠標(biāo)單擊的位置,并利用MapX計(jì)算顯示區(qū)域電力覆蓋范圍。
該功能的實(shí)現(xiàn)采用重畫的方式。即系統(tǒng)首先刪除地圖上現(xiàn)存變電站的整體作用范圍,然后讀取數(shù)據(jù)庫(kù)中需要添加對(duì)象的基本屬性和地圖上現(xiàn)存變電站的屬性數(shù)據(jù),這些數(shù)據(jù)為依據(jù)把地圖上現(xiàn)存的以及需要安裝的進(jìn)行合并;合并后的整體作用范圍添加到對(duì)應(yīng)圖層并在對(duì)應(yīng)位置添加標(biāo)示即可。最后在圖上顯示的就是區(qū)域電力網(wǎng)絡(luò)的整體覆蓋范圍。
系統(tǒng)采用臨時(shí)圖層lyrobj存放安裝對(duì)象(變電站)以及對(duì)象的整體作用范圍,用Num存放臨時(shí)圖層上電站的數(shù)目(即區(qū)域現(xiàn)存變電站的數(shù)目,obj(i)表示第I個(gè)對(duì)象),對(duì)象pt(i)存放第I個(gè)電站的名稱、作用距離、地理坐標(biāo)等屬性信息。實(shí)現(xiàn)地圖對(duì)象添加的算法示意圖如圖2所示。
3對(duì)象動(dòng)態(tài)刪除
一個(gè)單獨(dú)的變電站可以滿足一定區(qū)域的供電需求,對(duì)于實(shí)際的某些電站,如果遭遇自然災(zāi)害或者根據(jù)需要予以拆除,那么表現(xiàn)在地圖上就是該地圖對(duì)象(電站)會(huì)被刪除,刪除了該電站后,整個(gè)地區(qū)的電網(wǎng)覆蓋范圍將隨之發(fā)生變化。電力管理部門可以此確定在發(fā)生意外的情況下,整個(gè)電力網(wǎng)絡(luò)是否仍可以滿足供電需求。
圖3對(duì)象刪除
整個(gè)實(shí)現(xiàn)過(guò)程采用臨時(shí)圖層lyrobj存放安裝對(duì)象(變電站)以及對(duì)象的整體作用范圍,用Num存放臨時(shí)圖層上電站的數(shù)目(obj(i)表示第i個(gè)對(duì)象),對(duì)象pt(i)存放第i個(gè)電站的名稱、作用距離、地理坐標(biāo)等屬性信息。
該功能的實(shí)現(xiàn):首先判斷選中的需要?jiǎng)h除的地圖對(duì)象(變電站)obj(k),并刪除數(shù)組pt()和obj()中對(duì)應(yīng)需要?jiǎng)h除的項(xiàng);然后刪除需要拆除的電站的標(biāo)示以及本地區(qū)所有電站的覆蓋范圍;隨后讀取數(shù)組pt()中對(duì)應(yīng)電站的屬性值,重畫除需要?jiǎng)h除的對(duì)象以外所有電站的覆蓋范圍,把各個(gè)對(duì)象的作用范圍進(jìn)行合并,并把合并后的整體作用范圍添加到對(duì)應(yīng)圖層,在對(duì)應(yīng)位置添加標(biāo)示。這樣就會(huì)得到拆除一個(gè)電站后本地區(qū)電力供應(yīng)的覆蓋范圍。實(shí)現(xiàn)地圖對(duì)象刪除的算法示意圖如圖3所示。
在實(shí)際的GIS信息顯示系統(tǒng)中,對(duì)象的動(dòng)態(tài)操作是一個(gè)重要方面。利用本文介紹的這種方法開(kāi)發(fā)的電力網(wǎng)絡(luò)配置顯示系統(tǒng)效率高、實(shí)時(shí)性強(qiáng),為區(qū)域電力網(wǎng)絡(luò)的高效配置提供了方便快捷的保障。本系統(tǒng)雖然基于MapX實(shí)現(xiàn),但其實(shí)現(xiàn)地圖對(duì)象動(dòng)態(tài)交互操作的思路對(duì)WebGIS以及其他領(lǐng)域中地圖對(duì)象的動(dòng)態(tài)操作也有很強(qiáng)的借鑒意義。
【基于MapX的GIS動(dòng)態(tài)操作與實(shí)現(xiàn)】相關(guān)文章:
基于Vxworks實(shí)時(shí)操作系統(tǒng)的串口通信程序設(shè)計(jì)與實(shí)現(xiàn)08-19
基于圖像的OMR技術(shù)的實(shí)現(xiàn)08-06
基于新課標(biāo)實(shí)現(xiàn)教學(xué)需求08-16
基于VRTX操作系統(tǒng)實(shí)現(xiàn)V5接口協(xié)議08-06
數(shù)據(jù)字典在ArcView GIS中的實(shí)現(xiàn)與應(yīng)用08-09
以動(dòng)態(tài)團(tuán)隊(duì)管理實(shí)現(xiàn)敏捷組織08-05
基于先驗(yàn)預(yù)知的動(dòng)態(tài)電源管理技術(shù)08-06