FR:BeCikloXmlPistes

From OpenStreetMap Wiki
Jump to navigation Jump to search

Fonctionnement

Tout ce qui est entre <div id="XMLBeciklo"><pre>...</pre></div> sera récupéré par un script quotidien pour être concaténé. L'ensemble définissant le XML envoyé a Mapnik. On peut donc modifier l'aspect de cette page pour la rendre plus lisible et compréhensible

La feuille de style est, au départ, un brouillon que j'avais utilisé pour comprendre mapnik. Il est donc sale et peut être nettoyé.

Fichier XML

Légende

Fond de carte

Calque cyclable

zoom 11

Zoom 12 et supérieur

Les voies unilatérale sont réprésentées du coté physique ou elles se trouvent.

Les voies à sens unique sont signalées par des flèches.

Légende Objet Condition
Jaune avec point noir Voies piétonnes et pédestres

+ longueur > 500m en zoom 12; 250m en zoom 13

Vert Pistes cyclables hors circulation
Vert continu Vélos Rollers highway=cycleway ou cycleway=track ou cycleway=opposite_track ou highway=path + surface=* (paved, asphalt, concrete ou vide) ou smoothness=* (excellent, good ou vide)
Vert pointillés VTC VTT
Bleu Pistes cyclables sur voie
Bleu continu Aménagement prévu cycleway=lane ou cycleway=opposite_lane
Bleu pointillé Pas d'aménagement prévu mais néanmoins recommandées bicycle=designated
Marron avec tiret verts Routes en terre partagées avec les voitures highway=track

En-tête

<Map bgcolor="transparent" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">

Styles

<Style name="points">
   
</Style>
<Style name="access">
    <Rule>
      <Filter>[access] = 'permissive' and [highway]='footway'</Filter>
      <MaxScaleDenominator>20000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">#cf9</CssParameter>
        <CssParameter name="stroke-width">6</CssParameter>
        <CssParameter name="stroke-dasharray">6,8</CssParameter>
        <CssParameter name="stroke-opacity">0.5</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>[access] = 'private' or [access] = 'no'</Filter>
      <MaxScaleDenominator>20000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">#efa9a9</CssParameter>
        <CssParameter name="stroke-width">6</CssParameter>
        <CssParameter name="stroke-dasharray">6,8</CssParameter>
        <CssParameter name="stroke-opacity">0.5</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
</Style>

<Style name="minor-roads-fill"> 

footway/pedestrian

     <Rule>
      <Filter>([highway] = 'pedestrian'
              or ([highway] = 'footway' and ([bicycle]='yes' or [bicycle]='permissive'))
              or ([highway] = 'steps' and [ramp:bicycle] = 'yes'))
              and [longueur] > 500</Filter>
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <MinScaleDenominator>100000</MinScaleDenominator>
       <LineSymbolizer>
        <CssParameter name="stroke">#f6ff00</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">black</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
        <CssParameter name="stroke-dasharray">1,5</CssParameter>
      </LineSymbolizer>
    </Rule>  
    <Rule>
      <Filter>([highway] = 'pedestrian'
              or ([highway] = 'footway' and ([bicycle]='yes' or [bicycle]='permissive'))
              or ([highway] = 'steps' and [ramp:bicycle] = 'yes'))
              and [longueur] > 250</Filter>
      <MaxScaleDenominator>100000</MaxScaleDenominator>
      <MinScaleDenominator>50000</MinScaleDenominator>
       <LineSymbolizer>
        <CssParameter name="stroke">#f6ff00</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">black</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
        <CssParameter name="stroke-dasharray">1,5</CssParameter>
      </LineSymbolizer>
    </Rule>  
    <Rule>
      <Filter>([highway] = 'pedestrian'
              or ([highway] = 'footway' and ([bicycle]='yes' or [bicycle]='permissive'))
              or ([highway] = 'steps' and [ramp:bicycle] = 'yes'))
              and [longueur] > 150</Filter>
      <MaxScaleDenominator>50000</MaxScaleDenominator>
      <MinScaleDenominator>25000</MinScaleDenominator>
       <LineSymbolizer>
        <CssParameter name="stroke">#f6ff00</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">black</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
        <CssParameter name="stroke-dasharray">1,5</CssParameter>
      </LineSymbolizer>
    </Rule>  
    <Rule>
      <Filter>([highway] = 'pedestrian'
              or ([highway] = 'footway' and ([bicycle]='yes' or [bicycle]='permissive'))
              or ([highway] = 'steps' and [ramp:bicycle] = 'yes'))</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>
      <MinScaleDenominator>15000</MinScaleDenominator>

       <LineSymbolizer>
        <CssParameter name="stroke">#f6ff00</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">black</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
        <CssParameter name="stroke-dasharray">1,5</CssParameter>
      </LineSymbolizer>
    </Rule>  
    <Rule>
      <Filter>([highway] = 'pedestrian'
              or ([highway] = 'footway' and ([bicycle]='yes' or [bicycle]='permissive'))
              or ([highway] = 'steps' and [ramp:bicycle] = 'yes'))</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>

       <LineSymbolizer>
        <CssParameter name="stroke">#f6ff00</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">black</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">miter</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
        <CssParameter name="stroke-dasharray">1,5</CssParameter>
      </LineSymbolizer>
    </Rule>  


