1、概括
MapWinGIS主要有兩部分組成:MapWindow GIS Desktop 和 MapWinGIS 組件庫。(下圖爲MapWindow GIS 軟件體系結構圖):
2、分析
2.1、MapWinGIS組件庫它是獨立與MapWindos GIS桌面應用程序和開發平臺的軟件組件集,它的開發環境是VS.net2003,他是類似Argos 的ArcObject(AO)組件集,我們可以稱它爲“MWO”。
2.2、MapWindow GIS DesktopMapWindow這個桌面應用程序是基於MapWinGIS 核心組件庫(MapWinGIS.ocx)的應用程序,它完成了用戶常用的一些GIS基本空間數據瀏覽功能(如圖1)以及一些擴展功能,這些擴展功能主要是通過MapWindow插件來實現的。
MapWindow基本功能:主要包括空間數據瀏覽:選擇、放大、縮小、漫遊、滿屏顯示、屬性表編輯器、距離量算等等。
圖1 MapWindow用戶界面
MapWindow插件:用戶可以在MapWindow應用程序中擴展功能,MapWindow應用程序中包括了很多插件來擴展MapWindow的功能,例如:
GIS Tools:三部分組成,Raster、Vector、Image,主要包括柵格數據、矢量數據以及Image數據的處理,例如:ShapeFile的投影分配、重投影、矢量數據中多邊形面積計算和多邊形切割等。
ShapeFile Editor:主要功能包括:創建一個新的ShapeFile、數據編輯(添加、刪除、修改元素等)。
Grid Wizard:導入和轉出各種不同格式的格網數據。
Feature Identifier and Labeler :標示元素和添加標記。
MapWindow GIS中還提供了很多功能擴展插件,它們都在插件編輯器的插件列表中(如下圖)。
圖2 插件編輯器
2.3、MapWindow GIS擴展模塊用戶自制插件:用可以在VB.net、VC++.net中開發基於MapWinGIS組件庫的自制插件,然後通過插件編輯器添加到MapWindow GIS桌面應用程序中。
MapWindow GIS 腳本編輯:在這個裏面用戶可以使用的語言有:VB.net和C#。通過編譯輸出可以爲腳本和插件。
圖3 腳本編輯器
2.4、用戶自制應用程序因爲MapWinGIS提供了一個GIS核心組件庫“MapWinGIS.ocx”,用戶可以開發基於該組件庫的應用程序,在該組件庫上進行二次開發,按照自己的需求開發自己的應用程序。該組件庫可以被添加到VB.net、VC,甚至所有支持ActiveX Control的開發語言。下圖是一個基於該核心組件庫的VB.net應用程序示例:
注意:
參考文獻:
1.MapWindow官方網站:http://www.mapwindow.org/
2.MapWindowOverview.pdf
3 Quick_Guide_to_MapWindow_GIS.pdf
4.UsingMapWinGIS.pdf
本文概述了開源GIS系統MapWinGIS的桌面應用程序(Desktop)MapWindow的系統結構,結合MapWindow 桌面系統、源代碼以及幫助文檔分析該軟件的系統結構、框架。