<?xml version="1.0" encoding="ISO-8859-1"?>
<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>Label following line</Name>
    <UserStyle>
      <Title>SLD Cook Book: Label following line</Title>
      <FeatureTypeStyle>
        <Rule>
          <LineSymbolizer>
            <Geometry>
              <ogc:PropertyName>the_geom</ogc:PropertyName>
            </Geometry>             
            <Stroke>
              <CssParameter name="stroke">#FF0000</CssParameter>
              <CssParameter name="stroke-opacity">0.7</CssParameter>              
            </Stroke>
          </LineSymbolizer>
         <TextSymbolizer>
           <Geometry><ogc:PropertyName>the_geom</ogc:PropertyName></Geometry> 
           <Label>
             <ogc:PropertyName>prog</ogc:PropertyName>
           </Label>
           <Font>
             <CssParameter name="font-family">Arial</CssParameter>
             <CssParameter name="font-size">9</CssParameter>
             <CssParameter name="font-style">normal</CssParameter>
             <CssParameter name="font-weight">bold</CssParameter>
           </Font>           
           <LabelPlacement>
             <PointPlacement>
              <Displacement>
                <DisplacementX>
                   10
                </DisplacementX>
                <DisplacementY>
                    0
                </DisplacementY>
              </Displacement>
             </PointPlacement>
           </LabelPlacement>
           <Fill>
             <CssParameter name="fill">#000000</CssParameter>
           </Fill>
          <Priority>
              <ogc:PropertyName>prog</ogc:PropertyName>
          </Priority>            
         </TextSymbolizer>          
        </Rule>
        <Rule>
        <PointSymbolizer>
          <Geometry><ogc:PropertyName>the_geom_closer</ogc:PropertyName></Geometry>              
            <Graphic>
              <Mark>
                <WellKnownName>square</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF0000</CssParameter>
                </Fill>
              </Mark>
            <Size>6</Size>
          </Graphic>
        </PointSymbolizer>
         <TextSymbolizer>
           <Geometry><ogc:PropertyName>the_geom_closer</ogc:PropertyName></Geometry> 
           <Label>
             <ogc:PropertyName>etichetta_closer</ogc:PropertyName>
           </Label>
           <Font>
             <CssParameter name="font-family">Arial</CssParameter>
             <CssParameter name="font-size">9</CssParameter>
             <CssParameter name="font-style">normal</CssParameter>
             <CssParameter name="font-weight">bold</CssParameter>
           </Font>
          <LabelPlacement>
            <PointPlacement>
              <AnchorPoint>
                <AnchorPointX>
                  <ogc:Literal>0.0</ogc:Literal>
                </AnchorPointX>
                <AnchorPointY>
                  <ogc:Literal>0.5</ogc:Literal>
                </AnchorPointY>
              </AnchorPoint>
              <Displacement>
                <DisplacementX>
                  <ogc:Literal>6.0</ogc:Literal>
                </DisplacementX>
                <DisplacementY>
                  <ogc:Literal>5.0</ogc:Literal>
                </DisplacementY>
              </Displacement>
              <Rotation>
                <ogc:Literal>0</ogc:Literal>
              </Rotation>
            </PointPlacement>
          </LabelPlacement>            <Fill>
             <CssParameter name="fill">#000000</CssParameter>
           </Fill>          
         </TextSymbolizer>         
      </Rule>        
        <Rule>
        <PointSymbolizer>
          <Geometry><ogc:PropertyName>the_geom_far</ogc:PropertyName></Geometry>              
            <Graphic>
              <Mark>
                <WellKnownName>square</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#FF0000</CssParameter>
                </Fill>
              </Mark>
            <Size>6</Size>
          </Graphic>
        </PointSymbolizer>
         <TextSymbolizer>
           <Geometry><ogc:PropertyName>the_geom_far</ogc:PropertyName></Geometry> 
           <Label>
             <ogc:PropertyName>etichetta_far</ogc:PropertyName>
           </Label>
           <Font>
             <CssParameter name="font-family">Arial</CssParameter>
             <CssParameter name="font-size">9</CssParameter>
             <CssParameter name="font-style">normal</CssParameter>
             <CssParameter name="font-weight">bold</CssParameter>
           </Font>
          <LabelPlacement>
            <PointPlacement>
              <AnchorPoint>
                <AnchorPointX>
                  <ogc:Literal>0.0</ogc:Literal>
                </AnchorPointX>
                <AnchorPointY>
                  <ogc:Literal>0.5</ogc:Literal>
                </AnchorPointY>
              </AnchorPoint>
              <Displacement>
                <DisplacementX>
                  <ogc:Literal>6.0</ogc:Literal>
                </DisplacementX>
                <DisplacementY>
                  <ogc:Literal>5.0</ogc:Literal>
                </DisplacementY>
              </Displacement>
              <Rotation>
                <ogc:Literal>0</ogc:Literal>
              </Rotation>
            </PointPlacement>
          </LabelPlacement>            <Fill>
             <CssParameter name="fill">#000000</CssParameter>
           </Fill>          
         </TextSymbolizer>         
      </Rule>        
    <Rule>
      <ogc:Filter>
      <ogc:PropertyIsEqualTo>
      <ogc:PropertyName>trafdir</ogc:PropertyName>
      <ogc:Literal>W</ogc:Literal>
      </ogc:PropertyIsEqualTo>
      </ogc:Filter>
      <TextSymbolizer>
      <Geometry><ogc:PropertyName>the_geom</ogc:PropertyName></Geometry> 
      <Label>
      <ogc:Literal>&#x2192;</ogc:Literal>
      </Label>
      <Font>
      <CssParameter name="font-family">Lucida Sans</CssParameter>
      <CssParameter name="font-size">18</CssParameter>
      </Font>
      <Fill>
      <CssParameter name="fill">#FF0000</CssParameter>
      </Fill>
      <VendorOption name="followLine">true</VendorOption>
      </TextSymbolizer>
    </Rule>
    <Rule>
      <ogc:Filter>
      <ogc:PropertyIsEqualTo>
      <ogc:PropertyName>trafdir</ogc:PropertyName>
      <ogc:Literal>A</ogc:Literal>
      </ogc:PropertyIsEqualTo>
      </ogc:Filter>
      <TextSymbolizer>
        <Geometry><ogc:PropertyName>the_geom</ogc:PropertyName></Geometry>
      <Label>
      <ogc:Literal>&#x2190;</ogc:Literal>
      </Label>
      <Font>
      <CssParameter name="font-family">Lucida Sans</CssParameter>
      <CssParameter name="font-size">18</CssParameter>
      </Font>
      <Fill>
      <CssParameter name="fill">#FF0000</CssParameter>
      </Fill>
      <VendorOption name="followLine">true</VendorOption>
      </TextSymbolizer>
    </Rule>
    <Rule>
      <ogc:Filter>
      <ogc:PropertyIsEqualTo>
      <ogc:PropertyName>trafdir</ogc:PropertyName>
      <ogc:Literal>T</ogc:Literal>
      </ogc:PropertyIsEqualTo>
      </ogc:Filter>
      <TextSymbolizer>
        <Geometry><ogc:PropertyName>the_geom</ogc:PropertyName></Geometry>
      <Label>
      <ogc:Literal>&#x21c4;</ogc:Literal>
      </Label>
      <Font>
      <CssParameter name="font-family">Lucida Sans</CssParameter>
      <CssParameter name="font-size">18</CssParameter>
      </Font>
      <Fill>
      <CssParameter name="fill">#a4bdc5</CssParameter>
      </Fill>
      <VendorOption name="followLine">true</VendorOption>
      </TextSymbolizer>
    </Rule>    
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>
