Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Fri 06 June 2014 11:49

Bruno
Membre du bureau
Lieu: Toulouse
Date d'inscription: 22 Jun 2005
Messages: 11766
Site web

Re: [MapServer] Symbole de route

Par ici SVP.

Hors ligne

 

#3 Sat 07 June 2014 18:49

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

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

 

Pied de page des forums

Powered by FluxBB