This is the style I used. Labeling options are in the bottom:

-----8<-----8<-----8<----8<----

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0" 
                       xsi:schemaLocation="http://www.opengis.net/sld 
StyledLayerDescriptor.xsd" 
                       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";>
  <NamedLayer> <Name> area landmarks </Name>
  <UserStyle>
    <FeatureTypeStyle>
      <FeatureTypeName>Feature</FeatureTypeName>
      <Rule>  
        <ogc:Filter>
          <ogc:PropertyIsEqualTo>
            <ogc:PropertyName>NAME</ogc:PropertyName>
            <ogc:Literal>Broadway</ogc:Literal>
          </ogc:PropertyIsEqualTo>
        </ogc:Filter>      
        <!-- <MinScaleDenominator>32000</MinScaleDenominator> -->
        <LineSymbolizer>
          <Stroke>
            <CssParameter name="stroke">
              <ogc:Literal>#666666</ogc:Literal>
            </CssParameter>
            <CssParameter name="stroke-width">
              <ogc:Literal>2</ogc:Literal>
            </CssParameter>
          </Stroke>
        </LineSymbolizer>
      </Rule>
      
      <Rule>    <!-- thick line drawn first-->
        <ogc:Filter>
          <ogc:PropertyIsEqualTo>
            <ogc:PropertyName>NAME</ogc:PropertyName>
            <ogc:Literal>Broadway</ogc:Literal>
          </ogc:PropertyIsEqualTo>
        </ogc:Filter>      
        <!-- <MaxScaleDenominator>32000</MaxScaleDenominator> -->
        <LineSymbolizer>
          <Stroke>
            <CssParameter name="stroke">
              <ogc:Literal>#666666</ogc:Literal>
            </CssParameter>
            <CssParameter name="stroke-width">
              <ogc:Literal>7</ogc:Literal>
            </CssParameter>
          </Stroke>
        </LineSymbolizer>
      </Rule>
    </FeatureTypeStyle>
    <FeatureTypeStyle>
      <FeatureTypeName>Feature</FeatureTypeName>
      <Rule>    <!-- thin line drawn second -->
        <ogc:Filter>
          <ogc:PropertyIsEqualTo>
            <ogc:PropertyName>NAME</ogc:PropertyName>
            <ogc:Literal>Broadway</ogc:Literal>
          </ogc:PropertyIsEqualTo>
        </ogc:Filter>      
        <!-- <MaxScaleDenominator>32000</MaxScaleDenominator> -->
        <LineSymbolizer>
          <Stroke>
            <CssParameter name="stroke">
              <ogc:Literal>#FFFFFF</ogc:Literal>
            </CssParameter>
            <CssParameter name="stroke-width">
              <ogc:Literal>4</ogc:Literal>
            </CssParameter>
          </Stroke>
        </LineSymbolizer>
      </Rule> 
      <!-- label -->     
      <Rule>
        <ogc:Filter>
          <ogc:PropertyIsEqualTo>
            <ogc:PropertyName>NAME</ogc:PropertyName>
            <ogc:Literal>Broadway</ogc:Literal>
          </ogc:PropertyIsEqualTo>
        </ogc:Filter>      
        <!-- <MaxScaleDenominator>32000</MaxScaleDenominator> -->
        <TextSymbolizer>
          <Label>
            <ogc:Literal>R11</ogc:Literal>
          </Label>
          
          <Font>
            <CssParameter name="font-family">Times New Roman</CssParameter>
            <CssParameter name="font-style">Normal</CssParameter>
            <CssParameter name="font-size">14</CssParameter>
            <CssParameter name="font-weight">bold</CssParameter>
          </Font>
          
          <LabelPlacement>
            <LinePlacement>
            </LinePlacement>
          </LabelPlacement>
          <Halo>
            <Radius>
              <ogc:Literal>2</ogc:Literal>
            </Radius>
            <Fill>
              <CssParameter name="fill">#FFFFFF</CssParameter>
              <CssParameter name="fill-opacity">0.85</CssParameter>             
                
            </Fill>
          </Halo>
          
          <Fill>
            <CssParameter name="fill">#000000</CssParameter>
          </Fill>
          
          <VendorOption name="repeat">100</VendorOption>
          <VendorOption name="group">true</VendorOption>
          <VendorOption name="labelAllGroup">true</VendorOption>
          
        </TextSymbolizer>
      </Rule>
    </FeatureTypeStyle>
    
  </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>


----8<-----8<-----8<-----8<-----8<-----


-----Original Message-----
From: Kanninen Anssi EXT [mailto:[email protected]] 
Sent: 30. kesäkuuta 2016 11:47
To: '[email protected]'
Subject: [Geoserver-users] Road number labeling difficulties

Hello everybody and greetings from sunny Finland!

First of all, Geoserver is great! I'm amazed how fast it renders layergroups 
with almost 100 layers having different styles.

But I've got some difficulties when labeling roads and zooming the map out.
We've got some long roads with dozens of segments, all having the road number 
as an attribute.
I want the road number labels to be show along the long road with an equals 
distance from each other.

* When I zoom in with just two or three segments visible, the VendorOption 
"repeat" is enough. The labels are displayed nicely along the road 
(sample1.png).
* When I zoom out, I can not label all the segments anymore because the labels 
come too close to each other (sample2.png). So I will add VendorOption "group". 
But it only shows the labels in the longest path and not the labels on the 
other (possible slightly disjoint) segments (sample3.png).
* Then I add "labelAllGroup". But again, I get too much labels because every 
segment will have it (sample4.png).

(The example data is tiger_roads with only Broadway visible and an imaginary 
road number "R11" for all the segments.)

So, how can I display the labels along all the visible road segments, not too 
close or not too far away from each other?

Thank you!

Best regards,
    Anssi Kanninen

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to