矢量场渲染-uvgraster

在MapServer6.2中添加了向量域,例如在气象学中用于存储/显示风向和风级。

参见

MS RFC 78:矢量场渲染(connectiontype uvgraster)

源是两条栅格数据带,第一条带表示矢量的U分量,第二条带表示V分量。使用给定位置上的u,v值,我们可以计算旋转和大小,并使用该值绘制与大小成比例并指向现象方向(风、电流等)的箭头。

有关向量场的详细信息,请参阅: Vector field

可视化示例(使用MapServer渲染):

../../_images/uv.png

层描述

向量场 LAYER 是一个混合层,以栅格数据源作为输入,矢量特征作为输出。输出特性以点表示。不支持查询。

由于数据源是栅格,因此可以使用所有栅格处理选项(例如重新采样)。resample=average通常会得到很好的结果,并且是默认值。这可以通过显式指定重新采样的类型来覆盖。

TYPE CONNECTIONTYPE DATA. PROCESSING

层属性

uvgraster连接类型提供以下属性:

  • 【U】:原始U值

  • 【V】:原始V值

  • [紫外线角度]:矢量角度

  • [紫外-角]:矢量角-反方向

  • UV_SIZE_SCALE

  • [uv_length_2]:向量长度的一半

可选 PROCESSING 设置

  • UV_SPACING :间距只是要在矢量字段中显示的箭头之间的距离(以像素为单位)。默认值为32。

  • UV_SIZE_SCALE:

图层定义示例

SYMBOL
  NAME "horizline"
  TYPE VECTOR
  POINTS
     0 0
     1 0
  END # points
END # symbol
SYMBOL
  NAME "arrowhead"
  TYPE vector
  FILLED true
  #ANCHORPOINT 0 0.5
  POINTS
    0 2
    4 1
    0 0
  END # points
END # symbol
SYMBOL
  NAME "arrowtail"
  TYPE vector
  FILLED true
  ANCHORPOINT 1 0.5 # to shift the arrowtail
  POINTS
    0 2
    4 1
    0 0
    -99 -99
    0 1
    4 1
  END # points
END # symbol
LAYER
  NAME "my_uv_test"
  TYPE POINT
  STATUS DEFAULT
  CONNECTIONTYPE uvraster
  DATA /path/wind.grib2
  PROCESSING "BANDS=1,2"
  PROCESSING "UV_SPACING=40"
  PROCESSING "UV_SIZE_SCALE=0.2"
  CLASS
    STYLE
      SYMBOL "horizline"
      ANGLE [uv_angle]
      SIZE [uv_length]
      WIDTH 3
      COLOR 100 255 0
    END # style
    STYLE
      SYMBOL "arrowhead"
      ANGLE [uv_angle]
      SIZE 10
      COLOR 255 0 0
      POLAROFFSET [uv_length_2] [uv_angle]
    END # style
    STYLE
      SYMBOL "arrowtail"
      ANGLE [uv_angle]
      SIZE 10
      COLOR 255 0 0
      POLAROFFSET [uv_length_2] [uv_minus_angle]
    END # style
  END # class
END # layer