本文讲述如何使用国际开源项目构建一个完整的GIS(地理信息)应用系统。
通常的GIS应用系统包括:GIS内核、空间数据导入/转换、空间数据引擎、应用服务器、桌面应用程序、Web应用程序、(移动设备应用程序),实际应用中可以根据需要进行取舍。
1、GIS内核 Geotools Geotools是一套基于Java平台的开源GIS API中间件,实现了完整的GIS底层功能。
2、空间数据导入/转换地理数据的获取 地理数据来自文件、数据库和WMS/WFS服务器。
文件方式:支持读取的地理数据文件:ESRI Shape、Mapinfo Tab/Mif、Geomedia Access等,建议使用Shape文件格式,Oracle和PostgreSQL提供Shape文件导入数据库的程序。
WMS/WFS服务器:Internet上有很多开放的GIS应用服务器,例如NASA、InterGraph、TerraServer等,通过它们获取各种免费地图资源。
Google Map资源:Google Map没有采用标准的WMS/WFS协议,可以通过调用开放的Google Map API,附加自定义的WMS/WFS图层,实现应用目的。例如:通过Google Map可以免费获取高分辨的Google Map卫星地图。
3、空间数据引擎
开源:PostgreSQL(PostGIS)、MySQL(4.1以上)
商业:Oracle、DB2、ArcSDE
开源商业空间数据库推荐使用PostgreSQL。
使用商业空间数据库引擎,例如Oracle Spatial、ArcSDE,可以非常方便的处理地理数据,更好的处理海量数据,以及与现有商业软件共享数据。
4、应用服务器 Geoserver Geoserver是一个基于J2EE的开放的GIS应用服务器,实现了OGC(Open Geospatial Consortium)制定的WMS和WFS(WFS-T)规范,Geoserver是整个GIS应用系统的中枢部分,承担大部分业务处理任务。(新版本(1.3.3)增加了对Google Earth KML/KMZ的支持。)
需要注意的是,Geoserver不只是WebGIS服务器,它可以为桌面应用程序(Udig、Mapinfo)或移动设备(支持J2ME的PDA、手机)提供地图支持。
5、桌面应用程序(C/S) Udig、GVSig
Udig是一个使用Eclipse RCP和GeoTools构建的桌面地理信息系统,采用Eclipse SWT图形组件,具有更快的运行速度。Udig可以直接读取Shape文件,访问DB2或Oracle空间数据库,访问OGC WMS/WFS服务器。 Udig提供浏览、查询、编辑、测量等基本的GIS操作功能。
6、Web应用程序(B/S) Mapbuilder Mapbuilder是一个采用AJAX(Asynchronous JavaScript and XML)技术开发的WebGIS客户端,它的内部结构基于MVC(Model-View-Controller),具有良好的可读性和可扩展性,兼容Firefox 1.0+, Internet Explorer 6.0+, Mozilla 1.3+, Navigator 6+等浏览器。
7、移动客户端 Spot Spot是一款基于移动设备的地图和定位软件,地图通过OGC WMS获取,并且提供了蓝牙GPS接口。该软件属于共享软件,使用GPS接口需要付费。
摘自:http://www.blogjava.net/siriusfx/archive/2006/08/17/64209.html
使用开源项目打造GIS应用系统