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.