World Wind Java 可以加载本地的文件,也可以加载网络的文件资源,只要是以文件提供的统称文件数据源。
Shape文件
Shape文件实际是一组文件,包含图元文件(.shp)、属性文件(.dbf)、索引文件(.shx)和投影文件(.prj)。
在2.0及之前的版本,World Wind Java首先使用ShapefileLoader类完成对Shape文件的读取和加载,在通过createLayerFromSource方法创建RenderableLayer,最后将创建的Layer加载Layers上。
代码如下:
package wwjTest;
import gov.nasa.worldwind.layers.Layer;
import gov.nasa.worldwindx.examples.util.ShapefileLoader;
public class wwjShape extends wwjBasics {
protected Layer shapeLayer;
public boolean AddShapeData(String filePath, String layerName,double maxActiveAltitude,double minActiveAltitude){
boolean rtnResult = false;
try{
ShapefileLoader SFL = new ShapefileLoader();
this.shapeLayer = SFL.createLayerFromSource(filePath);
shapeLayer.setName(layerName);
shapeLayer.setMaxActiveAltitude(maxActiveAltitude);
shapeLayer.setMinActiveAltitude(minActiveAltitude);
this.worldWindowGLCanvas.getModel().getLayers().add(shapeLayer);
rtnResult = true;
}
catch(Exception ex){
System.out.println(ex.getMessage());
}
return rtnResult;
}
public wwjShape(){
//增加Shape数据
AddShapeData("shp/world_adm0.shp","国界",33500000,0);
this.layerPanel.update(this.worldWindowGLCanvas);
}
public static void main(String[] args) {
String strTitle = "显示Shape文件";
wwjShape wwjRun = new wwjShape();
wwjRun.setTitle(strTitle);
}
}
运行结果如下:
在2.1版本ShapefileLoader已经被弃用。shapefile不包含颜色和其他可视属性的标准定义。尽管有些shapefile包含每个记录的键值属性中的颜色信息,ShapefileLoader并没有试图解释信息。取而代之的是,由Shap