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

摘要:
铯数据可视化-仓库调度系统的可视化仓库调度系统需要一个界面来直观地显示材料运输的实际情况。它需要配合GPS设备发送的位置信息,实时绘制材料运输情况和仓库。因此,使用铯来可视化数据。它表明这只是一个开发过程中的原型系统。点、线和图片绘制的原理将不再详细讨论。动态点渲染是使用实体的位置属性来确定时间点的位置,以形成动画效果。
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,
 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)
})]
)
});

具体详情读源码即可

更多详情见下面链接文章

GIS之家小专栏此文章:Cesium数据可视化-仓储调度系统可视化部分(附源码下载)

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

免责声明:文章转载自《Cesium数据可视化-仓储调度系统可视化部分(附github源码)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据可视化之PowerQuery篇(三)学会使用PowrQuery的自定义函数使用kaptcha生成验证码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何让一个DIV固定在另一个DIV的底部

<html><head><title>Test</title></head><body><div style="border:1px solid red; 500px; position:relative; height:500px;">1111111 <div st...

redis源代码结构解析

看了黄建宏老师的《Redis设计与实现》,对redis的部分实现有了一个简明的认识; 之前面试的时候被问到了这部分的内容,没有关注,好在还有时间,就把Redis的源码看了一遍。 Redis源码的获取Redis是完全开源的,其源代码可以在直接在GitHub上获取:https://github.com/antirez/redis(目前的版本是4.4.0)。此时...

使用VS2008开发OPC客户端程序

使用Rockwell的 RsiOPCAuto.dll 或者Siemens的 Interop.OPCSiemensDAAutomation.dll时, 若直接拷贝的Dll使用,需要注册后才可添加引用到VS2008.注册:D:\>regsvr32 rsiopcauto.dll 已下为OPC读取标签的核心内容: 使用了Hash表存储标签位置对应标签多代表...

基于canvas实现合图引擎 设计思路

合图引擎基于json数据 解析,比较与htmltocanvas 先生成html再生成canva的解决方案, 渲染过程更可控,定制化成都高。 import Dev from '@ali/hetuCanva/dist/dev'; const data = { "name": "draw edit action", "width": 375, "h...

ZYNQ:提取PetaLinux中Linux和UBoot配置、源码

说明 默认情况下,PetaLinux在编译完成后会删除源代码,以节省硬盘空间。 在project-spec/meta-user/conf/petalinuxbsp.conf里,添加如下内容,可以保留Linux和UBoot源代码。 RM_WORK_EXCLUDE += "linux-xlnx" RM_WORK_EXCLUDE += "u-boot-xlnx"...

Web前端-按钮点击效果(水波纹)

这种效果可以由元素内嵌套canves实现,也可以由css3实现。 Canves实现 网上摘了一份canves实现的代码,略微去掉了些重复定义的样式并且给出js注释,代码如下 第一种方法: html骨架代码 <a class="btn color-1 material-design"data-color="#2f5398">Press me!&...