path

 <Rule>
      <Filter>[longueur] > 500 and ([highway] = 'cycleway' 
               or ([highway] = 'path' and not [bicycle]='no'
                    and ([surface]='paved' or [surface]='asphalt' or [surface]='concrete'
                         or [smoothness]='excellent' or [smoothness]='good' or [smoothness]='no' or  [surface]='no')))
      </Filter>
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <MinScaleDenominator>100000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>[longueur] > 500 and (([highway] = 'path' and not [bicycle]='no'
                and ([smoothness]='intermediate' or [smoothness]='bad' or [smoothness]='very_bad' or [smoothness]='no')
                and not ([surface]='paved' or [surface]='asphalt' or [surface]='concrete'))
              or ([highway] = 'bridleway' and [bicycle] = 'yes'))
      </Filter>
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <MinScaleDenominator>100000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">lawngreen</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-dasharray">3,4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
 <Rule>
      <Filter>[highway] = 'cycleway' 
               or ([highway] = 'path' and not [bicycle]='no'
                    and ([surface]='paved' or [surface]='asphalt' or [surface]='concrete'
                         or [smoothness]='excellent' or [smoothness]='good' or [smoothness]='no' or  [surface]='no'))
      </Filter>
      <MaxScaleDenominator>100000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>([highway] = 'path' and not [bicycle]='no'
                and ([smoothness]='intermediate' or [smoothness]='bad' or [smoothness]='very_bad' or [smoothness]='no')
                and not ([surface]='paved' or [surface]='asphalt' or [surface]='concrete'))
              or ([highway] = 'bridleway' and [bicycle] = 'yes')
      </Filter>
      <MaxScaleDenominator>100000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">lawngreen</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-dasharray">3,4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>

track


<Rule>
      <Filter>[highway] = 'track' and [longueur] > 500 and not [tracktype]='grade1'</Filter>
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <MinScaleDenominator>100000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">#807254</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">lawngreen</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-dasharray">2,5</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>[highway] = 'track' and not [tracktype]='grade1'</Filter>
      <MaxScaleDenominator>100000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">#807254</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">lawngreen</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-dasharray">2,5</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>

</Style>

Cycleway


<Style name="cycleway">

    <Rule>
      <Filter>([highway] = 'road' or [highway] = 'residential' or [highway] = 'unclassified') and [bicycle] = 'designated' and [longueur] > 500</Filter>
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">mediumblue</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">cornflowerblue</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-dasharray">3,4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
<!--zoom inf a 15-->
    <Rule>
      <Filter>([cycleway] = 'lane' or [cycleway]='opposite_lane' or [cycleway:right]='lane' or [cycleway:left]='lane') 
               and [longueur] > 200</Filter> <!--a ce niveau la on affiche tout sans decalage-->
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <MinScaleDenominator>25000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">mediumblue</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">cornflowerblue</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>([cycleway] = 'track' or [cycleway]='opposite_track' or [cycleway:right]='track' or [cycleway:left]='track')
               and [longueur] > 200</Filter>
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <MinScaleDenominator>25000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>

<!--zoom 15-->
    <Rule>
      <Filter>[cycleway] = 'lane' and not [oneway]='yes'</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">mediumblue</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">cornflowerblue</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>([cycleway:right]='lane' and ([oneway]='yes' or not [cycleway:left]='lane'))
           or ([cycleway] = 'lane' and [oneway]='yes')</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">mediumblue</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-offset">-2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">cornflowerblue</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-offset">-2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>([cycleway:left]='lane' and not [cycleway:right]='lane')
            or [cycleway]='opposite_lane'</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>      
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">mediumblue</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-offset">2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">cornflowerblue</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-offset">2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule> 
    <Rule>
      <Filter>[cycleway] = 'track' and not [oneway]='yes'</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>([cycleway:right]='track' and ([oneway]='yes' or not [cycleway:left]='track'))
           or ([cycleway] = 'track' and [oneway]='yes')</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-offset">-2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-offset">-2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>([cycleway:left]='track' and not [cycleway:right]='track')
            or [cycleway]='opposite_track'</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>      
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-offset">2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-offset">2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>

