Cesium专栏-气象要素(温度、降水)色斑图制作

Cesium



Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品。它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证。

关于色斑图

色斑图以及后续文章等值线图,都是一种气象要素(温度、降水)以及控制质量等的表现形式。本篇文章,我们借助开源插值工具kriging.js来讲解如何制作色斑图。

在之前的文章 Cesium专栏-克里金插值,中讲解了如何用kriging.js来做插值,插值是一个全局范围内的插值,但是色斑图类似于GIS中的专题图,所以,我们必须在kriging.js的基础上,进行源码修改,自定义色带,已经自定义绘制网格色值。

效果图(逐小时降水|温度)注:测试数据

具体做法



1、定义色带(数据来源,中国天气网)

  • // 气温
  • { min: -50, max: -45, color: "#2e0057" },
  • { min: -45, max: -40, color: "#4a008b" },
  • { min: -40, max: -35, color: "#0d0b66" },
  • { min: -35, max: -30, color: "#0c2695" },
  • { min: -30, max: -25, color: "#0c43c4" },
  • { min: -25, max: -20, color: "#1a6bd7" },
  • { min: -20, max: -15, color: "#3492f4" },
  • { min: -15, max: -10, color: "#67b7f7" },
  • { min: -10, max: -5, color: "#96cef4" },
  • { min: -5, max: -0, color: "#c1e6f9" },
  • { min: 0, max: 5, color: "#fefec6" },
  • { min: 5, max: 10, color: "#f8f1a1" },
  • { min: 10, max: 15, color: "#ffe479" },
  • { min: 15, max: 20, color: "#ffcc4f" },
  • { min: 20, max: 25, color: "#f19906" },
  • { min: 25, max: 30, color: "#f07609" },
  • { min: 30, max: 35, color: "#eb481f" },
  • { min: 35, max: 40, color: "#ab0110" },
  • { min: 40, max: 45, color: "#650015" },
  • { min: 45, max: 50, color: "#44000b" }
  •  
  • //逐小时降水
  • { min: 0, max: 2, color: "#7fffff" },
  • { min: 2, max: 4, color: "#23b7ff" },
  • { min: 4, max: 6, color: "#0177b4" },
  • { min: 6, max: 8, color: "#0052ca" },
  • { min: 8, max: 10, color: "#0310d8" },
  • { min: 10, max: 20, color: "#9601f9" },
  • { min: 20, max: 50, color: "#6f00b8" },
  • { min: 50, max: 100, color: "#4c0082" }

2、修改源码,自定义获取颜色值

  • kriging.getColor = function (colors, z) {
  • var l = colors.length;
  • for (var i = 0; i < l; i++) {
  • if (z >= colors[i].min && z < colors[i].max) return colors[i].color;
  • }
  • };

3、更改赋值

  • ctx.fillStyle = this.getColor(colors, z);

代码以及数据因客观原因不能提供。如需合作请联系作者QQ:2034146498

更多文章见cesium小专栏GIS之家cesium小专栏

原文地址:https://www.cnblogs.com/giserhome/p/11192958.html

时间: 2024-10-09 17:29:18

Cesium专栏-气象要素(温度、降水)色斑图制作的相关文章

专注于幻灯片/轮换图制作的JS库

myFocus简介 myFocus是一个专注于幻灯片/轮换图制作的JS库,它小巧而且是完全独立的JS库,用它可以轻松的制作出网上绝大部分常见的幻灯片(甚至包括flash幻灯片),而且制作出的幻灯片体积也非常的小(1KB左右),功能也十分的完备,因为是轻量级,其运行效率也比常见的幻灯片要高. 最重要的一点是,用myFocus制作出的幻灯片使用十分的简单方便,而且每个幻灯片的接口/结构都是通用的,这样,只用1~2秒时间就给网站换不同风格的幻灯片成为了可能. myFocus的设计理念就是简单易用,无论

分级专题图制作

第一步:打开数据  第二歩:制作等级图 选择图层 第三歩:选择字段第四歩:设置条带第五步:生成评价第六歩:生成专题图 分级专题图制作

Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样

在Cesium中,对于terrain地形.3dtiles模型.gltf模型的高度采样是一个很基本的功能,基于此,可以做一些深度应用,而Cesium已经帮我们提供了相应的API,在这里,我帮大家总结一下,如果遇到了,可以当做帮助文档随时浏览. terrain地形 高度采样(API: Cesium.sampleTerrainMostDetailed) 通过两点决定一条直线,求取这条直线在地表高度 var start = Cesium.Cartesian3.fromDegrees(114, 30);

Cesium专栏-地形开挖2-任意多边形开挖(附源码下载)

“任意多边形地形开挖” 是“地形开挖”的补充篇,在这节里,我们介绍关于如何使用任意多边形对地形进行开挖,同时,由于有不少小伙伴也咨询了关于“地形开挖”篇后序内容中的填充地形的效果,之前没放出来,是想让小伙伴有个思考的过程,现在放出来,也是提供一种解决方法. 效果图 直接上代码说明方法 1.使用鼠标交互事件,采集需要开挖的范围 注: 这里要特别注意一点,为了下面的计算 ClippingPlane 方便,采集点顺序最好是 逆时针,如果点集的组织是顺时针,需要首先逆序成逆时针,关于如果判断一个点集是否

Cesium专栏-气象雷达动图(附源码下载)

Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证. 效果图 在气象行业,经常会在地图上展示雷达反射率等一些产品图,雷达图有图片格式,也有geojson格式的,每种格式都有加载渲染的方式,在这里,我们介绍的是图片格式的雷达产品. 加载雷达图 加载雷达图可以使用简单的polygon就可以了. 1.设置好

Cesium专栏-气象卫星云图动图(附源码下载)

Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证. 上一篇文章介绍了雷达产品的动图展示,这节我们用同样的原理实现卫星动图. 效果图 卫星云图也是一种重要的气象观测资料,与雷达产品不同的是,卫星云图的覆盖范围更广. 加载卫星云图 同样使用polygon来加载. 1.设置好图片要显示的范围 var po

Cesium专栏-空间分析之地形等高线(附源码下载)

Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证. 关于等高线 等高线指的是地形图上高程相等的相邻各点所连成的闭合曲线.把地面上海拔高度相同的点连成的闭合曲线,并垂直投影到一个水平面上,并按比例缩绘在图纸上,就得到等高线.等高线也可以看作是不同海拔高度的水平面与实际地面的交线,所以等高线是闭合曲线.

Cesium专栏-空间分析之坡度分析(附源码下载)

Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证. 效果图 关于坡度 在之前的关于空间分析之地形等高线分析一文中,我们介绍了如何使用Material接口来绘制等高线.在这篇文章中,我们还是使用Material接口,来绘制地形坡度图,在下一篇中,我们介绍如何绘制坡向图.坡度分析.坡向分析以及等高线分析

Cesium专栏-空间分析之坡向分析(附源码下载)

Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证. 效果图 关于坡向 之前,我们介绍了空间分析之地形等高线分析和地形坡度分析.在这篇文章中,我们还是使用Material接口,我们介绍如何绘制坡向分析图. 空间分析之地形等高线分析 链接:https://xiaozhuanlan.com/topic/3