2、利用目前流行的 GIS 軟件平臺(tái)進(jìn)行開發(fā)
目前 GIS 軟件 ,國(guó)際上比較流行的是:Arc Info系列 ,Map Info 系列 , SuperMap 系列產(chǎn)品等。國(guó)產(chǎn)GIS 軟件中 ,以中國(guó)地質(zhì)大學(xué)的 MA P GIS 為代表。這些平臺(tái)都提供了用戶進(jìn)行二次開發(fā)的工具和接口 ,通過二次開發(fā)亦可滿足很多客戶的不同需求 ,并且開發(fā)簡(jiǎn)便 ,迅速見效。這里我們不對(duì)其二次開發(fā)的方法進(jìn)行深究 ,而是就目前 GIS 軟件與當(dāng)前軟件技術(shù)的發(fā)展方向相結(jié)合而朝組件式的開發(fā)方向進(jìn)行探討。這種趨勢(shì)即由過去廠家提供了全部系統(tǒng)或者具有二次開發(fā)功能的軟件過渡到提供組件由用戶自己再開發(fā)的方向上來。GIS 技術(shù)的發(fā)展 ,在軟件模式上經(jīng)歷了功能模塊、包式軟件、核心式軟件 , 從而發(fā)展到組件式 GIS 和 Web GIS 的過程。傳統(tǒng) GIS 雖然在功能上已經(jīng)比較成熟 , 但是由于這些系統(tǒng)多是基于十多年前的軟件技術(shù)開發(fā)的 ,屬于獨(dú)立封閉的系統(tǒng)。同時(shí) , GIS 軟件變得日益龐大 ,用戶難以掌握 , 費(fèi)用昂貴 , 阻礙了 GIS 的普及和應(yīng)用。組件式 GIS 的出現(xiàn)為傳統(tǒng) GIS 面臨的多種問題提供了全新的解決思路。組件式 GIS的基本思想是把 GIS 的各大功能模塊劃分為幾個(gè)控件 ,每個(gè)控件完成不同的功能。各個(gè) GIS 控件之間 ,以及 GIS 控件與其它非 GIS 控件之間 ,可以方便地通過可視化的軟件開發(fā)工具集成起來 ,形成最終的 GIS 應(yīng)用。控件如同一堆各式各樣的積木 ,他們分別實(shí)現(xiàn)不同的功能(包括 GIS 和非 GIS功能) ,根據(jù)需要把實(shí)現(xiàn)各種功能的 ”積木”搭建起來 ,就構(gòu)成應(yīng)用系統(tǒng)。
目前應(yīng)用比較廣泛的是:
Map Info 開發(fā)的 Map X , 以及 ER IS 公司開發(fā)的MapObject s 。下面將重點(diǎn)對(duì)利用 Map Info 公司開發(fā)的 Map X 進(jìn)行 GIS 軟件開發(fā)特點(diǎn)以及主要過程進(jìn)行分析并與 MapObject s 進(jìn)行比較。
Map X 是 Map Info 公司向用戶提供的具有強(qiáng)大地圖分析功能的 ActiveX 控件產(chǎn)品。由于它是一種基于 Windows 操作系統(tǒng)的標(biāo)準(zhǔn)控件 , 因而能支持絕大多數(shù)標(biāo)準(zhǔn)的可視化開發(fā)環(huán)境如 Visual C + + 、Visual Basic 、Delp hi 、PowerBuilder 等。編程人員在開發(fā)過程中可以選用自己最熟悉的開發(fā)語言 ,輕松地將地圖功能嵌入到應(yīng)用中 ,并且可以脫離 Map Info 的軟件平臺(tái)運(yùn)行。利用 Map X ,能夠簡(jiǎn)單快速地在企業(yè)應(yīng)用中嵌入地圖化功能 ,增強(qiáng)企業(yè)應(yīng)用的空間分析能力 , 實(shí)現(xiàn)企業(yè)應(yīng)用的增值。
Map X 提供了各種工具、屬性和方法 ,熟練的運(yùn)用這些工具、屬性、方法通過編程可以滿足不同開發(fā)需求。
要快速 ,深入的理解 Map X ,我們可以從下面兩個(gè)方面入手 ,一方面是 Map X 的空間數(shù)據(jù)結(jié)構(gòu) ,另一方面是 Map X 的基本屬性。理解了這兩方面 ,又具備一定的編程能力 ,結(jié)合 Map X 的開發(fā)手冊(cè) ,就能開發(fā)出所需要的 GIS 運(yùn)用系統(tǒng)。
(1) Map X 的空間數(shù)據(jù)結(jié)構(gòu)
空間數(shù)據(jù)結(jié)構(gòu)是 GIS 的基石,GIS 就是通過這種地理空間拓?fù)浣Y(jié)構(gòu)建立地理圖形的空間數(shù)據(jù)模型并定義各空間數(shù)據(jù)之間的關(guān)系 ,從而實(shí)現(xiàn)地理圖形和數(shù)據(jù)庫(kù)的結(jié)合。
從橫向分析 ,Map X 采取的空間數(shù)據(jù)結(jié)構(gòu)是基于空間實(shí)體和空間索引相結(jié)合的一種結(jié)構(gòu)??臻g實(shí)體是地理圖形的抽象模型 ,主要包括點(diǎn)、線、面三種類型。任何點(diǎn)、線、面實(shí)體都可以用直角坐標(biāo)點(diǎn) x 、y 來表示。點(diǎn)可以表示成一組坐標(biāo) ( x ,y) ,對(duì)于線和面 , 則均被表示成多組坐標(biāo) ( x1 , y1 ; x2 , y2 ;xn ,yn) 。空間索引是查詢空間實(shí)體的一種機(jī)制 ,
通過空間索引 ,就能夠以盡量快的速度查詢到給定坐標(biāo)范圍內(nèi)的空間實(shí)體及其所對(duì)應(yīng)的數(shù)據(jù)。
從縱向分析 ,Map X 的空間數(shù)據(jù)結(jié)構(gòu)是一種分層存放的結(jié)構(gòu)。用戶可以通過圖形分層技術(shù) ,根據(jù)自己的需求或一定的標(biāo)準(zhǔn)對(duì)各種空間實(shí)體進(jìn)行分層組合 ,將一張地圖分成不同圖層。采用這種分層存放的結(jié)構(gòu) ,可以提高圖形的搜索速度 ,便于各種不同數(shù)據(jù)的靈活調(diào)用、更新和管理。
2 .2 Map X 的基本屬性
有
放大、縮小、漫游等增加、移走、設(shè)置當(dāng)前層
有
1. 通過鼠標(biāo)選取特征
2. 通過 SQL 查找特征
3. 通過空間操作選取特征
有
有
有
較弱
有
較強(qiáng)
無
有
VC、VB 、PowerBuilder 、
Delphi 、Lotus Notes 等
·圖( Map)
每個(gè) Map 對(duì)象主要包括 Dataset s 、Layers 、An2notations 三個(gè)對(duì)象集合。
Map 對(duì)象有一些主要的屬性 ,如 Zoom 用來設(shè)置放大級(jí)別(在地圖上顯示的大小) , Rotation 控制地圖的旋轉(zhuǎn)角度 , CenterX 和 Center Y 用于設(shè)置 x和 y 的坐標(biāo)系 , 這要取決于地圖的投影。Map 對(duì)象的許多屬性本身又是一個(gè)對(duì)象 ,比如說一幅地圖由多個(gè)圖層組成 ,則在一個(gè) Map 對(duì)象中存在一個(gè)單獨(dú)的 layers 集合 ,其中包含所有圖層的信息。·圖層(Layers)在 Map X 中 ,每張單獨(dú)的地圖都被表示成單獨(dú)的一個(gè)圖層 , 所有的圖層存儲(chǔ)在 layers 集合中。Layers 集合由 Layer 對(duì)象組成 ,按順序編號(hào)為 0 到n 。Layer 對(duì)象由 feat ures 對(duì)象組成 ,feat ures 對(duì)象又是由 Feat ure 對(duì)象組成 ,對(duì)應(yīng)于地圖中的點(diǎn)、線、區(qū)域或符號(hào)。
最上面一層為 Layers (1) ,Layers (2) 位于 Lay2ers (1) 的下面 , 以次類推。最下面的圖層最先繪制 ,最上面的圖層最后繪制。在應(yīng)用程序中 ,合理地安排好每層在 Layers 中的順序是至關(guān)重要的。比如說有兩個(gè)圖層 ,一層為點(diǎn) ,一層為區(qū)域 ,則應(yīng)將點(diǎn)層放到區(qū)域?qū)拥纳戏?,否則區(qū)域會(huì)將點(diǎn)覆蓋。另外 ,在進(jìn)行地圖選擇操作時(shí) ,根據(jù)要求調(diào)整圖層的順序也是十分重要的。Map X 中的選擇工具總是從
順序也是十分重要的。Map X 中的選擇工具總是從可選擇圖層中的最上層開始選擇 ,如果在地圖上的同一位置存在多個(gè)位于不同層的地圖對(duì)象 ,其結(jié)果是很難精確地選擇到目標(biāo)對(duì)象。因此 ,最好將被選擇圖層提到最上層顯示。
.地理集( GeoSet s)
GeoSet 是在 GeoManager 中建立好的。 GST 文件 ,類似 Map Info 中的 WorkSpace 概念 ,是圖層及其設(shè)置的集合 ,控制程序中顯示的地圖。也可以在運(yùn)行階段設(shè)置 GeoSet , 此時(shí)將導(dǎo)致已經(jīng)加載的所有圖層和 DataSet 被刪除而由 GeoSet 中定義的圖層所代替。如果單純地想刪除所有圖層 , 只需給GeoSet 賦一個(gè)空字符串即可??梢允褂?GeoSet Manager 程序來管理 GeoSet 文件 ( 3 。 GST) 。默
認(rèn)情況下。 GST 文件存儲(chǔ)在。 。 。 map x maps 目
錄下 , 可以調(diào)用 GeoDictionary Manager 程序進(jìn)行修改 ,指向用戶程序數(shù)據(jù)所在的位置。
·數(shù)據(jù)集(Dataset s)
Dataset s 用于實(shí)現(xiàn)地圖與數(shù)據(jù)的綁定。例如 ,
一家房地產(chǎn)商將其開發(fā)的不同小區(qū)的銷售情況的數(shù)據(jù)庫(kù)和對(duì)應(yīng)區(qū)域的數(shù)字地圖綁定 ,可以在地圖上形象地顯示出不同區(qū)域銷售情況的趨勢(shì)以及和小區(qū)周邊環(huán)境的關(guān)系。建立地圖信息與屬性數(shù)據(jù)之間聯(lián)系的過程稱之為自動(dòng)綁定或自動(dòng)匹配。要實(shí)現(xiàn)這一過程 , 必須首先將地圖在 GeoDictionary 中注冊(cè)。
·標(biāo)注(Annotations)
Annotations 集合提供了操縱地圖中文字和符
號(hào)的簡(jiǎn)單方法。Annotations 位于所有其它圖層的上方并且不與任何數(shù)據(jù)連接 ,類似于 Map Info 中的透明圖層。
Annotations 包括以下主要的屬性與方法: AddSymbol 在 Annotations 中增加符號(hào) , 符號(hào)類型使用 Map 。 Default Style 定義; Add Text 在 Annota2tions 中增加文本; Remove 刪除特定的標(biāo)注; Type
取值為 miSymbolAnnotation 或 mi TextAnnotation 。
Annotations 還有一個(gè)非常重要的屬性 Grap h2
ic ,其定義為 Grap hic 對(duì)象 ,在該對(duì)象中包含了符號(hào)或文本的樣式、位置等信息 ,即 Grap hic 的 Caption 、Position 、St yle 、X、Y 屬性。如 Annotations 的 Type屬性定義為 mi TextAnnotation ,則可以定義 Grap h2ic 的 Caption 屬性設(shè)置標(biāo)注的字符串。
·可創(chuàng)建對(duì)象
在 Map X 對(duì)象模型中 ,以下對(duì)象是可以被創(chuàng)建的:
Affine Transform , BindLayer , Bit map Symbols , CoordSys , Dat um , Feat ure , Fields , Layer Info , Map , ODBCQuery Info , Part s , Point , Point s , Rectangle , RowValue , RowValues , Style , Variables , Notes2
Query Info ,NotesView Info 。
綜上所述 ,我們可以根據(jù)具體開發(fā)任務(wù)的需要來選擇開發(fā)方式 ,筆者利用 Map X 和 GPS 技術(shù)實(shí)現(xiàn)的公交調(diào)度指揮系統(tǒng) ,不僅開發(fā)周期短 ,而且系統(tǒng)運(yùn)行穩(wěn)定 ,并具有很好的可擴(kuò)充性。隨著通信技術(shù)以及 GIS 技術(shù)的發(fā)展以及市場(chǎng)需求不斷增加 ,該開發(fā)方式將會(huì)給我們帶來更大的利益。毫無疑問 ,組件式 GIS 技術(shù)將給整個(gè) GIS 技術(shù)體系和應(yīng)用模式帶來巨大的影響。
結(jié)束語
從GIS的出現(xiàn),到現(xiàn)在短短幾十年,它已經(jīng)融入到了這個(gè)世界,改變了人們的生活方式。它作為信息產(chǎn)業(yè)的一個(gè)新人,卻在里面扮演著重要的角色,正以前所未有的速度發(fā)展。我覺得我們應(yīng)該吸取當(dāng)前GIS中的優(yōu)點(diǎn),結(jié)合當(dāng)代的新興技術(shù),更好的促進(jìn)GIS的發(fā)展。GIS已經(jīng)深入到了各行各業(yè),隨著GIS越來越好的發(fā)展,它將會(huì)在我們的生活中扮演著越來越重要的角色,同時(shí)我們也會(huì)越來越依賴它??墒鞘澜鐓s因?yàn)樗黾痈辔粗c可能,而這正是當(dāng)代社會(huì)所需要的。新的地理信息時(shí)代,我們將會(huì)迎來更多挑戰(zhàn),新的地理信息時(shí)代,世界會(huì)變得更好。
評(píng)論
查看更多