1

我正在尝试在 Geoserver 中设置一个 sld 样式,它引用 PostGIS 视图“Route Type”中的列。我想在我的列名中有空格,因为我的目标是为我的所有空间数据创建用户友好的视图。使用下面的 sld 我得到一个错误。我试过用空格代替&nbsp; &#160;<![CDATA[Property Name]]> 但这些都不能解决问题。

是否可以在 propertyName 中有空格?

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
 xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
 <NamedLayer>
   <Name>Truck Routes and Restrictions</Name>
   <UserStyle>
     <Title>Truck Routes and Restrictions</Title>
     <FeatureTypeStyle>
       <Rule>
         <Name>Designated Municipal Truck Route</Name>
         <ogc:Filter>
         <ogc:PropertyIsLike  wildCard="*" singleChar="." escape="!">
           <ogc:PropertyName>Route Type</ogc:PropertyName>
           <ogc:Literal>*Designated Municipal Truck Route*</ogc:Literal>
         </ogc:PropertyIsLike>
         </ogc:Filter>
         <LineSymbolizer>
        <Stroke>
          <CssParameter name="stroke">#006600</CssParameter>
          <CssParameter name="stroke-width">3</CssParameter>
        </Stroke>
      </LineSymbolizer>
       </Rule>
     </FeatureTypeStyle>
   </UserStyle>
 </NamedLayer>
</StyledLayerDescriptor>
4

1 回答 1

1

正如我在这里 所读到的,PropertyName应该可以通过 Web Feature Service 检索到。接下来我阅读了如何请求包含括号的 WFS propertyName,我在其中阅读了所有此类元素必须匹配XML 元素命名,它不允许任何空格。

所以你不能在PropertyName. 您应该以您的用户无法看到的方式使用“我的列名”。

于 2020-12-16T22:26:48.680 回答