解决前端渲染geoserver 文字重复问题

一开始发布完shp文件之后,前端渲染发现地名重复,如下图所示,之前一直以为前端问题,昨天通过geoserver的style配置解决了这个问题。
解决前端渲染geoserver 文字重复问题_第1张图片
网上查到的资料都是添加下面的代码

                        <sld:Geometry>
                            <ogc:Function name="centroid">
                              <ogc:PropertyName>the_geom</ogc:PropertyName>
                            </ogc:Function>
                        </sld:Geometry>

我添加之后不管用,然后我把style文件复制到了之前提到的工具udig中的xml进行编辑,发现经过udig的转化,成了如下的代码

                        <sld:Geometry>
                          <ogc:Function name="strConcat">
                            <ogc:Function name="centroid">
                              <ogc:PropertyName>the_geom</ogc:PropertyName>
                            </ogc:Function>
                            <ogc:Literal/>
                          </ogc:Function>
                        </sld:Geometry>

多了几行代码,我把这个粘贴到了geoserver的style中,发现是地名不重复了,但是出现了另外一个问题
,地图中的地名出现了不同程度的偏移,并且有的地名竟然不显示了,需要放大到一定程度才显示地名,如下所示:
解决前端渲染geoserver 文字重复问题_第2张图片
接着我把上面刚刚加的代码删除掉,加上了

                        <sld:VendorOption name="group">yes</sld:VendorOption>

再次刷新,发现地名偏移解决了,并且地名重复问题也解决!!!

补充:::以上的代码全部添加在 sld:TextSymbolizer 标签中,别的地方会报错,还有如果你添加了不管用,可能是格式的问题,可以尝试去udig中调整一下文件的格式,直接粘贴进去geoserver中,这样就可以解决了。

你可能感兴趣的:(geoserver,gis)