github可视化_Cesium数据可视化-仓储调度系统可视化部分(附github源码)

本文介绍如何使用Cesium进行仓储调度系统的可视化展示,结合GPS数据动态绘制物资运输轨迹和仓库位置。这是一个开发中的原型系统,核心代码利用Entity的position属性实现动态点的动画效果。读者可从文章获取源码并了解更多详情。
摘要由CSDN通过智能技术生成

Cesium数据可视化-仓储调度系统可视化部分

目的

仓储调度系统需要一个可视化展示物资运输实况的界面,需要配合GPS设备发送的位置信息,实时绘制物资运输情况和仓储仓库。因此,使用Cesium可视化该数据。

说明

这只是开发过程中的原型系统。

原理简介

点,线,图片的绘制就不细说了。

动态点绘制是利用Entity的position属性可以制定某时间点的出现位置,形成动画效果。

核心代码如下:

/** 
         * 计算 property 
         * @param source 
         * @returns {SampledPositionProperty|*} 
         */ 
 function computeFlight(source) { 
 // 取样位置 相当于一个集合 
 var property = new Cesium.SampledPositionProperty(); 
            property.setInterpolationOptions({ 
                interpolationAlgorithm: Cesium.LagrangePolynomialApproximation, 
                interpolationDegree: 2 
            }); 
 for (var i = 0; i < source.length; i++) { 
 var time = Cesium.JulianDate.addSeconds(start, source[i].time, new Cesium.JulianDate); 
 var position = Cesium.Cartesian3.fromDegrees(source[i].longitude, source[i].dimension, source[i].height); 
 // 添加位置,和时间对应 
                property.addSample(time, position); 
            } 
 return property; 
        }


// 动态点 
            viewer.entities.add({ 
                position: property, 
                name: "复兴号", 
                description: "运载量:100t", 
                path: { 
                    show: true, 
                    leadTime: 0, 
                    trailTime: 10, 
                    width: 5, 
                    resolution: 5, 
                    material: new Cesium.PolylineOutlineMaterialProperty({ 
                        color: Cesium.Color.fromAlpha(Cesium.Color.RED, 1), 
                        outlineWidth: 1, 
                        outlineColor: Cesium.Color.red 
                    }) 
                }, 
                availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({ 
                        start: Cesium.JulianDate.addSeconds(start, data[j][0].time, new Cesium.JulianDate), 
                        stop: Cesium.JulianDate.addSeconds(start, data[j][data[j].length - 1].time, new Cesium.JulianDate), 
                        isStartIncluded: true, 
                        isStopIncluded: false, 
                        data: Cesium.Cartesian3.fromDegrees(110, 39) 
                    })] 
                ) 
            }); 

具体详情读源码即可

更多详情见下面链接

Cesium数据可视化-仓储调度系统可视化部分(附github源码) - 小专栏​xiaozhuanlan.com
d344a39057ae7fc805f486750cfa0d50.png

文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波

GIS之家店铺:GIS之家

GIS之家源码咨询:GIS之家webgis入门开发系列demo源代码咨询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值