uDig
uDig 是一个基于 Eclipse RCP 技术构建的开源桌面 GIS 应用框架,提供用户友好的图形界面,支持空间数据访问、编辑和可视化。它原生运行于 Windows、macOS 和 Linux 平台,兼容 WMS、WFS、WPS 等标准 OGC 网络服务以及 GeoRSS、KML、瓦片地图等非标准服务。uDig 既可独立使用,也可通过 RCP 插件机制扩展,或作为插件嵌入现有 RCP 应用。项目采用 Eclipse Public License (EPL) 和 BSD 许可分发。
背景
uDig 是一个成熟的开源桌面 GIS 应用框架,由社区驱动开发,基于 Eclipse Rich Client Platform (RCP) 技术构建。项目名称 'uDig' 是 'User-friendly Desktop Internet GIS' 的缩写,体现了其核心设计理念:为用户提供友好、桌面化、面向互联网的 GIS 解决方案。uDig 最初由加拿大 Refractions Research 公司发起,旨在填补 Java 生态中轻量级、可扩展桌面 GIS 工具的空白。
uDig 采用 Eclipse Public License (EPL) 和 BSD 双许可模式,确保代码的开放性和商业友好性。作为 Eclipse 基金会下的开源项目,uDig 受益于成熟的 RCP 生态系统,能够与 Eclipse 平台的其他工具无缝集成。
核心功能
1. 空间数据访问与可视化
uDig 支持多种空间数据格式的读取和显示,包括 Shapefile、GeoTIFF、PostGIS 数据库、Oracle Spatial 等。用户可以通过拖放操作将数据文件直接加载到地图视图中,无需复杂的配置。2. 网络服务消费
uDig 原生支持 OGC 标准网络服务:- WMS (Web Map Service):加载远程地图服务
- WFS (Web Feature Service):查询和编辑远程地理要素
- WPS (Web Processing Service):执行远程地理处理
- 同时支持 GeoRSS、KML、瓦片地图等非标准服务
3. 数据编辑与样式化
提供基本的空间数据编辑功能,包括要素创建、修改、删除。支持 SLD (Styled Layer Descriptor) 样式定义,用户可以自定义地图符号和渲染规则。4. 插件扩展机制
基于 Eclipse RCP 的插件架构,允许开发者通过 'plug-ins' 扩展 uDig 功能。用户可以从社区下载现成插件,或自行开发定制功能。技术特色
1. 纯 Java 实现
uDig 完全使用 Java 语言开发,利用 GeoTools 库进行核心地理空间操作。这使得 uDig 具有跨平台兼容性,同时能够与 Java 企业级应用集成。2. Eclipse RCP 架构
采用 Eclipse RCP 作为基础框架,带来以下优势:- 模块化设计:功能以插件形式组织,易于管理和扩展
- 可嵌入性:uDig 可作为插件嵌入其他 RCP 应用
- 丰富的 UI 组件:利用 Eclipse SWT/JFace 提供原生外观
3. 面向互联网设计
从一开始就将网络服务作为一等公民,支持从远程服务器直接消费地理空间数据,适合构建分布式 GIS 应用。4. 渐进式分析能力
项目框架设计支持逐步集成复杂分析功能,从基本的空间查询到高级的地理处理,形成渐进式学习曲线。应用场景
1. 桌面 GIS 数据浏览
适合 GIS 分析师、规划人员快速浏览和检查空间数据,支持多种数据源叠加显示。2. 网络服务客户端
作为 WMS/WFS 客户端,用于查看和编辑远程地理空间数据服务,适合需要与 OGC 兼容服务交互的场景。3. 教育科研
由于其开源特性和可扩展性,uDig 常被用于 GIS 教学和科研项目,学生可以学习 GIS 基本原理并参与插件开发。4. 企业集成
通过 RCP 插件机制,uDig 可嵌入企业级 Eclipse 应用,为业务系统提供地理空间可视化能力。实际案例
- Eurobios:路线规划与物流优化
- Line Cleaner:BC 省森林部森林管理应用
- DEWS:海啸早期预警系统
最新动态
uDig 项目持续更新,最新版本为 2.2.0.RC1 候选版本。该版本引入了对 Stamen 地图瓦片的支持,增强了网络地图服务兼容性。项目通过 Twitter (@uDigGIS) 发布更新信息,社区活跃度保持稳定。
uDig 的下载页面提供 Windows 版本直接下载,同时提供旧版本、开发工具包和其他平台版本的下载选项。项目文档包括快速入门指南、Walkthrough 教程和示例数据,帮助新用户快速上手。