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