其他

按属性值调整大小的标记

下面在每个点生成正方形标记,但是这些标记的大小使每个标记的面积与 REPORTS 属性。放大后(当视图中的点较少时),标记的大小将增加一倍,以使较小的点更加明显。

* {
  mark: symbol(square);
}

[@sd > 1M] :mark {
  size: [sqrt(REPORTS)];
}

/* So that single-report points can be more easily seen */
[@sd < 1M] :mark {
  size: [sqrt(REPORTS)*2];
}

此示例使用 sqrt 功能。在CSS和SLD中有许多可用的函数。有关详细信息,请阅读- 过滤函数引用

指定几何体属性

在某些情况下,通常在使用具有多个几何图形列的数据库表时,需要指定要使用的几何图形。例如,假设您有一个包含路由的表 startend 两个都包含点几何图形。下面的CSS将以三角形标记开头,以正方形结尾。

* {
    geometry: [start],          [end];
    mark:     symbol(triangle), symbol(square);
}

生成几何图形(几何图形转换)

在前面的示例中,我们还可以动态执行计算,以生成将要绘制的几何图形。可用于geoserver的任何操作 SLD中的几何变换 也可以使用CSS样式。要使用它们,我们只需在 geometry 属性。例如,我们可以标记一个线层中所有路径的起点和终点(您可以使用任何线层测试这个示例,例如 sf:streams 包含在geoserver默认数据目录中的层。)

* {
    geometry: [startPoint(the_geom)], [endPoint(the_geom)];
    mark:     symbol(triangle),       symbol(square);
}

使用单个样式呈现不同的几何图形类型(线/点)

作为几何体示例中的一个riff,我们将展示如何以单个样式呈现原始线条和起点/终点。这是通过使用 stroke-geometrymark-geometry 指定符号与笔画相比应使用不同的几何表达式。

* {
    stroke-geometry: [the_geom];
    stroke:          blue;
    mark-geometry: [startPoint(the_geom)], [endPoint(the_geom)];
    mark:          symbol(triangle),       symbol(square);
}
Previous: KML