其他¶
按属性值调整大小的标记¶
下面在每个点生成正方形标记,但是这些标记的大小使每个标记的面积与 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中有许多可用的函数。有关详细信息,请阅读- 过滤函数引用
指定几何体属性¶
在某些情况下,通常在使用具有多个几何图形列的数据库表时,需要指定要使用的几何图形。例如,假设您有一个包含路由的表 start
和 end
两个都包含点几何图形。下面的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-geometry
和 mark-geometry
指定符号与笔画相比应使用不同的几何表达式。
* {
stroke-geometry: [the_geom];
stroke: blue;
mark-geometry: [startPoint(the_geom)], [endPoint(the_geom)];
mark: symbol(triangle), symbol(square);
}