空间数据可视化

1、Entity

Entity 是DataEarth API里最基本的模型添加方式,基于参数化构建直接添加在场景中。下面以添加一个BOX为例:

var redBox = viewer.entities.add({    
position: Cesium.Cartesian3.fromDegrees(-107.0, 40.0, 300000.0),    
box : {    
dimensions : new Cesium.Cartesian3(4000.0, 300000.0, 500000.0),    
material : Cesium.Color.RED.withAlpha(0.5), }});

2、glTF

glTF通过提供一种高效、易扩展、可协作的格式,与其它传统三维建模格式相比,glTF格式更利于Web端开发展示。

var model = scene.primitives.add(Cesium.Model.fromGltf({    
url : 'modeldata/daedata.gltf',    
modelMatrix : modelMatrix,    
scale : 3.0    
}));

glTF格式明码,可直接查看其数据组织内容。

3、KML

KML可以添加点、线、面、多边形和模型等,在空间环境中展示标注运用广泛,DataEarth提供了专门的类读取加载KML数据到场景中

 viewer.dataSources.add(    
 Cesium.KmlDataSource.load('../ampleData/kml/eiffel-tower.kml'))

4、GeoJson、TopoJSON

相比于传统的json格式,GeoJSON、TopoJSON更偏向于地理数据结构编码,用于描述地理信息数据,并可根据属性实时调整可视化效果。DataEarth可以承载海量json数据。

viewer.dataSources.add(Cesium.GeoJsonDataSource.load('../../SampleData/ne_10m_us_states.topojson', {
stroke: Cesium.Color.HOTPINK,
fill: Cesium.Color.PINK.withAlpha(0.5),
strokeWidth: 3
}));

5、3DTiles

3Dtiles用于前端大数据量渲染的支持方案,主要用于解决Web端数据加载瓶颈问题。3Dtiles在glTF基础上提供了LOD能力。

var tileset = new Cesium.Cesium3DTileset({    
url: '../../SampleData/Cesium3DTiles/Tilesets/Tileset/tileset.json'    
});

3Dtile除了提供数据上的加载,还支持数据的样式调整表达,根据属性字段进行符号化过程。

tileset.style = new Cesium.Cesium3DTileStyle({    
color: {    
conditions: [    
['\${height} \>= 300', 'rgba(45, 0, 75, 0.5)'],    
['\${height} \>= 200', 'rgb(102, 71, 151)'],    
['true', 'rgb(127, 59, 8)']    
]}    
});

6、a3m

a3m格式数据是AIRLOOK推出的一种三维瓦片高效渲染格式,具备了诸多优势:

(1)、体积更小,a3m由于在LOD分级基础之上,对数据可以进行不同程度的压缩,在保留数据渲染效果的前提下,大大提高了同一份数据的空间占有率,Web端加载更流畅;

(2)、保密性好,a3m相比于一般开源格式,采用了加密策略,对数据的加密效果更好,随着格式的公开,用户可以自定义加密规则以达到数据保护的目的

(3)、功能完备,a3m数据针对运用场景,开发了更多功能,包括不限于分层设色、开挖功能、裁剪功能等,降低了开发门槛与成本

var tileset = new Cesium.DE3DTileset({  
url: '../../SampleData/huaian/model.json'
});  
viewer.tilesetLayers.add(tileset);

a3m加载倾斜数据效果:

results matching ""

    No results matching ""