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

Posted rainbow70626

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]World Wind Java开发之五——读取本地shp文件相关的知识,希望对你有一定的参考价值。

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

 

/**
	 * 
	 * 方法名称: AddShapeData ;
	 * 方法描述:  添加本地shape文件 ;
	 * 参数 :@param filePath :文件路径 
	 * 参数 :@param fileName :文件名
	 * 参数 :@param layerTitle :图层名称
	 * 参数 :@param maxActiveAltitude :图层可见最高视点
	 * 参数 :@param minActiveAltitude :图层可见最低视点
	 * 参数 :@return 
	 * 返回类型: boolean ;
	 * 创建人:James;
	 * 创建时间:2014-11-25 下午5:19:48;
	 * @throws
	 */
	public boolean AddShapeData(String filePath, String fileName,
			String layerTitle, double maxActiveAltitude,
			double minActiveAltitude)
	{
		boolean result = false;
		try
		{

			ShapefileLoader pShapefileLoader = new ShapefileLoader();
			pShapeLayer = pShapefileLoader.createLayerFromSource(filePath
					+ fileName + ".shp");
			pShapeLayer.setName(layerTitle);// 设置图层名称
			pShapeLayer.setMaxActiveAltitude(maxActiveAltitude);
			pShapeLayer.setMinActiveAltitude(minActiveAltitude);
			
			worldWindowGLCanvas.getModel().getLayers().add(pShapeLayer);
			//添加图层树节点
			pVectorNode.add(new DefaultMutableTreeNode(layerTitle));
			pLayerTree.updateUI();
			result = true;

		}

		catch (Exception e)
		{
			// TODO: handle exception
			System.out.println(e.getMessage());

		}
		return result;
	}

效果图如下图所示:

 

技术分享

作者:liushuo_whu 发表于2014-11-25 18:42:13 原文链接

以上是关于[转]World Wind Java开发之五——读取本地shp文件的主要内容,如果未能解决你的问题,请参考以下文章

World Wind Java开发之二 使用Winbuilders设计图形用户界面(转)

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

[转]仿World Wind构造自己的C#版插件框架——WW插件机制精简改造

在Win7 x64环境中将World Wind Java SDK 2.1.0嵌入到Eclipse中的方法

JavaFX,NASA World Wind:如何将 JavaFX 组添加到 NASA World Wind Model

Java显式锁学习总结之五:ReentrantReadWriteLock源码分析