Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Thu 05 June 2014 09:43
- diletant2
- Participant occasionnel
- Date d'inscription: 10 Feb 2010
- Messages: 36
[MapServer] Symbole de route
Bonjour,
Je cherche à créer un style pour afficher des routes avec Mapserver.
avec 3 symboles pour chaque "arc routier" (= une ligne dans un shapefile) :
- un point au début de chaque arc (noeud)
- une flèche au milieu de l'arc montrant la direction de la circulation routière
- une simple ligne pour figurer la géométrie de la route
Ces 3 symboles doivent être décalés/offset à droite (en France par ex) pour bien montrer la séparation des 2 sens de circulation.
ça se fait très facilement avec QGIS (cf sld ci-dessous)
Mais je n'y arrive pas avec mapserver malgré plusieurs heures à tenter des trucs en lisant
http://mapserver.org/fr/mapfile/symbolo … ne-symbols
J'arrive à dessiner la route + la flèche, tout ça décalé.
Mais je n'arrive pas à dessiner un point sur la première coordonnée de chaque arc (+ décalage)
Si quelqu'un a une idée, merci bcp.
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/St … .xsd" xmlns:se="http://www.opengis.net/se">
<NamedLayer>
<se:Name>green_segment_oriented_offset</se:Name>
<UserStyle>
<se:Name>green_segment_oriented_offset</se:Name>
<se:FeatureTypeStyle>
<se:Rule>
<se:Name>Single symbol</se:Name>
<se:LineSymbolizer>
<se:Stroke>
<se:SvgParameter name="stroke">#00ff00</se:SvgParameter>
<se:SvgParameter name="stroke-width">1.39</se:SvgParameter>
<se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
<se:SvgParameter name="stroke-linecap">square</se:SvgParameter>
</se:Stroke>
<se:PerpendicularOffset>1</se:PerpendicularOffset>
</se:LineSymbolizer>
<se:LineSymbolizer>
<VendorOption name="placement">firstPoint</VendorOption>
<se:Stroke>
<se:GraphicStroke>
<se:Graphic>
<se:Mark>
<se:WellKnownName>circle</se:WellKnownName>
<se:Fill>
<se:SvgParameter name="fill">#00ff00</se:SvgParameter>
</se:Fill>
<se:Stroke>
<se:SvgParameter name="stroke">#00aa00</se:SvgParameter>
</se:Stroke>
</se:Mark>
<se:Size>2</se:Size>
</se:Graphic>
</se:GraphicStroke>
</se:Stroke>
<se:PerpendicularOffset>1</se:PerpendicularOffset>
</se:LineSymbolizer>
<se:LineSymbolizer>
<VendorOption name="placement">centralPoint</VendorOption>
<se:Stroke>
<se:GraphicStroke>
<se:Graphic>
<se:Mark>
<se:WellKnownName>filled_arrowhead</se:WellKnownName>
<se:Fill>
<se:SvgParameter name="fill">#00ff00</se:SvgParameter>
</se:Fill>
<se:Stroke>
<se:SvgParameter name="stroke">#00aa00</se:SvgParameter>
</se:Stroke>
</se:Mark>
<se:Size>4</se:Size>
</se:Graphic>
</se:GraphicStroke>
</se:Stroke>
<se:PerpendicularOffset>1</se:PerpendicularOffset>
</se:LineSymbolizer>
</se:Rule>
</se:FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Dernière modification par diletant2 (Thu 05 June 2014 09:45)
Hors ligne
#2 Fri 06 June 2014 11:49
En ligne
#3 Sat 07 June 2014 18:49
Re: [MapServer] Symbole de route
Bonjour,
Créé un nouvel objet STYLE dans votre couche avec le mot-clé GEOMTRANSFORM
Regarde la doc : http://mapserver.org/fr/mapfile/style.html et http://mapserver.org/fr/mapfile/geomtra … style-only
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#4 Sat 07 June 2014 19:47
- diletant2
- Participant occasionnel
- Date d'inscription: 10 Feb 2010
- Messages: 36
Re: [MapServer] Symbole de route
Merci, mais je crois que j'avais déjà essayé
et ma conclusion était que le mot-clé GEOMTRANSFORM ne peut pas être associé avec un décalage du style (OFFSET) : ça place les symboles n'importe où.
je vais ré-essayer pour être certain...
Hors ligne