zoukankan      html  css  js  c++  java
  • Cesium数据可视化-仓储调度系统可视化部分(附github源码)

    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数据可视化-仓储调度系统可视化部分(附源码下载)

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

  • 相关阅读:
    Docker入门(windows版),利用Docker创建一个Hello World的web项目
    SpringBoot集成JWT实现token验证
    Jedis的基本操作
    Java动态代理详解
    SpringBoot利用自定义注解实现通用的JWT校验方案
    递归——汉诺塔问题(python实现)
    Datatable删除行的Delete和Remove方法的区别
    C# DEV使用心得
    总结
    安装插件时
  • 原文地址:https://www.cnblogs.com/giserhome/p/11306109.html
Copyright © 2011-2022 走看看