World Wind Java开发之一

参照《World wind Java三维地理信息系统开发指南随书光盘》以及官网论坛,开始学习World Wind Java开发。

第一个demo

//基础类
public class VGE_GFBasicClass extends JFrame
{
	protected WorldWindowGLCanvas worldWindowGLCanvas; //WorldWind 画布
	protected StatusBar statusBar;					//状态栏
	protected Model modelEarth;
	protected LayerPanel layerPanel;     			//图层面板

	public VGE_GFBasicClass ()
	{
		//按指定尺寸创建画布
		Dimension canvasSize = new Dimension(800, 600);
		this.worldWindowGLCanvas = new WorldWindowGLCanvas();
		this.worldWindowGLCanvas.setPreferredSize(canvasSize);

		// 创建Earth模型,并与画面绑定
		modelEarth = (Model) WorldWind
				.createConfigurationComponent(AVKey.MODEL_CLASS_NAME);
		this.worldWindowGLCanvas.setModel(modelEarth);
		this.add(this.worldWindowGLCanvas, BorderLayout.CENTER);

		// 增加状态栏
		this.statusBar = new StatusBar();
		this.add(statusBar, BorderLayout.PAGE_END);
		this.statusBar.setEventSource(worldWindowGLCanvas);

		// 显示图层面板
		layerPanel = new LayerPanel(worldWindowGLCanvas);
		this.add(layerPanel, BorderLayout.WEST);

		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		this.setSize(canvasSize);
	}
	public static void main(String[] args)
	{
		String strTitle = "…………子系统";
		VGE_GFBasicClass WWRun = new VGE_GFBasicClass();
		WWRun.setTitle( strTitle + ":" + WWRun.getClass().getName());
	}
}

直接运行即可,效果图如下:

时间: 2024-10-12 14:46:06

World Wind Java开发之一的相关文章

World Wind Java开发之六——解析shape文件(上)

最近一直忙于导师项目的事情了,几天没更新了,昨天和今天研究了下WWJ解析shp文件的源代码,现在记录下,希望可以帮到更多的人! 上一篇博客:World Wind Java开发之五--读取本地shp文件只讲了如何加载shp文件,没有涉及到shp文件的解析,我们这篇博客紧接上一篇博客,利用WWJ来解析shp文件.首先来看用到的源码包和相关类,如下图所示.解析shp文件主要用到Shapefile(shapefile文件类).ShapefileRecord(shape文件记录类).DBaseRecord

[转]World Wind Java开发之五——读取本地shp文件

World Wind Java 使用IconLayer图层类表现点和多点数据,使用RenderableLayer图层表现线和面数据,一个图层只能对应一组shape文件.World Wind Java首先使用ShapefileLoader类完成对shape文件的读取和加载,再通过createLayerFromSource方法创建RenderableLayer,最后将创建的Layer加在layers上.源码如下: /** * * 方法名称: AddShapeData : * 方法描述: 添加本地sh

World Wind Java开发之五——读取本地shp文件

World Wind Java 使用IconLayer图层类表现点和多点数据,使用RenderableLayer图层表现线和面数据,一个图层只能对应一组shape文件.World Wind Java首先使用ShapefileLoader类完成对shape文件的读取和加载,再通过createLayerFromSource方法创建RenderableLayer,最后将创建的Layer加在layers上.源码如下: /** * * 方法名称: AddShapeData : * 方法描述: 添加本地sh

World Wind Java开发之八——加载本地缓存文件构建大范围三维场景

上一篇博客主要是针对小文件直接导入WW中显示,然而当文件特别大时,这种方式就不太可行.因此要将大文件切片,生成本地缓存,WW可以加载本地缓存文件,保障浏览场景时的流畅性. 1.使用Global Mapper生成WW缓存切片 使用Global Mapper生成WW缓存切片的步骤已上传至使用GlobalMapper生成WW缓存切片,这里不再赘述.生成后的切片可以放在任意文件夹下,目前参考了WWJ自带的例子InstallImageryAndElevationsDemo,暂时将数据放在C:\Progra

World Wind Java开发之四——搭建本地WMS服务器

在提供地理信息系统客户端时,NASA还为用户提供了开源的WMS Server 服务器应用:World Wind WMS Server.利用这个应用,我们可以架设自己的WMS服务并使用自己的数据(也支持缓存转发),这样开发的应用就不必依赖于互联网连接,也可以抛开NASA提供的数据源而独立运行. 1.准备工作 运行WWS服务器需要JDK.JOGL.GDAL包以及World Wind Server压缩包.资源已上传至WorldWind Java配置WMS服务器,请自行下载. 2.安装JDK 随便一搜都

World Wind Java开发之十五——加载三维模型

之前的一篇博客是关于加载粗三维模型的,见http://blog.csdn.net/giser_whu/article/details/43452703,这个地方还存在着不能加载纹理的问题,一直没呢解决.那么WW如何加载常用的三维模型格式(3ds.obj.skp)呢,通过一番搜索,了解到WW可以加载collada的dae格式的三维模型,并且还可以加载kml\kmz文件,那么WW加载三维模型的方法就出来了:首先将其他格式三维模型转换为kmz或kml文件,再加载.这里我是从su的三维模型库中下载的sk

World Wind Java开发之三 显示状态栏信息

先来看下本篇博客索要达到的效果: 找到源码下的gov.nasa.worldwind.util下的StatusBar.java文件,可以看到状态栏显示的信息主要包括视点高度以及对应空间点三维坐标以及是否使用网络等信息.在后续的开发中采用离线模式,因此不需要联网,也不显示网络状态信息.代码依次如下面几幅图所示: 修改完源代码后,将源代码文件导出为jar包,在我们的工程下引用即可.后面如果需要修改源代码,都按这种方式操作:具体操作步骤如下: 需要说明的是导出的时候可以只勾选src文件夹也可以默认.导出

World Wind Java开发之十四——添加WMS地图服务资源

数据是GIS的核心,没有数据一切无从谈起,Internet上有很多在线WMS地图服务资源,我们可以好好利用这些数据资源,比如天地图.必应地图.NASA.OGC数据服务等等. 在我们国家常用的还是天地图的地图服务资源,详见:http://blog.3snews.net/space.php?uid=6955280&do=blog&id=67981,这篇博客列举了一些常用的在线地图服务资源,读者可以自行试下. 1.添加天地图地图服务 由于上篇转载的平常心的博客对WMSTiledImageLaye

World Wind Java开发之十一——加载热点信息(仿Google Earth)

在GE的图层中有一个照片图层,在浏览时可以看到各地的一些图片,我们称之为热点信息,如下图所示: 再来看下本文的实现效果: 效果是不是很像呢,其实实现这个很简单,参照examples中的Balloons就可以很容易的实现,这里我自己封装了BalloonUtil类便于复用,代码很简单都加了注释就不再一一展开了,直接附上源代码,有看不明白的地方可以留言交流哈. /** * @Copyright 2014-2020 @??? **/ package edu.whu.vge.util; import go