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;
	}

效果图如下图所示:

时间: 2024-08-06 11:31:15

World Wind Java开发之五——读取本地shp文件的相关文章

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

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

World Wind Java开发之七——读取本地栅格文件(影像+高程)构建三维场景

首先,看下本篇博客要达到的效果图: 下面逐步分析如何加载影像及高程文件. 1.WorldWind Java导入数据包 在src源码文件中找到dataimport包,这个包里面的示例代码演示了如何向WW上加载影像及高程文件.可以看到有import和install两种方式,import是简单的以图层的形式加载到WW上:install是指当文件较大时,将文件以本地缓存的方式加载,这里先以import方式导入影像及高程文件.源码比较简单,这里就不再过多解析了. 2.WWJ加载影像文件 直接给出源码,注释

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开发之六——解析shape文件(上)

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

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 mode

java开发中截取上传文件的文件名和后缀名

java开发中截取上传文件的文件名和后缀名 /** * Return the extension portion of the file's name . * * @see #getExtension */ public static String getExtension(File f) { return (f != null) ? getExtension(f.getName()) : ""; } public static String getExtension(String f

UWP 读取本地XML文件

读取本地XML文件时要将xxx.xml文件的“生成操作”改为“嵌入的资源”会比较好,在手机上运行的话需要改为“内容” <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://WebXml.com.cn/"> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata

读取本地数据库文件

有时候我们可以将类似省份城市的数据库文件存放在assets/文件夹名/××.sql下,当程序在创建数据库时读取该数据库文件,并执行其内的sql语句 在SqLiteOpenHelper类的onCreate方法中调用 executeAssetsSQL(db, "××.sql"); /** * 读取数据库文件(.sql),并执行sql语句 * */ private void executeAssetsSQL(SQLiteDatabase db, String schemaName) { Bu

iOS国家城市选择器 读取本地json文件

最近在做的产品有这么个需求,读取本地json文件中的国家和城市信息,显示到pickerview上,在网上查了一下,发现没有什么合适的可用资源,所以就自己写了一个简单的DEMO. 效果图: 读取本地json的方法如下: + (NSMutableArray *)getCityData { NSArray *jsonArray = [[NSArray alloc]init]; NSData *fileData = [[NSData alloc]init]; NSUserDefaults *UD = [