使用此开源 SDK 开发 GIS 应用程序
简介:NASA 开发的开源 World Wind Java (WWJ) SDK 为地理信息系统(Geographic Information Systems,GIS)社区提供了新的可能性。World Wind 是一种使用 Java 语言和 OpenGL 编写的 3D 交互式地球查看工具,使用户可以从外太空观看地球上的任何地方。本文将讲述想要增强基于 Eclipse 的 应用程序的 GIS 开发人员如何将 WWJ SDK 作为插件嵌入到 Eclipse 中。
WWJ SDK 是一种构建在 Java OpenGL (JOGL) 扩展之上的 3D 图形地球仪。WWJ 类层次结构的核心是 GLCanvas 的 子类 WorldWindowGLCanvas。而 GLCanvas 是一个 Abstract Window Toolkit (AWT) 组件。
WWJ 对 AWT 的依赖性对于想在 Eclipse 应用程序中使用 WWJ 的 GIS 开发人员来讲是一个障碍。您 可能知道,Eclipse 使用了 Standard Widget Toolkit (SWT),而 SWT 与 AWT 不兼容。而且,AWT 和 JOGL 紧密集成,这使得很难从 AWT 移植到 SWT。本文将提供一种解决方案,使您可以在 Eclipse 应用 程序中使用 WWJ SDK。
进入 SWT/AWT 桥梁
SWT 因能够快速构建可伸缩和强大的客户端应用程序而迅速成为一种顶级窗口工具包。SWT 和 AWT/Swing 都在争当 Java 用户界面开发的权威。由于它们各有利弊,Eclipse 基金会意识到有必要构建 一座允许在 SWT 中嵌入 AWT/Swing 组件的 SWT/AWT 桥梁。从 Eclipse version 3.0 开始,这座桥梁就 已成为 SWT 的一部分。这个的 API 位于 org.eclipse.swt.awt 包中(参见 参考资料)。
SWT/AWT 桥梁是通过 SWT 将基于 AWT 的 World Wind 3D Globe 嵌入到 Eclipse 应用程序中所需的 关键组件。
WWJ 3D Earth 的 Eclipse 视图
借助 SWT 中已存在的 SWT/AWT 桥梁,可以轻松地将 WWJ 3D Earth 嵌入到您的视图中。清单 1 演示 执行此任务的基本 Eclipse 视图: