我以SLD包含样式和标签的方式将Oracle Spatial图层添加到了Geoserver中,当我尝试使用Openlayers显示该图层时,直到我从SLD移除了标签部分,该图层才起作用。如何显示Oracle层的标签?
我正在使用GeoServer版本-2.10.4和Oracle-11G
这是SLD文件:
<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" version="1.0.0">
<sld:NamedLayer>
<sld:Name>AMANA</sld:Name>
<sld:UserStyle>
<sld:Name>AMANA</sld:Name>
<sld:FeatureTypeStyle>
<sld:Name>name</sld:Name>
<sld:Rule>
<sld:Name>Single symbol</sld:Name>
<sld:TextSymbolizer>
<sld:Label>
<ogc:PropertyName>AMANAARNAME</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">MS Shell Dlg 2</sld:CssParameter>
<sld:CssParameter name="font-size">33.0</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
<sld:CssParameter name="font-weight">normal</sld:CssParameter>
</sld:Font>
<sld:Fill>
<sld:CssParameter name="fill">#000000</sld:CssParameter>
</sld:Fill>
</sld:TextSymbolizer>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#39db2b</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000001</sld:CssParameter>
<sld:CssParameter name="stroke-linejoin">bevel</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
</sld:Rule>
</sld:FeatureTypeStyle>
</sld:UserStyle>
</sld:NamedLayer>
</sld:StyledLayerDescriptor>
更新
问题已解决..这是由于通过QGIS中的Geoserver Explorer插件发布。但是当我直接在Geoserver中发布图层时,它显示的标签很好 labels shown on Oracle Layer