面向企業級的開源
WebGIS解決方案--MapGuide(對比分析)
在技術特點、功能、架構等方面,MapGuide與其他WebGIS產品有什麼區別?本文主要從此角度來介紹MapGuide的特性,以供參考。
本人選擇了比較熟悉的幾款WebGIS產品:MapServer(開源項目)、MapXtreme(MapInfo)、ArcIMS(ESRI)、
ArcServer(ESRI),與MapGuide(開源項目)相比較。
由於本人未對國內的WebGIS產品如SuperObjects.Net、MapGIS-IMS實踐過,所以沒有包含在對比產品內,如有閱者熟悉可提供資
料,萬分感謝。
1、產品總體概述
1)MapServer
開源項目;跨平台;支援ASP.NET、JAVA等的應用開發;架構結構可參閱本人有關對MapServer
的分析文章。
2)MapXtreme
MapInfo商用平台(10-20W/1 RMB);包含MapXtreme
for Windows和MapXtreme for Java兩個版本;MapXtreme for
Windows無C/S、B/S架構之分,既為C/S嵌入式開發的GIS產品,又為WebGIS產品;支援ASP.NET、JAVA等的應用
開發。
3)ArcIMS
ESRI商用產品(15+/-W/1
RMB);跨平台支援;支援ASP.NET、JAVA等的應用開發;體系架構可參閱ESRI產品說明書。
4)ArcServer
ESRI商用產品;跨平台支援;ArcIMS的企業級版本;支援ASP.NET、JAVA等的應用開發;體系架構可參閱ESRI產品說明書。
5)MapGuide
開源項目;跨平台支援;MapServer的Enterprise版本;支援ASP.NET、JAVA等的應用開發;體系架構可參閱“面向企業級的開源
WebGIS解決方案--MapGuide(介紹)”。
2、
總體功能對比
通過功能參數對比分析。選擇的技術參數綜合了各大WebGIS產品服務特點,包含:
1)Metadata/Resource:中繼資料服務/資源服務
2)Feature:要素特性(MapTip功能表現、向量流資料表現)
3)Image:地圖繪製服務
4)Rendering:圖層渲染服務
5)Editing:地圖編輯服務
6)Routing:路徑服務
7)Query:查詢服務
8)Extract:裁減向量資料並支援下載服務
9)WMS:支援並提供WMS服務
10)WFS:支援並提供WFS服務
11)DataInteroperability:支援多來源資料訪問,提供資料互操作服務
12)Tile:瓦片地圖服務
|
|
MapGuide |
MapServer |
MapXtreme |
ArcIMS |
ArcServer |
|
Metadata/Resource |
Y |
Y |
Y |
Y |
Y |
|
Feature |
Y |
N |
? |
Y |
Y |
|
Image |
Y |
Y |
Y |
Y |
Y |
|
Rendering |
Y |
Y |
Y |
Y |
Y |
|
Editing |
? |
N |
Y |
* |
Y |
|
Routing |
? |
N |
* |
* |
Y |
|
Query |
Y |
Y |
Y |
Y |
Y |
|
Extract |
? |
N |
Y |
Y |
Y |
|
WMS |
Y |
Y |
Y |
Y |
Y |
|
WFS |
Y |
Y |
Y |
Y |
Y |
|
DataInteroperability |
Y |
Y |
N |
* |
* |
|
Tile |
Y |
* |
N |
N |
N |
參數說明:
Y-- 滿足
N-- 本身不能滿足
? -- 不知
* --
本身不滿足,可通過現有技術整合滿足
對比表中*項解釋如下:
1)MapServer-----Tile:基於MapServer的Ka-Map應用程式框架可以實現;
2)MapXtreme-----Routing:通過MapInfo Routing J Server或開發擴充演算法實現;
3)ArcIMS-----Editing:通過ArcSDE Client API實現簡單編輯;
4)ArcIMS-----Routing:通過NetEngine或開發擴充演算法實現;
5)ArcIMS-----DI:通過DDE(FME的Web產品,ESRI採購SAFE的FME產品)實現;
6)ArcServer-----DI:通過ESRI的DI模組(FME)實現;
另外,ArcIMS的Feature
Service和Image Service不能共用,ArcIMS以Feature
Server發布的WebGIS可實現MapTip功能,但需JVM支援;MapGuide即可以Image繪製地圖,又可實現MapTip功能,如下
圖:
通過對比表分析,可以得出:MapGuide在DataInteroperability和Tile具備獨特的優勢(實現Tile不存在技術難度,但將
Tile作為定製服務封裝於產品之中僅MapGuide,其他產品本身不具備)。
MapGuide通過FDO(FeatureDataObjects)
Provider實現多源、不同空間資料結構的統一訪問和表現,而不必將其他空間資料轉換成私人的空間資料模型資料。
3、體系分層對比
1)資料訪問通道
比較對象:FDO、FME、ArcSDE、MapInfo SpatialWare
支援訪問資料格式的種類FME >= FDO > ArcSDE = SpatialWare;
作為通用的空間資料模型工具,FDO與FME相當,目前FDO支援的資料類型有SDF、SHP、GDAL、ODBC、MySQL、ArcSDE、WMS、
WFS等,由於其開源性,可擴充Provider;FME支援幾乎多數主流GIS產品資料格式的ETL(Extract、Transform、
Load)。由於產品(項目)定位不同,FDO僅作為MapGuide的資料訪問組件使用(目前還未挖掘其類似FME的潛力),FME的系列工具供其他
GIS開發商整合(ESRI的DI模組就是FME)。
作為私人資料模型的訪問通道,ArcSDE與MapInfo
SpatialWare相當。
2)空間服務與造價
可參閱2的總體功能對比表。
從總體功能
來說:ArcServer > MapGuide ? MapXtreme ? ArcIMS
ArcServer在空間分析功能上遠遠超過其他產品。
如果圍繞空間資料的管理(採用企業級資料庫管理空間資料)、採集更新、資料共用發布三大功能體系來實施GIS項目,那麼可採用參考組合如下所示:
-----ArcServer
ArcServer + ArcSDE + 企業級資料庫
-----ArcIMS
ArcIMS + ArcSDE + 企業級資料庫 +
(ArcEngine)
ArcIMS +
ArcSDE可以構建功能相對有限的資料管理、資料擷取應用系統;通過部署ArcEngine,可構建強大的類似ArcGIS
Desktop的應用體系。
-----MapXtreme
MapXtreme
for Windows + 企業級資料庫
MapXtreme for Java + MapX + 企業級資料庫
前面提到:MapXtreme for Windows無C/S、B/S架構之分,既為C/S嵌入式開發的GIS產品,又為WebGIS產品。
-----MapGuide
MapGuide + PostgreSQL(MySQL)+
QGIS
根據以上軟體部署,實際軟體造價高低依次:
ArcServer
> ArcIMS > MapXtreme > MapGuide(基本為開源公事包)
而以上部署存在的項目風險強弱:MapGuide > ArcServer ? ArcIMS ? MapXtreme
4、總結
1)MapGuide在功能服務上有三大優勢:
--Feature
與Image的共用服務;
--MapGuide的DI特性;
--MapGuide的Tile服務;
2)
採用MapGuide實施GIS項目軟體造價相對較低,但承擔的風險同時也是較大的。