风场是环境影响评价的专业术语, 通常可以用来反应天气系统及其强弱,逆时针旋转的风场反映低压, 顺时针则反映高压,风速则反映强弱。本文主要提供SuperMap iClient3D for Cesium产品风场(http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#windParticle)示例代码参数讲解。
目录
1.SuperMap iClient3D for WebGL
2.SuperMap iClient3D for Cesium
一、风场数据介绍
1.数据转换
常见风场数据为nc,需要转化为前端可加载得格式,例如json格式。GitHub上有开源工具可以进行转换,本文使用的开源工具为:GitHub - cambecc/grib2json: converts GRIB2 files to JSON
下载好的数据可以通过基于java开发的工具:grib2json进行转换成下面展示的json数据格式.
2.json风场数据格式介绍
风场可视化在SuperMap产品和在原生cesium可视化原理基本相同。通过FieldLayer3D场数据图层进行加载。 如果需要场数据指定范围可以通过layerBounds 参数去设置。
原始的标准数据是nc数据,里面参数很多, 但是咱们不能直接用需要转成json才行。 示例数据json只是其中的一小部分参数,实际业务场景所含参数通常比示例数据要多。示例数据中包含参数nx\ny\max以及data。nx横向划分栅格数量,示例数据为360;ny纵向划分栅格数量,示例数据为181;data记录了nx*ny=360*181=65160个风力数值。
风场数据json数据格式中,nx,ny代表横向纵向划分为多少网格,data是风速数据,表示风速大小,风场数据一般含有两个{header:{},data:[]}这样的结构,第一个里面的data是当前格子的横向风速,第二个指的是纵向风速(有可能反过来不过不影响)。类似这种参数讲解网上也有很多,此处不多赘述。
【header参数】
介绍:
- parameterCategory : 配置了数据记录内容,风力数据默认为2
- parameterCategoryName : 风向数据默认:Momentum
- parameterNumber: 记录了数据方向:U向为2,V向为3
- parameterNumberName: U-component_of_wind/V-component_of_wind
- numberPoints: 数据点数量
- nx : 横向划分栅格数量
- ny : 纵向划分栅格数量
- dx : 横向步长
- dy : 纵向步长
- lo1 : 横向起点,全球默认为0
- la1 : 纵向起点,全球默认为-90
- lo2 : 横向终点,全球默认359.5,根据步长有所不同
- la2 : 纵向终点,全球默认-90
*示例风向数据将地球以0.5(dx\dy)为步长分为横向360(nx)、纵向181(ny)个栅格。然后记录了每个栅格中南北方向(U)、东西方向(V)两个方向上的风力值。