<!-- zoom 16-->
    <Rule>
      <Filter>[cycleway] = 'lane' and not [oneway]='yes'</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">mediumblue</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">cornflowerblue</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>[cycleway:right]='lane' and ([oneway]='yes' or not [cycleway:left]='lane')
               or ([cycleway] = 'lane' and [oneway]='yes')</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">mediumblue</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-offset">-4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">cornflowerblue</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-offset">-4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>([cycleway:left]='lane' and not [cycleway:right]='lane')
              or [cycleway]='opposite_lane'</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">mediumblue</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-offset">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">cornflowerblue</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-offset">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>[cycleway] = 'track' and not [oneway]='yes'</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>[cycleway:right]='track' and ([oneway]='yes' or not [cycleway:left]='track')
              or ([cycleway] = 'track' and [oneway]='yes')</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-offset">-4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-offset">-4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>([cycleway:left]='track' and not [cycleway:right]='track')
              or [cycleway]='opposite_track'</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">green</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-offset">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">limegreen</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-offset">4</CssParameter>
        <CssParameter name="stroke-linejoin">round</CssParameter>
        <CssParameter name="stroke-linecap">round</CssParameter>
      </LineSymbolizer>
    </Rule>


</Style>

directions

<Style name="directions">
<!-- zoom 15-->
     <Rule>
      <Filter>[highway] = 'cycleway' and [oneway]='yes'</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">1</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,4,1</CssParameter>    
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,3,2</CssParameter>    
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,2,3</CssParameter>   
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,1,4</CssParameter>   
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>(([cycleway] = 'lane' or [cycleway] = 'track') and [oneway]='yes')
              or ([cycleway:right]='lane' and not [cycleway:left] = 'lane')</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">1</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,4,1</CssParameter>           
        <CssParameter name="stroke-offset">-2</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,3,2</CssParameter>        
        <CssParameter name="stroke-offset">-2</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,2,3</CssParameter>   
        <CssParameter name="stroke-offset">-2</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,1,4</CssParameter>   
        <CssParameter name="stroke-offset">-2</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>(([cycleway] = 'opposite_lane' or [cycleway] = 'opposite_track') and [oneway]='yes')
              or ([cycleway:left]='lane' and not [cycleway:right] = 'lane')</Filter>
      <MaxScaleDenominator>25000</MaxScaleDenominator>
      <MinScaleDenominator>15000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">1</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,4,1</CssParameter>           
        <CssParameter name="stroke-offset">2</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,9,3,1</CssParameter>        
        <CssParameter name="stroke-offset">2</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,10,2,1</CssParameter>   
        <CssParameter name="stroke-offset">2</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,11,1,1</CssParameter>   
        <CssParameter name="stroke-offset">2</CssParameter>
      </LineSymbolizer>
    </Rule>

<!-- zoom 16-->
     <Rule>
      <Filter>[highway] = 'cycleway' and [oneway]='yes'</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">1</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,4,1</CssParameter>    
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,3,2</CssParameter>    
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,2,3</CssParameter>   
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,1,4</CssParameter>   
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>(([cycleway] = 'lane' or [cycleway] = 'track') and [oneway]='yes')
              or ([cycleway:right]='lane' and not [cycleway:left] = 'lane')</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">1</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,4,1</CssParameter>           
        <CssParameter name="stroke-offset">-4</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,3,2</CssParameter>        
        <CssParameter name="stroke-offset">-4</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,2,3</CssParameter>   
        <CssParameter name="stroke-offset">-4</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,1,4</CssParameter>   
        <CssParameter name="stroke-offset">-4</CssParameter>
      </LineSymbolizer>
    </Rule>
    <Rule>
      <Filter>(([cycleway] = 'opposite_lane' or [cycleway] = 'opposite_track') and [oneway]='yes')
              or ([cycleway:left]='lane' and not [cycleway:right] = 'lane')</Filter>
      <MaxScaleDenominator>15000</MaxScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">1</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,8,4,1</CssParameter>           
        <CssParameter name="stroke-offset">4</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">2</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,9,3,1</CssParameter>        
        <CssParameter name="stroke-offset">4</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,10,2,1</CssParameter>   
        <CssParameter name="stroke-offset">4</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">white</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-dasharray">0,11,1,1</CssParameter>   
        <CssParameter name="stroke-offset">4</CssParameter>
      </LineSymbolizer>
    </Rule>
