草庐IT

Cesium 案例(二)Web MapTile Service with Time

BlackCaat 2023-04-10 原文
使用官方github包,部分解释来源于http://cesium.xin/cesium/cn/Documentation1.95/index.html
 

 

Cesium.Ion.defaultAccessToken =token;
      constviewer = newCesium.Viewer("cesiumContainer", {
        shouldAnimate: true,
        //时钟应该默认尝试提前模拟时间,则为 true,否则为 false 。
      });
      functiondataCallback(interval, index) {
        lettime;
        if (index === 0) {
          time = Cesium.JulianDate.toIso8601(interval.stop);
          // JulianDate 表示天文儒略日期
          //  toIso 创建所提供日期的 ISO8601 表示。
        } else {
          time = Cesium.JulianDate.toIso8601(interval.start);
        }
        return {
          Time: time,
        };
      }
      consttimes = Cesium.TimeIntervalCollection.fromIso8601({
        //从 ISO 8601 时间间隔(开始/结束/持续时间)创建一个新实例
        iso8601: "2015-07-30/2017-06-16/P1D",
        //  ISO 8601 间隔。
        leadingInterval: true,
        // isStartIncluded:true,
        // true 开始时间包含在间隔中
        trailingInterval: true,
        //要添加从停止时间到 Iso8601.MAXIMUM_VALUE 的间隔,
        //则为 true,否则为 false 。
        isStopIncluded: false,
        //true 结束时间包含在间隔中
        dataCallback: dataCallback,
      });
      constprovider = newCesium.WebMapTileServiceImageryProvider({
        //提供由 Web 地图服务 (WMS) 服务器托管的平铺图像。
        url: "https://gibs.earthdata.nasa.gov/wmts/epsg4326/best
/MODIS_Terra_CorrectedReflectance_TrueColor/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpg",
        layer: "MODIS_Terra_CorrectedReflectance_TrueColor",
        //  要包含的层,用逗号分隔。
        style: "default",
        tileMatrixSetID: "250m",
        maximumLevel: 5,
        //图像提供者支持的最大细节级别,
        //如果没有限制,则未定义。如果未指定,则没有限制。
        format: "image/jpeg",
        clock:viewer.clock,
        //在确定时间维度的值时使用的 Clock 实例。指定 `times` 时需要
        times: times,
        //  TimeIntervalCollection
        //及其数据属性是一个包含时间动态维度及其值的对象。
        credit: "NASA Global Imagery Browse Services for EOSDIS",
      });
      constlayer = newCesium.ImageryLayer(provider);
      //一个图像层,它在 Globe 上显示来自单个图像提供者的平铺图像数据
      layer.alpha = 0.5; //透明度
      viewer.imageryLayers.add(layer);

      conststart = Cesium.JulianDate.fromIso8601("2015-07-30");
      conststop = Cesium.JulianDate.fromIso8601("2017-06-17");
      viewer.timeline.zoomTo(start, stop);
      //将视图设置为提供的时间。
      constclock =viewer.clock; //获取时钟
      clock.startTime = start;
      clock.stopTime = stop;
      clock.currentTime = start; //当前时间
      clock.clockRange = Cesium.ClockRange.LOOP_STOP;
      //确定达到 Clock#startTime 或 Clock#stopTime 时时钟的行为方式
      //unbounded不变方向 单向流逝
      //clamped  到地方就停止(start or stop/time)
      //loop_stop循环
      clock.multiplier = 7200;//默认倍率
      //确定调用 Clock#tick 时提前多少时间,负值允许向后推进。
 
 
运行结果图
 

