矢量场渲染-uvgraster¶
例如,在气象学中,矢量场用于存储/显示风向和大小。
源是两条栅格数据带,第一条带表示矢量的U分量,第二条带表示V分量。使用给定位置上的u,v值,我们可以计算旋转和大小,并使用该值绘制与大小成比例并指向现象方向(风、电流等)的箭头。
有关向量场的详细信息,请参阅: Vector field
向量场 LAYER 是一个混合层,以栅格数据源作为输入,矢量特征作为输出。输出特性以点表示。不支持查询。
由于数据源是栅格,因此可以使用所有栅格处理选项(例如重新采样)。resample=average通常会得到很好的结果,并且是默认值。这可以通过显式指定重新采样的类型来覆盖。
矢量字段层是“type`` point`”,并且具有“connectiontype`` uvgraster`”。栅格数据集在“data”中指定。定义向量场的两个波段是使用“处理”波段(U第一,V第二)指定的。
uvgraster连接类型提供以下属性:
【U】:原始U值
【V】:原始V值
[紫外线角度]:矢量角度
[紫外-角]:矢量角-反方向
UV_SIZE_SCALE
[uv_length_2]:向量长度的一半
可选的 PROCESSING:
UV_SPACING: The spacing is simply the distance, in pixels, between arrows to be displayed in the vector field. Default is 32.
` uv-size-scale`:uv-size-scale用于将栅格的矢量长度(大小)转换为像素,以获得更好的渲染效果。默认值为1。
层定义示例:
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
6.2 新版功能: ( MS RFC 78:矢量场渲染(connectiontype uvgraster) )