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 Wed 29 October 2014 17:13

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

[MapServer] Mapfile - Créer des fonctions, possible ?

Bonjour/Bonsoir,


2ème sujet en peu de temps (oui oui, çà cogite).

venant de la prog info, je suis plutôt frustré en voyant les mapfiles.
J'aimerai pouvoir créer et exploiter des fonctions.
Est-ce que cela existe ? Ou quelque chose qui s'en approche ?

voici le genre de code que je peux avoir dans des dizaines de fichiers différents, seul diffère la variable "titi" situé dans la ligne EXPRESSION :

Code:

CLASS
      NAME "A"
      EXPRESSION ([titi] <= 0)
      STYLE
        COLOR 50 50 50
        OUTLINECOLOR 255 50 50
      END
    END
    CLASS
      NAME "B"
      EXPRESSION ([titi] = 1)
      STYLE
        COLOR 0 200 0
        OUTLINECOLOR 255 50 50
      END
    END
    CLASS
      NAME "C"
      EXPRESSION ([titi] = 2)
      STYLE
        COLOR 0 255 0
        OUTLINECOLOR 255 50 50
      END
    END

Il existe des INCLUDE que j'utilise mais l'idéal serait la possibilité de créer des fonctions comme en programmation (je rêve, je sais) :

Code:

FUNCTION FonctionSymbol (ValeurParametre) {
    #on dupliquerait le code écrit plus haut et titi serait remplacé par ValeurParametre
}

#dans les layers on appelerait alors la fonction :
FonctionSymbol('titi')

La voie CLASSITEM serait la seule voie qui pourrait pallier à celà ?

Même si vous n'avez pas la réponse toute faite, n'hésitez pas à venir répondre. Ce sera une bonne base de discussion.

Merci d'avance.

Dernière modification par sigdu80 (Wed 29 October 2014 17:30)

Hors ligne

 

#2 Wed 29 October 2014 20:28

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

Re: [MapServer] Mapfile - Créer des fonctions, possible ?

bonsoir,

Regarde de ce côté : http://mapgears.github.io/scribeui-site/

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

 

#3 Wed 29 October 2014 23:35

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [MapServer] Mapfile - Créer des fonctions, possible ?

merci pour l'info.

Bon, ma version de MapServer n'est pas encore assez récente pour tester Scribe UI.
Je testerai peut-être par la suite, en faisant de la veille pour voir ce que çà rend.

Dans l'immédiat et en m'inspirant de : http://georezo.net/forum/viewtopic.php?id=51999

Je vais regarder si je peux exploiter CLASSITEM et INCLUDE et arriver à mes fins :

Code:

CLASSITEM "titi"
INCLUDE "testRisque.map"

CLASSITEM "toto"
INCLUDE "testRisque.map"

CLASSITEM "tata"
INCLUDE "testRisque.map"

et le "testRisque.map" :

Code:

CLASS
      NAME "A"
      EXPRESSION "0"      #ici, toto, titi, tata seront comparés à la valeur 0
      STYLE
        COLOR 50 50 50
        OUTLINECOLOR 255 50 50
      END
END
CLASS
      NAME "B"
      EXPRESSION "1"      #ici, toto, titi, tata seront comparés à la valeur 1
      STYLE
        COLOR 0 200 0
        OUTLINECOLOR 255 50 50
      END
END
CLASS
      NAME "C"
      EXPRESSION "2"      #ici, toto, titi, tata seront comparés à la valeur 2
      STYLE
        COLOR 0 255 0
        OUTLINECOLOR 255 50 50
      END
END

Dernière modification par sigdu80 (Wed 29 October 2014 23:40)

Hors ligne

 

#4 Fri 31 October 2014 10:51

JF BEHM
Participant actif
Lieu: toulouse
Date d'inscription: 9 Aug 2013
Messages: 126
Site web

Re: [MapServer] Mapfile - Créer des fonctions, possible ?

Pour faire de la programmation avec MapServer, il faut utiliser Mapscript (php).

Cordialement,


Jean-François Behm, formateur SIG, jf.behm@texte-a-enlever.idgeo.fr, formations@texte-a-enlever.idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique  42, avenue de Général de Croutte - 31100 toulouse

Hors ligne

 

#5 Fri 31 October 2014 12:27

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [MapServer] Mapfile - Créer des fonctions, possible ?

Bonjour JF BEHM,

oui, je connais l'existence de php mapscript et je l'utilise.

Moi, je parle de l'écriture/gestion/maintenabilité/non redondance... du code des mapfiles.

Si on fait un parallèle avec CSS et LESS qui permet de rajouter des raisonnements de programmation (variables, fonctions appelé mixin, organisation plus logique, ...), j'imaginais dans un monde idéal un équivalent qui permet une écriture plus robuste pour les mapfiles.


Bon appétit.

Hors ligne

 

#6 Fri 31 October 2014 14:12

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

Re: [MapServer] Mapfile - Créer des fonctions, possible ?

Bonjour,

Je confirme donc que scribeUI permet tout à fait cela.

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

 

#7 Fri 31 October 2014 23:53

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [MapServer] Mapfile - Créer des fonctions, possible ?

je suis d'accord Yves smile

Si quelqu'un l'utilise, pourquoi pas nous en parler ici.
PArce que je ne vais pas l'utiliser dans les prochains jours mais j'aimerai bien le tester quand je le pourrai.

Hors ligne

 

Pied de page des forums

Powered by FluxBB