优化复杂多边形的渲染

绘制带有复杂多边形的大型地图,以显示数据的总体分布,可能会付出巨大代价,特别是当geoserver无法通过高速网络连接到solr服务器时。

处理这个问题的一种常见方法是在solr文档中添加第二个几何图形,表示多边形的质心,并使用该几何图形在完全缩小后渲染特征。

一旦用质心列更新了SOLR文档,并且填充了该列,则可以将该列添加为辅助几何图形。确保将多边形几何体保留为默认几何体:

../../_images/optimize_ft1.png

……(其他字段省略)

../../_images/optimize_ft2.png

使用多个几何图形配置图层

使用此设置,多边形几何体仍将用于所有空间过滤器和渲染,除非样式对质心的特殊要求。

然后,可以设置一个具有比例依赖性的样式,以便在完全缩小时仅获取质心,如下面的CSS示例中所示:::

[@scale > 50000] {
  geometry: [centroid];
  mark: symbol(square);
}
:mark {
  fill: red;
  size: 3;
}​
[@scale <= 50000] {
  fill: red;
  stroke: black;
}

使用这种样式 spatial 字段仍将用于解析WMS请求中隐式的BBOX筛选器,但仅限于更小的 centroid 其中一个将传输到GeoServer进行渲染。