Auteur : yjacolin
Pour aggréger plusieurs couches dans un groupe, c'est à dire, avoir une case à cocher qui permet de charger plusieurs couches en une fois, ajoutez ce paramètre dans le fichier layers.ini :
layers.layerId.aggregate = true
Plus d'informations dans la documentation au chapitre Couches.
Admettons que vous ayez un groupe "ligne de métro" et que dans ce groupe vous avez plus de deux couches : une couche "stations", une couche "ligne RER", "ligne métro", ... Voici comment paramétrer votre fichier layers.ini :
layers.transport.className = LayerGroup layers.transport.label = "Ligne de transport" layers.transport.children = station, rer, metro, bus layers.transport.aggregate = true layers.station.className = layers layers.station.label = "Stations" layers.station.msLayer = station layers.rer.className = layers layers.rer.label = "Ligne de RER" layers.rer.msLayer = rer layers.metro.className = layers layers.metro.label = "Ligne de métro" layers.metro.msLayer = metro ...
D'autre part, il est possible d'avoir une couche dont on désire changer l'icône en fonction du zoom (notamment sa taille). Les différentes tailles d'icône vont apparaitre dans la légende, ce qui n'est pas toujours voulut. Vous pouvez enlevez le paramètre NAME dans tous les paramètres CLASS sauf un.
Voici un exemple, admettons que vous voulez faire varier la taille de l'icône des stations de métro en fonction du zoom. Vous ne voulez pas que les trois icônes (une pour chaque niveau de zoom) apparaissent dans la légende, une seule suffira. Voici comment votre mapfile se présentera :
LAYER
NAME nomCouche
DATA ...
CLASS
NAME "Station de métro"
MAXSCALE 20000
MINSCLAE 500
STYLE
...
END
END
CLASS
MAXSCALE 100000
MINSCLAE 20000
STYLE
...
END
END
CLASS
MAXSCALE 2000000
MINSCLAE 100000
STYLE
...
END
END
END
Pas assez clair ? Aller plus loin ? Posez une question en lien avec ce problème ici.