</Style>

cycle network

<Style name="network">
    <Rule>
      <Filter>(not [lcn_ref]='no' or [network]='lcn')</Filter>
      <MaxScaleDenominator>600000</MaxScaleDenominator>
      <MinScaleDenominator>250000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">black</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">#D71FEC</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
    </Rule>   
 <Rule>
      <Filter>(not [lcn_ref]='no' or [network]='lcn')</Filter>
      <MaxScaleDenominator>250000</MaxScaleDenominator>
      <MinScaleDenominator>100000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">#D71FEC</CssParameter>
        <CssParameter name="stroke-width">6</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
        <CssParameter name="stroke-opacity">0.2</CssParameter>
      </LineSymbolizer>
    </Rule>  
    <Rule>
      <Filter>(not [rcn_ref]='no' or [network]='rcn')</Filter>
      <MaxScaleDenominator>600000</MaxScaleDenominator>
      <MinScaleDenominator>250000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">black</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">#7B3FCB</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
    </Rule>   
    <Rule>
      <Filter>(not [ncn_ref]='no' or [network]='ncn')</Filter>
      <MaxScaleDenominator>600000</MaxScaleDenominator>
      <MinScaleDenominator>250000</MinScaleDenominator>
      <LineSymbolizer>
        <CssParameter name="stroke">black</CssParameter>
        <CssParameter name="stroke-width">4</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">red</CssParameter>
        <CssParameter name="stroke-width">3</CssParameter>
        <CssParameter name="stroke-linejoin">bevel</CssParameter>
        <CssParameter name="stroke-linecap">butt</CssParameter>
      </LineSymbolizer>
    </Rule>   
</Style>


<Style name="refNetwork">
 <Rule>
      <Filter>[ network_ref_length] = 1</Filter>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <MinScaleDenominator>150000</MinScaleDenominator>
      <ShieldSymbolizer name="network_ref" face_name="DejaVu Sans Bold" size="10" fill="#fff" placement="line" file= "/media/Stockage/Data/Sites/map/mapnikOsm/symbols/mot_shield1.png" type="png" width="17" height="17" min_distance="30" spacing="750"/>
    </Rule>
    <Rule>
      <Filter>[ network_ref_length] = 2</Filter>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <MinScaleDenominator>150000</MinScaleDenominator>
      <ShieldSymbolizer name="network_ref" face_name="DejaVu Sans Bold" size="10" fill="#fff" placement="line" file= "/media/Stockage/Data/Sites/map/mapnikOsm/symbols/mot_shield2.png" type="png" width="24" height="17" min_distance="30" spacing="750"/>
    </Rule>
    <Rule>
      <Filter>[ network_ref_length] = 3</Filter>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <MinScaleDenominator>150000</MinScaleDenominator>
      <ShieldSymbolizer name="network_ref" face_name="DejaVu Sans Bold" size="10" fill="#fff" placement="line" file= "/media/Stockage/Data/Sites/map/mapnikOsm/symbols/mot_shield3.png" type="png" width="31" height="17" min_distance="30" spacing="750"/>
    </Rule>
    <Rule>
      <Filter>[ network_ref_length] = 4</Filter>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <MinScaleDenominator>150000</MinScaleDenominator>
      <ShieldSymbolizer name="network_ref" face_name="DejaVu Sans Bold" size="10" fill="#fff" placement="line" file= "/media/Stockage/Data/Sites/map/mapnikOsm/symbols/mot_shield4.png" type="png" width="38" height="17" min_distance="30" spacing="750"/>
    </Rule>
    <Rule>
      <Filter>[ network_ref_length] = 5</Filter>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <MinScaleDenominator>150000</MinScaleDenominator>
      <ShieldSymbolizer name="network_ref" face_name="DejaVu Sans Bold" size="10" fill="#fff" placement="line" file= "/media/Stockage/Data/Sites/map/mapnikOsm/symbols/mot_shield5.png" type="png" width="45" height="17" min_distance="30" spacing="750"/>
    </Rule>
    <Rule>
      <Filter>[ network_ref_length] = 6</Filter>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <MinScaleDenominator>150000</MinScaleDenominator>
      <ShieldSymbolizer name="network_ref" face_name="DejaVu Sans Bold" size="10" fill="#fff" placement="line" file= "/media/Stockage/Data/Sites/map/mapnikOsm/symbols/mot_shield6.png" type="png" width="52" height="17" min_distance="30" spacing="750"/>
    </Rule>
    <Rule>
      <Filter>[ network_ref_length] = 7</Filter>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <MinScaleDenominator>150000</MinScaleDenominator>
      <ShieldSymbolizer name="network_ref" face_name="DejaVu Sans Bold" size="10" fill="#fff" placement="line" file= "/media/Stockage/Data/Sites/map/mapnikOsm/symbols/mot_shield6.png" type="png" width="52" height="17" min_distance="30" spacing="750"/>
    </Rule>
    <Rule>
      <Filter>[ network_ref_length] = 8</Filter>
      <MaxScaleDenominator>1000000</MaxScaleDenominator>
      <MinScaleDenominator>150000</MinScaleDenominator>
      <ShieldSymbolizer name="network_ref" face_name="DejaVu Sans Bold" size="10" fill="#fff" placement="line" file= "/media/Stockage/Data/Sites/map/mapnikOsm/symbols/mot_shield7.png" type="png" width="59" height="17" min_distance="30" spacing="750"/>
    </Rule>
