2014-05-21 6 views
0

작동하지 않음과 내 층Geoserver SLD 내가 Geoserver 작업을 올바르게

위해 SLD를 사용

내 SLD 파일 포인트의

<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0"> 
    <sld:NamedLayer> 
    <sld:Name>Default Styler</sld:Name> 
    <sld:UserStyle> 
     <sld:Name>Default Styler</sld:Name> 
     <sld:FeatureTypeStyle> 
     <sld:Name>name</sld:Name> 
     <sld:Rule> 
      <sld:Name>Without Label</sld:Name> 
      <sld:MinScaleDenominator>10000.0</sld:MinScaleDenominator> 
      <sld:MaxScaleDenominator>70000.0</sld:MaxScaleDenominator> 
      <sld:PointSymbolizer> 
      <sld:Graphic> 
       <sld:Mark> 
       <sld:WellKnownName>circle</sld:WellKnownName> 
       <sld:Fill> 
        <sld:CssParameter name="fill">#CC3300</sld:CssParameter> 
       </sld:Fill> 
       </sld:Mark> 
       <sld:Size>8</sld:Size> 
      </sld:Graphic> 
      </sld:PointSymbolizer> 
     </sld:Rule> 
     <sld:Rule> 
      <sld:Name>With Label</sld:Name> 
      <sld:MaxScaleDenominator>10000.0</sld:MaxScaleDenominator> 
      <sld:PointSymbolizer> 
      <sld:Graphic> 
       <sld:Mark> 
       <sld:WellKnownName>circle</sld:WellKnownName> 
       <sld:Fill> 
        <sld:CssParameter name="fill">#CC3300</sld:CssParameter> 
       </sld:Fill> 
       </sld:Mark> 
       <sld:Size>12</sld:Size> 
      </sld:Graphic> 
      </sld:PointSymbolizer> 
      <sld:TextSymbolizer> 
      <sld:Label> 
       <ogc:PropertyName>str_name</ogc:PropertyName> 
      </sld:Label> 
      <sld:Font> 
       <sld:CssParameter name="font-family">Times</sld:CssParameter> 
       <sld:CssParameter name="font-size">14</sld:CssParameter> 
       <sld:CssParameter name="font-style">normal</sld:CssParameter> 
       <sld:CssParameter name="font-weight">bold</sld:CssParameter> 
      </sld:Font> 
      <sld:LabelPlacement> 
       <sld:PointPlacement> 
       <sld:AnchorPoint> 
        <sld:AnchorPointX>0.5</sld:AnchorPointX> 
        <sld:AnchorPointY>0.0</sld:AnchorPointY> 
       </sld:AnchorPoint> 
       <sld:Displacement> 
        <sld:DisplacementX>0</sld:DisplacementX> 
        <sld:DisplacementY>5</sld:DisplacementY> 
       </sld:Displacement> 
       </sld:PointPlacement> 
      </sld:LabelPlacement> 
      <sld:Fill> 
       <sld:CssParameter name="fill">#CC0000</sld:CssParameter> 
      </sld:Fill> 
      </sld:TextSymbolizer> 
     </sld:Rule> 
     </sld:FeatureTypeStyle> 
    </sld:UserStyle> 
    </sld:NamedLayer> 
</sld:StyledLayerDescriptor> 

하지만 가끔은 라벨 교대 숨기기/표시입니다. 예를 들어

줌은 16

enter image description here

줌 17

enter image description here

줌 18

enter image description here

이 시나리오 내 SLD입니다 같지 않다 . 아무도 나를 도울 수 있습니까?

답변

1

지도가 바둑판 식으로 배열되어 있습니까? 그렇다면 라벨이 타일 경계를 넘기 때문에 라벨이 사라질 수 있습니다 (레이블의 다른 부분이 근처 타일에 표시되는지 확실하게 예측할 수 없기 때문입니다).

+0

답장을 보내 주셔서 감사합니다. 바둑판 식으로 배열되어 있습니다. 고객님의 제안에 따라 시험하겠습니다. – javagc

+0

대단히 감사합니다. – javagc