在CSS中呈现转换

从geoserver 2.10开始,css模块支持通过 transform 财产。

属性是一个具有特殊键/值对语法的函数调用,使用以下模板::

transformationName(key1:value1,key2:v21 v22 ... v2M,...,keyN:vN)

这些值可以是简单的值,也可以是以空格分隔的列表。可以省略表示输入层的参数,引擎将自动识别类型为FeatureCollection或Grid Coverage的输入参数。

转换函数和所有其他属性一样都要进行级联,但级联在整个z级别上起作用,因此如果需要多个转换,它们需要与两个不同的z级别相关联。

这是一个CSS样式的示例,从DEM提取轮廓线,并在达到适当的缩放级别时显示单个值:

/* @title Levels */
* {
  transform: ras:Contour(levels: 1100 1200 1300 1400 1500 1600 1700);
  z-index: 0;
  stroke: gray;
  label: [numberFormat('#', value)];
  font-size: 12;
  font-fill: black;
  font-weight: bold;
  halo-color: white;
  halo-radius: 2;
  label-follow-line: true;
  label-repeat: 200;
  label-max-angle-delta: 45;
  label-priority: 2000;
}

/* @title Values */
[@sd < 12000] {
  transform: ras:RasterAsPointCollection(scale: 0.5);
  z-index: 1;
  label: [GRAY_INDEX];
  label-anchor: 0.5 0.5;
  font-family: Arial;
  font-fill: black;
  font-size: 6;
  label-priority: 1000;
}
../../_images/transformation.png

对DEM层的两种作用转换

Previous: 嵌套规则