</Style>

Layers

<Layer name="minor-roads-fill" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
    <StyleName>minor-roads-fill-links</StyleName>
    <StyleName>minor-roads-fill</StyleName>
    <Datasource>
      <Parameter name="type">postgis</Parameter>
      <Parameter name="host">localhost</Parameter>
      <Parameter name="port">5432</Parameter>
      <Parameter name="user">tilegen</Parameter>
      <Parameter name="password">tilegen</Parameter>
      <Parameter name="dbname">gis</Parameter>
      <Parameter name="table">
      (select way,highway,horse,bicycle,foot,railway,service,cycleway,network,"ramp:bicycle",oneway,tracktype,
       case when "cycleway:right" is null then 'no'::text else "cycleway:right" end as "cycleway:right",
       case when "cycleway:left" is null then 'no'::text else "cycleway:left" end as "cycleway:left",
       case when lcn_ref is null then 'no'::text else lcn_ref end as lcn_ref,
       case when rcn_ref is null then 'no'::text else rcn_ref end as rcn_ref,
       case when ncn_ref is null then 'no'::text else ncn_ref end as ncn_ref,
       case when surface is null then 'no'::text else surface end as surface,
       case when smoothness is null then 'no'::text else smoothness end as smoothness,
       case when tunnel in ('yes','true','1') then 'yes'::text else tunnel end as tunnel,
       case when bridge in ('yes','true','1') then 'yes'::text else bridge end as bridge,
       length(way)::integer as longueur
       from planet_osm_line
       where highway is not null
       order by z_order) as roads
      </Parameter>
      <Parameter name="estimate_extent">false</Parameter>
      <Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
    </Datasource>
</Layer>
<Layer name="cycleway" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
    <StyleName>cycleway</StyleName>
    <Datasource>
      <Parameter name="type">postgis</Parameter>
      <Parameter name="host">localhost</Parameter>
      <Parameter name="port">5432</Parameter>
      <Parameter name="user">tilegen</Parameter>
      <Parameter name="password">tilegen</Parameter>
      <Parameter name="dbname">gis</Parameter>
      <Parameter name="table">
      (select way,highway,bicycle,foot,cycleway,oneway,"ramp:bicycle",
       case when "cycleway:right" is null then 'no'::text else "cycleway:right" end as "cycleway:right",
       case when "cycleway:left" is null then 'no'::text else "cycleway:left" end as "cycleway:left",
       length(way)::integer as longueur
       from planet_osm_line
       where highway is not null
       and highway not in ('cycleway','path')
       order by z_order) as roads
      </Parameter>
      <Parameter name="estimate_extent">false</Parameter>
      <Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
    </Datasource>