有关Cesium 案例(二)Web MapTile Service with Time的更多相关文章

  1. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  2. ruby &&= 边缘案例 - 2

    有点边缘情况,但知道为什么&&=会这样吗?我正在使用1.9.2。obj=Object.newobj.instance_eval{@bar&&=@bar}#=>nil,expectedobj.instance_variables#=>[],soobjhasno@barinstancevariableobj.instance_eval{@bar=@bar&&@bar}#ostensiblythesameas@bar&&=@barobj.instance_variables#=>[:@bar]#whywouldthisversioninitialize@bar?为了比较,||=将实例变量初始

  3. Cesium源码解析一(terrain文件的加载、解析与渲染全过程梳理) - 2

    快速导航(持续更新中…)Cesium源码解析一(terrain文件的加载、解析与渲染全过程梳理)Cesium源码解析二(metadataAvailability的含义)Cesium源码解析三(metadata元数据拓展中行列号的分块规则解析)Cesium源码解析四(Quantized-Mesh(.terrain)格式文件在CesiumJS和UE中加载情况的对比)目录1.前言2.本篇的由来3.terrain文件的加载3.1更新环境3.2更新和执行渲染命令3.3数据优化3.4结束当前帧4.总结1.前言  目前市场上三维比较火的实现方案主要有两种,b/s的方案主要是Cesium,c/s的方案主要是u

  4. ruby - 使用散列或案例陈述 [Ruby] - 2

    一般来说哪个更好用?:casenwhen'foo'result='bar'when'peanutbutter'result='jelly'when'stack'result='overflow'returnresult或map={'foo'=>'bar','peanutbutter'=>'jelly','stack'=>'overflow'}returnmap[n]更具体地说,什么时候应该使用案例陈述,什么时候应该只使用散列? 最佳答案 散列是一种数据结构,而case语句是一种控制结构。当你只是检索一些数据时,你应该使用散列(就像你

  5. Ruby:案例使用对象 - 2

    有没有办法在case语句的对象上隐式调用方法?即:classFoodefbar1enddefbaz...endend我希望能够做的是这样的事情......foo=Foo.newcasefoowhen.bar==1then"something"when.bar==2then"somethingelse"when.baz==3then"anotherthing"end...其中“when”语句正在评估case对象上方法的返回。这样的结构可能吗?如果是的话,我还没有弄清楚语法...... 最佳答案 FWIW,您根本不需要将对象传递给1.8

  6. BigData/Cloud Computing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程 - 2

    BigData/CloudComputing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程目录一、云计算网站建设:部署与发布网站建设:简单动态网站搭建云服务器管理维护云数据库管理与数据迁移云存储:对象存储管理与安全超大流量网站的负载均衡二、大数据MOOC网站日志分析搭建企业级数据分析平台基于LBS的热点店铺搜索基于机器学习PAI实现精细化营销基于机器学习的客户流失预警分析使用DataV制作实时销售数据可视化大屏使用MaxCompute进行数据质量核查使用Quick BI制作图形化报表使用时间序列分解模型预测商品销量三、云安全云平台使用安全云上服务

  7. ruby-on-rails - 关于这个 Rails 关联案例中的 "<<"运算符 - 2

    我是RubyonRails的新手。在Rails应用程序中,我看到了如下代码:在模型中,有一个类Car:classCar在controller中,有一个方法“some_method”classCarsController我有三个问题要问:1.在Controller的代码中@my_car.components,它有什么作用?什么是什么意思?2.“3.是否Car类必须显式定义has_many关联Componentclassif""isused或者是""可用于向Car添加新关联,即使关联未在Car中定义显式类? 最佳答案 编辑后:第1点@m

  8. Spring Security详细讲解(JWT+SpringSecurity登入案例) - 2

    本篇博文目录:一.SpringSecurity简介1.SpringSecurity2.SpringSecurity相关概念二.认证和授权1.认证(1)使用SpringSecurity进行简单的认证(SpringBoot项目中)(2)SpringSecurity的原理(3)SpringSecurity核心类(4)认证登入案例(JWT+SpringSecurity实现登入案例)2.授权(1)加入权限到Authentication中(2)SecurityConfig配置文件中开启注解权限配置(3)给接口中的方法添加访问权限(4)用户权限表的建立3.自定义失败处理(1)创建异常处理类(2)配置移除处理

  9. ruby-on-rails - Ruby on Rails 案例/开关。如何匹配对象? - 2

    我正在开发ruby​​onrails应用程序。对于sessionController,我想用一个案例来检查用户的帐户是否被锁定或禁止。我正在尝试使用类的对象作为案例,并使用when来检查属性。例如,user=Profile.find(1)caseuserwhenuser.banredirect_to()whenuser.lockredirect_to()elseredirect_to()end唯一的问题是它不起作用。这是什么工作:caseuser.banwhentrueredirect_to()elseredirect_to()end关于如何使用开关检查用户对象是否被禁止或锁定,有什么

  10. ruby - Sinatra 成功案例 - 2

    关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion您成功使用过Sinatra吗?这是一个什么样的项目?在什么情况下您会推荐使用Sinatra而不是Rails或Merb?

随机推荐