空间数据管理是三维场景开发中的主要内容,其包含对数据的创建、增加、修改和删除等
Entity方法,它让开发者专注于数据的呈现,而不必担心底层的可视化机制
一、新增空间数据
Entity方法中的add可以对同一场景的不同位置添加多个图形
var redPolygon = viewer.entities.add({
// polygon属性设置一个多边形
polygon:{
// 放入多边形的位置信息,一个多边形实际上是有多个点连接构成的
hierarchy:Cesium.Cartesian3.fromDegreesArray([116.39,39.91,116.39,39.915,116.395,39.91]),
material:Cesium.Color.RED,
// 可以将绘制好的多变形在垂直方向进行拉伸,如果绘制的本身是平面则不可以使用
extrudedHeight:200
}
})
效果图:
二、删除空间数据
Entity方法中的remove可以删除指定模型
var redPolygon = viewer.entities.add({
// polygon属性设置一个多边形
polygon:{
// 放入多边形的位置信息,一个多边形实际上是有多个点连接构成的
hierarchy:Cesium.Cartesian3.fromDegreesArray([116.39,39.91,116.39,39.915,116.395,39.91]),
material:Cesium.Color.RED,
// 可以将绘制好的多变形在垂直方向进行拉伸,如果绘制的本身是平面则不可以使用
extrudedHeight:200
}
})
var bluePolygon = viewer.entities.add({
// polygon属性设置一个多边形
polygon:{
// 放入多边形的位置信息,一个多边形实际上是有多个点连接构成的
hierarchy:Cesium.Cartesian3.fromDegreesArray([116.33,39.93,116.35,39.955,116.355,39.90]),
material:Cesium.Color.BLUE,
// 可以将绘制好的多变形在垂直方向进行拉伸,如果绘制的本身是平面则不可以使用
extrudedHeight:200
}
})
var yellowPolygon = viewer.entities.add({
id:'yellowModel',
// polygon属性设置一个多边形
polygon:{
// 放入多边形的位置信息,一个多边形实际上是有多个点连接构成的
hierarchy:Cesium.Cartesian3.fromDegreesArray([116.375,39.905,116.37,39.915,116.375,39.92]),
material:Cesium.Color.YELLOW,
// 可以将绘制好的多变形在垂直方向进行拉伸,如果绘制的本身是平面则不可以使用
extrudedHeight:200
}
})
//删除蓝色三角形
viewer.entities.remove(bluePolygon)
因为我们指定了bluePolygon变量,意味着蓝色三角形会被删除,如下图效果
删除前
删除后
Entity方法中的removeAll可以移除场景内的所有实体
//移除场景内的所有实体
viewer.entities.removeAll()
效果图:
三、修改空间数据
对单独模型属性进行修改,通过getById获取绑定的实体
var yellowPolygon = viewer.entities.add({
id:'yellowModel',
// polygon属性设置一个多边形
polygon:{
// 放入多边形的位置信息,一个多边形实际上是有多个点连接构成的
hierarchy:Cesium.Cartesian3.fromDegreesArray([116.375,39.905,116.37,39.915,116.375,39.92]),
material:Cesium.Color.YELLOW,
// 可以将绘制好的多变形在垂直方向进行拉伸,如果绘制的本身是平面则不可以使用
extrudedHeight:200
}
})
// 对单独模型属性进行修改,通过getById获取绑定的实体,将黄色三角形的颜色变为红色
viewer.entities.getById('yellowModel').polygon.material = Cesium.Color.RED
修改前:
自改后: