利用eSupermap進(jìn)行開(kāi)發(fā)
與ArcPAD不同,eSupermap是完全基于C++的GIS軟件開(kāi)發(fā)包,在開(kāi)發(fā)上也就不存在像ArcPAD Application Builder這樣的RAD定制工具,必須要使用微軟公司發(fā)布的Embedded VisualC++環(huán)境進(jìn)行開(kāi)發(fā),這種方式的優(yōu)點(diǎn)是非常靈活,用戶(hù)可以從上至下地控制系統(tǒng)的結(jié)構(gòu)和內(nèi)容,但是缺點(diǎn)也顯而易見(jiàn),就是開(kāi)發(fā)門(mén)檻過(guò)高。
eSuperMap的數(shù)據(jù)源為Supermap公司自行設(shè)計(jì)的PMF格式,PMF不依賴(lài)于任何數(shù)據(jù)庫(kù)技術(shù),文件緊湊,可移植性強(qiáng),更適合在嵌入式設(shè)備上使用。一個(gè)PMF文件存放一個(gè)數(shù)據(jù)源、一個(gè)線型庫(kù)、一個(gè)符號(hào)庫(kù)和若干個(gè)地圖。在eSuperMap中提供了一個(gè)專(zhuān)門(mén)用來(lái)轉(zhuǎn)換地圖數(shù)據(jù)的工具Toolkit,可以將PC上Supermap常用的SDB文件格式轉(zhuǎn)換為PMF格式,此外還可以轉(zhuǎn)換相關(guān)的圖元信息,由此就可以保證PDA和PC上數(shù)據(jù)源的交互,轉(zhuǎn)換完畢的數(shù)據(jù)可以使用eSupermap提供的PMFView進(jìn)行査看和編輯。
在eSuperMap中,可以按邏輯關(guān)系把類(lèi)庫(kù)中的各個(gè)類(lèi)分為幾個(gè)大類(lèi),每個(gè)大類(lèi)又可以根據(jù)具體的功能分為可以用編程語(yǔ)言(VC++/EVC++)描述的類(lèi)。首先,把eSuperMap中的類(lèi)分為以下七個(gè)大類(lèi)。
(1)數(shù)據(jù)組織/數(shù)據(jù)訪問(wèn)相關(guān)類(lèi):負(fù)責(zé)從數(shù)據(jù)源中獲取數(shù)據(jù)和組織數(shù)據(jù),是eSupermap的核心類(lèi)群。其中比較常用的類(lèi)有: ①CSePMF,主要負(fù)責(zé)打開(kāi)、讀取、保存和刪除數(shù)據(jù)源; ②CSeMaps,主要負(fù)責(zé)地圖的創(chuàng)建、保存、修改、刪除、添加、獲取等操作; ③CSeDataSource,專(zhuān)門(mén)管理數(shù)據(jù)源,在其中又內(nèi)置了專(zhuān)門(mén)處理數(shù)據(jù)源中各個(gè)數(shù)據(jù)集的CSeDataset; ④為了方便處理數(shù)據(jù)集中的各數(shù)據(jù)記錄,又設(shè)置了專(zhuān)門(mén)處理各種記錄的CSeRecordset。
添加微信好友, 獲取更多信息
復(fù)制微信號(hào)
(2)地圖顯示/操作相關(guān)類(lèi):負(fù)責(zé)處理地圖的繪制和放大縮小等瀏覽操作,同樣是eSupermap中不可缺少的類(lèi)群。其中,最核心的類(lèi)為CSeMapWnd,它是eSuperMap類(lèi)庫(kù)的外在體現(xiàn),大多數(shù)與地圖顯示相關(guān)的操作基本上都要通過(guò)它來(lái)實(shí)現(xiàn),在CSeMapWnd中有保存著所繪圖參數(shù)和 *** 的CSeDrawParameters類(lèi);用于顯示活動(dòng)的、相對(duì)位置不固定的、臨時(shí)使用的實(shí)體的CSeTrackingLayer類(lèi),負(fù)責(zé)大多數(shù)的地圖顯示操作的CSeLayer。
(3)基本地圖實(shí)體相關(guān)類(lèi): 負(fù)責(zé)專(zhuān)門(mén)描述eSupermap中的各類(lèi)矢量幾何實(shí)體,所有的類(lèi)都由CSeGeometry這個(gè)抽象類(lèi)繼承下來(lái)。
(4)GPS類(lèi):eSupermap提供的專(zhuān)門(mén)對(duì)GPS模塊信息進(jìn)行讀取和處理的類(lèi)群。
(5)地圖投影相關(guān)類(lèi):負(fù)責(zé)進(jìn)行經(jīng)緯度坐標(biāo)與投影坐標(biāo)之間的轉(zhuǎn)換,和在不同大地參照系下的經(jīng)緯度坐標(biāo)之間進(jìn)行轉(zhuǎn)換。
(6)其他應(yīng)用類(lèi):專(zhuān)門(mén)保留錯(cuò)誤代碼類(lèi)、空間分析類(lèi)、內(nèi)存分配類(lèi)等開(kāi)發(fā)時(shí)經(jīng)常需要用到的類(lèi)。
(7)各類(lèi)之間有相應(yīng)的邏輯關(guān)系圖,通過(guò)它們可以明確各類(lèi)之間的邏輯關(guān)系,為工程應(yīng)用中類(lèi)庫(kù)的正確使用打下基礎(chǔ)。
來(lái)源:開(kāi)源地理空間基金會(huì)中文分會(huì)
來(lái)源鏈接:https://www.osgeo.cn/post/1a64d
本站聲明:網(wǎng)站內(nèi)容來(lái)源于 *** ,如有侵權(quán),請(qǐng)聯(lián)系我們,我們將及時(shí)處理。