IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Gestion d'affichage des couches


Sujet :

IGN API Géoportail

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 14
    Points
    14
    Par défaut Gestion d'affichage des couches
    Bonjour,

    Je télécharge dynamiquement des fichiers kml (par l'utilisation du framework extjs "loadfield") qui viennent s'ajouter dans le gestionnaire des couches.
    Cependant, la carte affichée est la dernière carte chargée. Le fait de jouer avec les flèches de navigations pour changer l'ordre des couches ne changent en rien l'affichage sur la carte.
    Est- ce normal? Si non, comment y remédier?
    J'espère avoir été clair.
    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut Ordre et affichage
    Pour qu'une couche s'affiche, il faut qu'elle soit "visible".
    Pour qu'elle soit visible, il faut que ses résolutions minimales/maximales soient compatibles (comprises) entre les résolutions minimales/maximales de la carte.
    Il est possible de jouer sur :


    • minZoomLevel: zoom le plus petit d'affichage de la couche;
    • maxZoomLevel: zoom le plus grand d'affichage de la couche;
    • visibility: true (affichée), false (masquée)

    OpenLayers vérifie donc tous ces paramètres et allume/éteint la couche ... qui ne s'affiche donc que si visibility vaut 'true' après ces calculs sur les résolutions (ou zooms).

    Quant les minZoomLevel/maxZoomLevel ne sont pas fournis, l'API utilise pour les données KML les zooms de la carte. Pour un affichage direct, il faut donc spécifier dans les options de création de la couche :

    pour forcer l'affichage.


    Pour l'ordre d'affichage, la prochaine version de l'API laissera l'ordre de chargement des couches : la dernière au dessus des autres, ce qui n'est pas le cas aujourd'hui !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Merci DGRichard pour toutes ces précisions.
    Concernant l'affichage d'une couche ok.
    Pour l'ordre d'affichage, la prochaine version de l'API laissera l'ordre de chargement des couches : la dernière au dessus des autres, ce qui n'est pas le cas aujourd'hui !
    Pour l'ordre d'affichage des couches, je voudrais quelques précisions car je n'ai pas très bien compris.
    Par exemple j'ai 2 couches kml "layer 1" et "layer 2" (ce sont des polygones).
    Grâce à un 'input text file', je charge "layer 1" qui va s'ajouter aux couches chargées (bloc "couches" de l'API)
    Puis je charge "layer 2" qui va également s'ajouter aux couches chargées.
    Ces deux couches sont bien visibles cependant, malgré le fait que l'ordre d'affichage est "layer 1"> "layer 2" dans le bloc "couches" de l'API. Sur la carte, "layer 2" sera toujours au dessus de "layer" et ce malgré le fait de changer l'ordre de ces couches par le biais des flèches haut/bas.

    Est-ce que ceci est modifiable via l'API? (vu ta réponse non, mais je tiens à en être sur).
    Peut-être existe-t-il une autre façon d'obtenir cette fonctionnalité via du JS ou avec OpenLayer?

    En revanche j'ai testé la même chose mais avec les couches disponibles en WMS-C par le biais de boutons. Et là c'est bien la première couches du bloc "couches" qui est affiché. (Il n'y a pas d'histoire de première ou dernière couche chargée).
    Pourquoi cette différence?


    P.S: Désolé pour le vocabulaire, je suis encore newbie dans toutes ces choses et essaie de progresser, en espérant m'être fait comprendre.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut Ordre des couches de dessin
    Citation Envoyé par mougoye Voir le message
    Ces deux couches sont bien visibles cependant, malgré le fait que l'ordre d'affichage est "layer 1"> "layer 2" dans le bloc "couches" de l'API. Sur la carte, "layer 2" sera toujours au dessus de "layer" et ce malgré le fait de changer l'ordre de ces couches par le biais des flèches haut/bas.

    Est-ce que ceci est modifiable via l'API? (vu ta réponse non, mais je tiens à en être sur).
    J'ai effectivement constater ce comportement ...

    Il faudrait creuser le code d'OpenLayers, mais j'ai l'impression que les couches de dessin ont un empilement "définitif" qui est par défault Z_ORDER_DRAWING_ORDER. Il semble que la propriété graphicZIndex permet alors de jouer sur l'ordre lui-même ... L'exemple d'OpenLayers suivant montre ce que cela donne ... sur les objets d'une même couche!

    Citation Envoyé par mougoye Voir le message
    Peut-être existe-t-il une autre façon d'obtenir cette fonctionnalité via du JS ou avec OpenLayer?
    Pourquoi cette différence?
    A part creuser le code d'OpenLayers.Renderer*, je ne vois pas ce qu'il se passe

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Effectivement, après quelques tests il me semble que cela n'affecte que les couches dessins et non les couches appelées par des web service.
    Je vais continuer de creuser avec les pistes que tu m'as données.

Discussions similaires

  1. Problème d'affichage des couches
    Par eti.mar dans le forum IGN API Géoportail
    Réponses: 6
    Dernier message: 18/01/2013, 13h29
  2. Affichage des couches IGN sous GoogleMap
    Par shama dans le forum IGN API Géoportail
    Réponses: 17
    Dernier message: 22/12/2012, 00h33
  3. QGIS 1.8 problème d'affichage des couches geoportail
    Par jano07 dans le forum IGN API Géoportail
    Réponses: 9
    Dernier message: 19/09/2012, 23h35
  4. Affichage des couches IGN, désactivation et superposition de couches
    Par debido67 dans le forum IGN API Géoportail
    Réponses: 8
    Dernier message: 31/08/2012, 17h21
  5. pas d'affichage des couches
    Par pascalbtb dans le forum IGN API Géoportail
    Réponses: 5
    Dernier message: 29/12/2009, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo