http://blog.csdn.net/giser_whu/article/details/41484433
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;
- }
效果图如下图所示: