cesiumjs加载geojson+建筑物分层设色

需求:噪声管理项目,在项目的实际开发过程中,需要展示某一个地方的三维建筑物分布情况,并且一个建筑物要根据楼层不同高度设置不同的颜色,决定使用基于地图的三维框架cesium来实现。。在cesium官网上面,有通过加载geojson展示三维建筑物的实例,代码如下所示,(官网例子一个建筑物对应一个实体,一个建筑物只能有一种颜色,这跟建筑物分层设色的需求并不符合,还有待深究。。)

var neighborhoodsPromise = Cesium.GeoJsonDataSource.load('./SampleData/building.geojson', geojsonOptions);
    var neighborhoods;
    neighborhoodsPromise.then(function(dataSource) {
   
        // Add the new data as entities to the viewer
        var city = viewer.dataSources.add(dataSource);//向地图加载要素
        neighborhoods = dataSource.entities;  //获取要素中的实体,给实体一定的高度
        // Get the array of entities
        var neighborhoodEntities = dataSource.entities.values;
        for (var i = 0; i < neighborhoodEntities.length; i++) {
            var entity = neighborhoodEntities[i];
            if (Cesium.defined(entity.polygon)) {
                // 给每个实体不同的配色,每个实体对应一个建筑物,每个建筑物则对应一种颜色,根据建筑物高度不同,设置不同显示颜色
                entity.name = entity.properties.neighborhood;
                if(entity.properties.height>=0 && entity.properties.height<=4){
                    entity.polygon.material = Cesium.Color.AQUA;
                }else if(entity.properties.height>4 &&
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值