</Layer>
<Layer name="directions" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
    <StyleName>directions</StyleName>
    <StyleName>minor-roads-fill</StyleName>
    <Datasource>
      <Parameter name="type">postgis</Parameter>
      <Parameter name="host">localhost</Parameter>
      <Parameter name="port">5432</Parameter>
      <Parameter name="user">tilegen</Parameter>
      <Parameter name="password">tilegen</Parameter>
      <Parameter name="dbname">gis</Parameter>
      <Parameter name="table">
      (select way,highway,horse,bicycle,foot,railway,service,cycleway,network,"ramp:bicycle",oneway,tracktype,
       case when "cycleway:right" is null then 'no'::text else "cycleway:right" end as "cycleway:right",
       case when "cycleway:left" is null then 'no'::text else "cycleway:left" end as "cycleway:left",
       case when lcn_ref is null then 'no'::text else lcn_ref end as lcn_ref,
       case when rcn_ref is null then 'no'::text else rcn_ref end as rcn_ref,
       case when ncn_ref is null then 'no'::text else ncn_ref end as ncn_ref,
       case when surface is null then 'no'::text else surface end as surface,
       case when smoothness is null then 'no'::text else smoothness end as smoothness,
       case when tunnel in ('yes','true','1') then 'yes'::text else tunnel end as tunnel,
       case when bridge in ('yes','true','1') then 'yes'::text else bridge end as bridge,
       length(way)::integer as longueur
       from planet_osm_line
       where highway is not null
       order by z_order) as roads
      </Parameter>
      <Parameter name="estimate_extent">false</Parameter>
      <Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
    </Datasource>
</Layer>
<Layer name="amenity" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
    <StyleName>points</StyleName>
    <Datasource>
      <Parameter name="type">postgis</Parameter>
      <Parameter name="host">localhost</Parameter>
      <Parameter name="port">5432</Parameter>
      <Parameter name="user">tilegen</Parameter>
      <Parameter name="password">tilegen</Parameter>
      <Parameter name="dbname">gis</Parameter>
      <Parameter name="table">(select * 
      from planet_osm_point 
where barrier IS NOT NULL 
or amenity IS NOT NULL 
or tourism is NOT NULL 
or railway is NOT NULL 
or "natural" is NOT NULL 
or highway is NOT NULL 
or man_made is NOT NULL) as amenity</Parameter>
<Parameter name="estimate_extent">false</Parameter>
<Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
    </Datasource>
</Layer>

<Layer name="network" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
    <StyleName>network</StyleName>
    <Datasource>
      <Parameter name="type">postgis</Parameter>
      <Parameter name="host">localhost</Parameter>
      <Parameter name="port">5432</Parameter>
      <Parameter name="user">tilegen</Parameter>
      <Parameter name="password">tilegen</Parameter>
      <Parameter name="dbname">gis</Parameter>
      <Parameter name="table">
      (select way,bicycle,highway,network,
       case when lcn_ref is null then 'no'::text else lcn_ref end as lcn_ref,
       case when rcn_ref is null then 'no'::text else rcn_ref end as rcn_ref,
       case when ncn_ref is null then 'no'::text else ncn_ref end as ncn_ref,
       length(way)::integer as longueur
       from planet_osm_line
       where lcn_ref is not null or network='lcn'
       or rcn_ref is not null or network='rcn'
       or ncn_ref is not null or network='ncn'
       order by z_order) as roads
      </Parameter>
      <Parameter name="estimate_extent">false</Parameter>
      <Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
    </Datasource>
</Layer>
<Layer name="refNetwork" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
     <StyleName>refNetwork</StyleName>
     <Datasource>
      <Parameter name="type">postgis</Parameter>
      <Parameter name="host">localhost</Parameter>
      <Parameter name="port">5432</Parameter>
      <Parameter name="user">tilegen</Parameter>
      <Parameter name="password">tilegen</Parameter>
      <Parameter name="dbname">gis</Parameter>
      <Parameter name="table">
      (select way, network, lcn_ref, rcn_ref, ncn_ref, ref,
       case when ncn_ref is null then 
        case when rcn_ref is null then 
         case when lcn_ref is null then 
          case when ref is null then 'no'::text 
          else ref end
         else lcn_ref end 
        else rcn_ref end   
       else ncn_ref end as network_ref,
       case when ncn_ref is null then 
        case when rcn_ref is null then 
         case when lcn_ref is null then 
          case when ref is null then 0 
          else char_length(ref) end
         else char_length(lcn_ref) end 
        else char_length(rcn_ref) end   
       else char_length(ncn_ref) end as network_ref_length
       from planet_osm_line
       where lcn_ref is not null or (network='lcn' and ref is not null)
       or rcn_ref is not null or (network='rcn' and ref is not null)
       or ncn_ref is not null or (network='ncn' and ref is not null)
      ) as roads
      </Parameter>
      <Parameter name="estimate_extent">false</Parameter>
      <Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>
    </Datasource>
</Layer>

</Map>