Skip to Content

Comment gérer l'ordre des couches ?

Auteur : Marie
  • Pour l'ordre des couches dans l'onglet légende :

L'ordre des couches correspond à l'ordre de déclaration des groupes de couches et des couches dans le fichier /cartoweb3/projects/mon_projet/server_conf/mon_mapID/layers.ini.
Exemple :

layers.root.className = LayerGroup
layers.root.children = mon_GroupeB, mon_GroupeA

layers.mon_GroupeA.className = LayerGroup
layers.mon_GroupeA.children = layer1, layer2, layer3

layers.mon_GroupeB.className = LayerGroup
layers.mon_GroupeB.children = layer4, layer6, layer5
 

Dans cet exemple, les couches et groupes de couches apparaitront dans cet ordre dans la légende :

 mon_GroupeB
   layer4
   layer6
   layer5
 mon_GroupeA
   layer1
   layer2
   layer3

Ici, le groupe B est le premier enfant de "root", il est donc le premier à s'afficher, même si sa description suit celle du groupe A. Même principe pour les couches.

  • Pour l'ordre des couches sur la carte :

 

 

Quelle que soit l'ordre d'affichage des couches dans la légende, l'ordre d'affichage des couches sur la carte dépend uniquement de l'ordre d'écriture dans le mapfile (fichier /cartoweb3/projects/mon_projet/server_conf/mon_carte/ma_carte.map)

Ainsi, les premières couches écrites dans le mapfile, seront les premières affichées et les dernières viendront alors s'afficher par dessus. Il est donc recommandé de décrire en premier dans le mapfile les couches de types raster, les couches de polygones et en dernier les couches d'objets ponctuels et linéaires. C'est également pour cette raison que, lorsque le module outline est activé, les couches outline doivent être rajoutées en fin de mapfile pour être toujours visibles.


Par ailleurs, malgré toutes ces précautions (raster en début de mapfile, etc.), il arrive souvent que l'utilisateur veuille changer la superposition des couches sur la carte. Un module permet de laisser la possibilité à l'utilisateur de modifier dynamiquement l'ordre de visibilité des couches ainsi que leur transparence : il s'agit du plugin layerReorder. Exemple d'impémentation dans la démo DemoPlugins


Pas assez clair ? Aller plus loin ? Posez une question en lien avec ce problème ici.