使用 VectorFieldRenderer 可视化风数据

尝试一下在线预览

这个例子展示了如何将  VectorFieldRenderer  应用到  ImageryLayer  来显示风速和方向。

本示例中使用的图像图层包含来自国家数字预报数据库( NDFD )的天气数据。它包含 2014 年 10 月 26 日至 2014 年 10 月 30 日之间的风速和风向变量。

风速和方向变量可以使用 VectorFieldRenderer 可视化,如下所示:

                           
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// image service contains wind speed and direction variables which can be visualized
// with VectorFieldRenderer. VectorFieldRenderer has size visual variables set for magnitude
// and rotation visual variables set for directions
const layer = new ImageryLayer({
  url: "https://sampleserver6.geosceneonline.cn/arcgis/rest/services/ScientificData/NDFD_wind/ImageServer",
  renderer: {
    type: "vector-field",
    style: "beaufort-kn", // Beaufort point symbol (knots)
    flowRepresentation: "flow-from", // show flow from angle for wind direction
    symbolTileSize: 10, // draw one symbol in every 10x10 pixels
    visualVariables: [
      {
        type: "size",
        field: "Magnitude", // values read from the first band
        maxDataValue: 32,
        maxSize: "100px",
        minDataValue: 0.04,
        minSize: "8px"
      },
      {
        type: "rotation",
        field: "Direction", // values read from the second band
        rotationType: "geographic"
      }
    ]
  }
});

 TimeSlider  微件将允许您显示特定时刻的风速和方向。当层加载时,使用图层的  timeInfo  信息设置时间滑块的  fullTimeExtent  和  stops  属性,如下所示。

         
1
2
3
4
5
6
7
8
9
view.whenLayerView(layer).then((lv) => {
  const fullTimeExtent = layer.timeInfo.fullTimeExtent;

  // set up time slider properties
  timeSlider.fullTimeExtent = fullTimeExtent;
  timeSlider.stops = {
    interval: layer.timeInfo.interval
  };
});

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.