STYLE¶
样式保存符号化和样式化的参数。可以在 CLASS 或 LABEL .
这个对象出现在4.0中,目的是将逻辑与外观分开。最终的目的是让命名样式(not yet supported)可以通过 Mapfile 重新使用。这是定义对象外观的方法(a CLASS 或A LABEL )
- ANGLE [double|attribute|AUTO]
ANGLE.
对于点,它指定符号围绕其中心的旋转。
GAP 元素。
对于负的“gap”值,它指定装饰符号相对于线条方向的旋转。角度0表示符号的X轴沿直线方向。
对于非负(或不存在)“间隙”值,它指定装饰符号围绕其中心的旋转。角度为0表示符号不旋转。
对于多边形,它指定图案填充符号中线条的角度(0-水平线),或者指定用于在多边形填充中生成图案的符号的旋转(它不指定整个填充的旋转)。有关它与阴影线的使用,请参见中的示例7 symbology examples .
在5.0版中引入了[attribute]来指定角度值要使用的属性。需要硬括号[]。例如,如果数据源有一个名为“myrotate”的属性,该属性保存每个要素的角度值,则阴影线的样式对象可能包含:
STYLE SYMBOL 'hatch-test' COLOR 255 0 0 ANGLE [MYROTATE] SIZE 4.0 WIDTH 3.0 END
此功能的关联RFC文档是 MS RFC 19:样式和标签属性绑定 .
这个 AUTO GEOMTRANSFORM 关键字。
- angleitem[字符串]
现在必须使用角度[attribute]。
5.0 版后已移除.
- 抗锯齿[真假]
TrueType字体是否应消除锯齿。仅对gd(gif)渲染有用。默认值为假。对其他渲染器没有效果(不能关闭消除混叠)。
警告
在 MapServer 7.0中删除了GD支持。
- backgroundcolor[r][g][b][十六进制字符串]-已弃用
用于不透明符号的颜色。
注解
可以改用多个'style`s:
STYLE BACKGROUNDCOLOR 0 0 0 SYMBOL "foo" COLOR 255 0 0 END
可替换为:
STYLE COLOR 0 0 0 END STYLE SYMBOL "foo" COLOR 255 0 0 END
6.2 版后已移除.
- 颜色[R][G][B][十六进制字符串][属性]
用于绘图功能的颜色。
` r`、`g`和'b`应为整数[0..255]。要指定绿色,请使用以下内容:
COLOR 0 255 0
hexadecimal string 可以是
RGB值:“rrggbb”。要指定洋红色,请使用以下选项:
COLOR "#FF00FF"
rgba值(添加半透明):“rrggbbaa”。要指定半透明品红色,请使用以下选项:
COLOR "#FF00FFCC"
在5.0版中引入了[attribute]以指定用于颜色值的属性。需要硬括号[]。例如,如果数据集有一个名为“mypaint”的属性,该属性保存每个记录的颜色值,请使用:object for可能包含:
COLOR [MYPAINT]
如果未指定“color”,并且它不是“type``pixmap`”的 SYMBOL,则不会呈现该符号。
此功能的关联RFC文档是 MS RFC 19:样式和标签属性绑定 .
- 颜色范围[R][G][B][R][G][B][十六进制字符串][十六进制字符串]
定义两种颜色以对应
DATARANGE
价值观。颜色映射到两个值之间的连续线性渐变。见 核密度估计(动态热图) 有关将这些应用于栅格图层的详细信息,以及 MS RFC 6:连续特征值的颜色范围映射 用于处理向量层。
- 数据范围[整数双精度][整数双精度]
定义两个值:低值和高值,MapServer将映射到“color range”条目定义的颜色范围。值必须是整数或双精度。颜色映射到两个值之间的连续线性渐变.
见 核密度估计(动态热图) 有关将这些应用于栅格图层的详细信息,以及 MS RFC 6:连续特征值的颜色范围映射 用于处理向量层。
- 间隙[双]
` gap`指定“sizeUnits”层中装饰线条和多边形填充的“symbol”(中心到中心)之间的距离。对于多边形填充,“gap”指定x和y方向上“symbol”之间的距离。对于行,“symbol”的中心放在行上。从MapServer 5.0开始,这也适用于PixMap符号。
当符号的缩放生效时( LAYER)指定了'symbolscaledenom',而'gap`指定了地图比例1:`symbolscaledenom`处图层'sizeUnits'中的距离。
INITIALGAP 未指定,将放置第一个符号 GAP/ 2从生产线开始。
对于线,负的“GAP”值将导致符号的X轴相对于线的切线对齐。
对于线条,一个正的“间隙”值将符号的X轴与输出设备的X轴对齐。
GAP
对于多边形,如果缺少小于或等于符号大小的“间隙”或“间隙”,则会使符号边缘到边缘呈现。
ANGLE.
6.0 新版功能: 移居 SYMBOL
注解
随着时间的推移,“gap”的行为并不稳定。它指定了符号之间的空间量,以及符号之间的空间量和中心到中心的距离。从6.2开始,“Gap”指定符号之间的中心距。
- GEOMTRANSFORM [bbox|centroid|end|labelpnt|labelpoly|start|vertices|<expression>]
用于指示在应用实际样式之前将转换当前功能。在5.4版中介绍。
bbox:生成当前要素几何图形的边界框。
质心:生成当前要素几何体的质心。
end::生成当前要素几何图形的最后一个点。当与“angle”auto一起使用时,例如,它可以用于在直线段上呈现箭头。
烙印: LABEL 风格。在标签附加到的地理位置上绘制标记。只有当标签位于CC位置时,这才对应于标签文本的中心。
唇形聚伞花序: LABEL 风格。生成一个覆盖标签的多边形加上一个1像素的填充。
开始:生成当前要素几何图形的第一个点。当与“angle”auto一起使用时,例如,它可以用于在直线段上呈现箭头尾部。
顶点:生成当前要素几何体的所有中间顶点(点)(不包括起点和终点)。当与“angle”auto一起使用时,标记的方向是由两个相邻线段形成的半角度。
<expression>:将给定表达式应用于几何体。支持的表达式:
(buffer([shape],dist)):使用“dist”像素作为缓冲距离缓冲几何体([shape])。对于多边形,负的“dist”将产生后退。
(generalize([shape],tolerance)):简化几何体([shape]),与FME的Thintopoint算法相当。有关详细信息,请参阅http://trac.osgeo.org/gdal/ticket/966。
注解
取决于地理位置。
(Simplify([shape],Tolerance)):使用标准Douglas-Peucker算法简化几何图形([shape])。
(simplifypt([shape],tolerance)):简化几何图形([shape]),确保结果是有效的几何图形,具有与输入相同的尺寸和组件数量。 tolerance 必须为非负。
(smooth sia([形状]、平滑度大小、平滑度迭代、预处理)):将使用sia算法平滑几何体([形状])
示例(多边形数据集)-在多边形边界内绘制一条两像素宽的线5像素:
STYLE OUTLINECOLOR 255 0 0 WIDTH 2 GEOMTRANSFORM (buffer([shape],-5)) END
样式和图层geomtransform之间存在差异。图层级别将接收地面坐标(米、度等),样式级别将接收像素坐标。Simplify()等方法的参数必须与渲染工作流中该点形状的坐标使用相同的单位,即样式级别的像素和图层级别的地面单位。
LAYER NAME "my_layer" TYPE LINE STATUS DEFAULT DATA "lines.shp" GEOMTRANSFORM (simplify([shape], 10)) ## 10 ground units CLASS STYLE GEOMTRANSFORM (buffer([shape], 5) ## 5 pixels WIDTH 2 COLOR 255 0 0 END END END
- 初始间隙[双]
` initialGap`用于设置虚线的样式。
如果与“gap”一起使用,“initialgap”指定到样式行上第一个符号的距离。
如果与“pattern”一起使用,“initialgap”指定到虚线上第一个短划线的距离。
示例1-带圆圈的虚线:
STYLE COLOR 0 0 0 WIDTH 4 PATTERN 40 10 END END STYLE SYMBOL "circlef" COLOR 0 0 0 SIZE 8 INITIALGAP 20 GAP 50 END
示例1-带虚线覆盖的虚线样式:
STYLE COLOR 0 0 0 WIDTH 6 PATTERN 40 10 END END STYLE COLOR 255 255 255 WIDTH 4 INITIALGAP 2 PATTERN 36 14 END END
6.2 新版功能.
- LINECAP [butt|round|square]
round. 见 MapServer 的制图符号构造 解释和举例。
6.0 新版功能: 移居 SYMBOL
- LINEJOIN [round|miter|bevel|none]
round. 见 MapServer 的制图符号构造 解释和举例。
6.0 新版功能: 移居 SYMBOL
- LineJoinMaxSize[整数]
miter MapServer 的制图符号构造 解释和举例。
6.0 新版功能: 移居 SYMBOL
- 最大尺寸[双]
以像素为单位绘制符号的最大大小。默认值为500。从5.4版开始,该值也可以是十进制值(不仅是整数)。见 LAYER SYMBOLSCALEDENOM .
- 最大宽度[双]
用于绘制线条的最大宽度(像素)。默认值为32。从5.4版开始,该值也可以是十进制值(不仅是整数)。见 LAYER SYMBOLSCALEDENOM .
- MINSCALEDENOM [double]
最大刻度 STYLE 画出来。比例作为实际比例分数的分母给出,例如,对于比例为1:24000的地图,使用24000。
5.4 新版功能.
参见
- 小尺寸[双]
用于绘制符号的最小像素大小。默认值为0。从5.4版开始,该值也可以是十进制值(不仅是整数)。见 LAYER SYMBOLSCALEDENOM .
- 最小宽度[双]
用于绘制线条的最小宽度(像素)。默认值为0。从5.4版开始,该值也可以是十进制值(不仅是整数)。见 LAYER SYMBOLSCALEDENOM .
- 偏移量[双属性][双属性]
SIZEUNITS. SIZEUNITS x, y.
当符号缩放生效时(为 LAYER)指定了'symbolscaledenom',则'offset'在地图比例1:`symbolscaledenom`的图层'sizeUnits'中提供偏移值。
如果“偏移量”为“20``40”,则在渲染之前,几何体20`sizeUnits'将向左移动,40`sizeUnits'将向下移动。
对于线条,“y`=`-99”的“offset”将生成一个线条几何图形,该几何图形垂直于原始线条几何图形移动“x”大小单位。沿直线方向看时,正值“x”会将直线向右移动。当沿直线方向看时,负的“x”会将直线向左移动。
对于行,“y`=`-999`”(在版本6.4中添加)的“offset”将生成与“x`` sizeUnits`宽的行的边框对应的多行几何图形。这只能用于渲染粗线的轮廓。
- 不透明度[整数属性]
不透明度以绘制当前样式(适用于5.2+, AGG 渲染细节 仅限,不适用于PixMap符号)
在5.6版中引入了[attribute]以指定用于不透明度值的属性。
- outlinecolor[r][g][b] [十六进制字符串][属性]
用于勾勒多边形和某些标记符号的颜色(“椭圆”、“矢量”、“多边形”和“TrueType”)。对线条无效。可以使用“width”指定轮廓的宽度。如果未指定“宽度”,将绘制一个像素的轮廓。
如果为“style”定义了“symbol”,则“outlinecolor”将用于为该“symbol”创建大纲(只有“ellipse”、“truetype”和“polygon”vector“符号将获得大纲)。如果没有为“style”定义“symbol”,多边形将得到一个轮廓。
` r`、`g`和'b`应为整数[0..255]。要指定绿色,请使用以下内容:
OUTLINECOLOR 0 255 0 WIDTH 3.0
hexadecimal string 可以是
RGB值:“rrggbb”。要指定洋红色,请使用以下选项:
OUTLINECOLOR "#FF00FF"
rgba值(添加半透明):“rrggbbaa”。要指定半透明品红色,请使用以下选项:
OUTLINECOLOR "#FF00FFCC"
在5.0版中引入了[attribute]以指定用于颜色值的属性。需要硬括号[]。例如,如果数据集有一个名为“mypaint”的属性,该属性保存每个记录的颜色值,请使用:object for可能包含:
OUTLINECOLOR [MYPAINT]
此功能的关联RFC文档是 MS RFC 19:样式和标签属性绑定 .
- outlinewidth [双属性]
轮廓的宽度(像素)。默认值为0.0。轮廓的厚度不取决于比例。
5.4 新版功能.
- 图案[双开][双关][双开][双关]…结束
用于定义线条工作(线条、多边形轮廓、阴影线等)的短划线图案。数字(双精度)指定“sizeUnits”层中虚线和虚线图案间隙的长度。当符号缩放生效时(为 :ref:`layer`指定了'symbolscaledenom',数字在地图比例1:`symbolscaledenom`的图层'sizeUnits'中指定破折号和间隙的长度。
` linecap`、`linejoin`和'linejoinmaxsize`可用于控制虚线的外观。
要指定宽5个单位、长5个单位、间距5个单位的虚线,可以使用以下样式:
STYLE COLOR 0 0 0 WIDTH 5.0 LINECAP BUTT PATTERN 5.0 5.0 END END
PATTERN SYMBOL TYPE LINECAP hatch fill section of the symbol construction document )
6.0 新版功能: 移居 SYMBOL
- polaroffset[双属性][双属性]
在极坐标中给出的偏移量。
第一个参数是图层“sizeUnits”(或图层属性的名称)中的双精度值,用于指定半径/距离。
第二个参数是指定角度(逆时针)的双精度值(或层属性的名称)。
当符号缩放生效时( LAYER)指定了'symbolscaledenom',而'polaroffset'在地图比例1:'symbolscaledenom`'处给出了图层'sizeUnits'中的距离。
“polaroffset”值为“20``40”时,会将几何图形移到20` sizeUnits`以外的位置,该位置沿着一条40度角的直线移动,该直线水平向右移动。
当“polaroffset”用于具有“connectiontype``uvraster`”( vector field)的层时,可以使用特殊属性“uv_length`、uv_length_2、`uv_angle`和`uv_minus_angle`以方便指定箭头的头部和尾部。例子:
LAYER ... TYPE POINT CONNECTIONTYPE uvraster ... CLASS STYLE SYMBOL "arrowbody" ANGLE [uv_angle] SIZE [uv_length] WIDTH 3 COLOR 100 255 0 END STYLE SYMBOL "arrowhead" ANGLE [uv_angle] SIZE 10 COLOR 255 0 0 POLAROFFSET [uv_length_2] [uv_angle] END STYLE SYMBOL "arrowtail" ANGLE [uv_angle] SIZE 10 COLOR 255 0 0 POLAROFFSET [uv_length_2] [uv_minus_angle] END END #class END #layer
6.2 新版功能: ( MS RFC 78:矢量场渲染(connectiontype uvgraster) )
rangeitem [属性]
指定将用于在“colorrange”项的高端和低端之间映射颜色的属性。颜色映射到两个值之间的连续线性渐变。
下面是一个将值0.0-1.0映射到红-绿的示例:
STYLE RANGEITEM "myAttr" COLORRANGE 255 0 0 0 255 0 DATARANGE 0.0 1.0 END参见相关的RFC文档 MS RFC 6:连续特征值的颜色范围映射 .
- 大小[双属性]
要使用的符号/图案的高度,以层“sizeUnits”为单位。默认值取决于 symbol``type。对于“pixmap”:pixmap的高度(以像素为单位);对于“ellipse”和“vector”:对于“hatch”:1.0,对于“truetype”:1.0,:ref:symbol` points`参数的最大Y值。
当符号缩放生效时(为 LAYER)指定了'symbolscaledenom',则'size'以层'sizeUnits'为单位给出要在地图缩放1:`symbolscaledenom`中使用的符号/图案的高度。
TYPE SIZE symbology examples .
在5.0版中引入了[attribute]以指定用于大小值的属性。需要硬括号[]。例如,如果数据集有一个名为“myheight”的属性,该属性保存每个要素的大小值,则阴影线的样式对象可能包含:
STYLE SYMBOL 'hatch-test' COLOR 255 0 0 ANGLE 45 SIZE [MYHEIGHT] WIDTH 3.0 END
此功能的关联RFC文档是 MS RFC 19:样式和标签属性绑定 .
从5.4版开始,该值也可以是十进制值(不仅是整数)。
- SYMBOL [integer|string|filename|url|attribute]
用于呈现功能的符号。
整数是符号集中符号的索引,从1开始(第5个符号是符号编号5)。
字符串是符号的名称(如使用 SYMBOL NAME 参数)。
文件名指定包含符号的文件的路径。例如PNG文件。指定相对于包含 Mapfile 的目录的路径。
url指定包含pixmap符号的文件的地址。例如PNG文件。URL必须以“http”开头:
SYMBOL "http://myserver.org/path/to/file.png"
6.0 新版功能.
[属性]允许通过使用数据集中指定符号名称的属性(如 :ref:`symbol``name`参数中定义的)来单独呈现功能。需要硬括号[]。
5.6 新版功能.
如果未指定“symbol”,则行为取决于功能的类型。
对于点,将不呈现任何内容。
对于线条,“symbol”仅在要使用符号设置线条样式时才相关,因此缺少“symbol”意味着您将使用相关的线条呈现参数(color、width、pattern、linecap、…)获得指定的线条。
COLOR 参数。
参见
- 宽度[双属性]
WIDTH SIZEUNITS.
当符号的缩放生效时( LAYER)指定了'symbolscaledenom','width'是指在地图比例1:symbolscaledenom'处图层'sizeUnits'中的线条粗细。
SYMBOL 和 OUTLINECOLOR, WIDTH SYMBOL TYPE ellipse 和 truetype.
对于行,`width`指定行的宽度。
对于多边形,如果与“outlinecolor”一起使用,“width”指定多边形轮廓的厚度。
作为一个符号 SYMBOL TYPE WIDTH symbology examples .
在5.4版中添加了[attribute]以指定宽度值要使用的属性。需要硬括号[]。
从5.4版开始,该值也可以是十进制值(不仅是整数)。