Closed coulo3 closed 4 years ago
L'amélioration 453 ajoute une nouvelle fonctionnalité. Cette nouvelle fonctionnalité, lorsque complet, va apparaître dans igo2 et igo2-lib
= = Dans igo2 = = Choisir "Carte" dans le menu. http://localhost:4201/
Sous le menu "Carte", on trouve les options pour les "Couches" et les "Légendes". Sous les "Couches", on trouve une liste de couches. En tête de cette liste se trouve quatre champs de contrôle
Si on coche sur la case à cocher [au point 4], une barre d'outils pour les options de la sélection multiple apparaît après la fin de la liste. C'est parmi ces options qu'une image d'oeil doit être ajouté. Cette image d'oeil activera ou désactivera les couches cochées en même temps.
= = Dans igo2-lib = = Choisir "Layer" dans le menu. http://localhost:4200/#/layer
Sous le titre de partie "Layers", on trouve une liste de layer ou couches. En tête de cette liste se trouve quatre champs de contrôle
Si on coche sur la case à cocher [4], une barre d'outils pour les options de la sélection multiple apparaît dans le pied de page. C'est parmi ces options qu'une image d'oeil doit être ajouté. Cette image d'oeil activera ou désactivera les couches cochées en même temps.
igo2-lib fournit un lien vers un exemple de code source pour invoquer la fonctionnalité. igo2-lib/demo/src/app/geo/layer/layer.component.html Si on examine le code source on voit qu'on y appelle une balise <igo-layer-list ..>
Le code source du composant "igo-layer-list" se trouve dans le répertoire suivant :
igo2-lib/packages/geo/src/lib/layer/layer-list/ Il faut modifier les fichiers
Lorsque c'est modifié, on peut se contenter de recompiler le module geo : igo2-lib>npm run build.geo Ensuite redémarrer igo2-lib igo2-lib>npm start
Le changement sera visible dans igo2-lib, mais pas encore dans igo2 http://localhost:4200/#/layer
Il faut interrompre igo2 (localhost:4201) Il faut ensuite copier le contenu du répertoire igo2-lib\dist\geo\ dans le répertoire igo2\node_modules\@igo2\geo\ Démarrer igo2 igo2>npm start Le changement sera visible dans igo2 http://localhost:4201/
On demande un oeil pour pour activer ou désactiver plusieurs couches en même temps dans la sélection multiple.
Si on ajoute un oeil qui permet de cacher les couches sélectionnés, une question se pose. Que faire avec les couches déjà cachées individuellement ? Exemple A [x] couche 1 -- Visible [x] couche 2 -- Non Visible Si on clique sur l'oeil, les deux couches deviendront non-visibles. Mais que se passe t'il si on re-clique sur l'oeil ? Solution simple : Les deux couches deviendraient visibles. Solution complexe : La couche 1 redevient visible et la couche 2 redevient non-visible.
Je propose que l'oeil permette d'inverser la visibilité, pour contourner la difficulté. Ce comportement me semble plus simple à comprendre. Il permet d'évaluer visuellement des alternatives possibles. Si je reprends mon exemple A, on obtiendrait le comportement suivant :
Exemple A [x] couche 1 -- Visible [x] couche 2 -- Non Visible On clique sur l'oeil [x] couche 1 -- Non Visible [x] couche 2 -- Visible On clique sur l'oeil [x] couche 1 -- Visible [x] couche 2 -- Non Visible
Après avoir consulté Marc-André Barbeau, la solution simple discutée plus haut a été retenue. Le comportement sera le suivant :
Exemple A [x] couche 1 -- Visible [x] couche 2 -- Non Visible
On clique sur l'oeil [x] couche 1 -- Non Visible [x] couche 2 -- Non Visible
On re-clique sur l'oeil [x] couche 1 -- Visible [x] couche 2 -- Visible
Vote sur le comportement de l'oeil avec cette situation: [x] couche 1 -- Visible [x] couche 2 -- Non Visible
Solution A (Voter :rocket: ): On clique sur l'oeil [x] couche 1 -- Visible [x] couche 2 -- Visible On clique sur l'oeil [x] couche 1 -- Non Visible [x] couche 2 -- Non Visible
Solution B (Voter :heart: ): On clique sur l'oeil [x] couche 1 -- Non Visible [x] couche 2 -- Visible On clique sur l'oeil [x] couche 1 -- Visible [x] couche 2 -- Non Visible
Lorsque toute les couches sont non visibles afficher un oeil barré pour icone.
Exemple : couche1 -- non visible couche2 -- non visible couche3 -- visible couche4 -- non visible
icone oeil noir dans la bar
utilisateur clique oeil -> couche 1-2-4(en plus de 3) devient visibles et icone devient oeil barré.
clic sur oeil barré -> toute les couches deviennent non-visibles et icon oeil devient oeil noir
Moi je vote pour la proposition A, ça me semble plus clair pour l,utilisateur et la plupart des outils fonctionnent comme ça... Si c'est un oeil pour rendre visible, ça sert à rendre les couches visibles! Sinon c'est plutôt un outil pour inverser la visibilité de chaque couche individuellement, il faudrait changer l'icône.
Est-ce que cet outil devrait être présent en tout temps, pas seulement en mode sélection multiple? Ça va être mêlant avec l'oeil qui est déjà présent quand la sélection multiple n'est pas activée, qui a un comportement différent. Pourquoi ce bouton ne servirait pas aussi à rendre facilement toutes les couches visibles ou à masquer toutes les couches d'un coup? Ça serait utile selon moi. Le bouton actuel est plutôt un filtre et je ne trouve pas que l'icône représente bien ce qu'il fait.
Faut juste faire attention a la performance lorsque l'ont ouvre toutes les couches.
En effet, mais c'est le même problème si les utilisateurs ajoutent un grand nombre de couches. Ils pourraient tout sélectionner aussi dans l'outil de sélection multiple.
Imagine si en plus si tu as l'option ouvrir les légendes automatiques à l'ouverture de la couche. Solution?? Limiter a un nombre x pour ouverture?? Limiter l'option à un contexte qui a un maximum de X couche?
Un avis indiquant que lorsque tu as plus de 15 couches, ça risque d,affecter grandement la performance.....?
Avec un "Continuer Oui/Non"
Ça dépend des couches?
Les couches plus légères, il pourrait y en avoir un plus grand nombre sans affecter la performance (ou moins l,affecter) ou c'est vraiment le nombre qui est en cause?
Il faudrait tester.
Oui avant de mettre un avertissement de la sorte il faudrait voir. Si la navigation est plus lente l'utilisateur s'en rend bien compte par lui-même, il peut retirer ou masquer des couches facilement à ce moment avec les outils qui sont en place.
Bref je ne priverais pas les utilisateurs de ces fonctionnalités pour autant
Idée: Quand tu as coché plus de X couche(a determiner) par exemple 10, l'option de oeil se désactive(grisée) et le tooltip desssus indique : "l'option d'afficher toute les couches ne peut fonctionner avec plus de 10 couches"
Il ne faudrait pas que ça empêche des les masquer par contre...
Je ne sais pas pour moi c'est vraiment à l'utilisateur de contrôler ça, on s'entend qu'un navigateur carto web aura toujours une limite où ça devient trop lourd, que ce soit 10, 20, 30 ou 50 couches... et ça peut probablement dépendre de la nature des couches, si j'ai 20 couches pas très lourde peut-être que tout va bien en fait!
Mais concrètement, pour un wms,il n'y a pas de différence entre une couche lourde ou pas... Bref, je ne vois pas le lien lourd/pas lourd
Est-ce lié a un problème de cache... ?
Je ne sais pas qu'elle est le % des gens, surtout très grand public, qui seront 'compréhensifs' sur le fait que l'outil grafigne quand on en coche trop... Certains diront-> Cet outil ne va pas bien! Je pense qu'on doit limiter les comportements de l'utilisateur qui peuvent être problématique pour l'outil. On ne doit pas donner la possibilité à l'utilisateur de faire 'planter' l'outil.
L'avis ferai la "job" a mon avis.
Effectivement, avoir des problèmes avec 10 couches c'est quand même grave! Ça me surprend un peu
Dans l'exemple précédent, c'est près de 40 couches.
faudrait trouver le seuil acceptable.
Dans ce cas à mon sens, c'est quand même extrême comme utilisation, c'est à nous aussi de ne pas proposer des contextes à 40 couches? Bref je ne limiterais pas l,outil de visibilité à ce moment.
L'avertissement pourrait faire, ma seule crainte c'est de recevoir souvent cet avertissement et de faire mal paraître l'application alors que la performance pourrait être quand même "acceptable". Si c'est 15 couches le max il me semble qu'on a un problème!
Mais si c'est 30-40 c'est quand même pas mal moins pire
Dans ce cas à mon sens, c'est quand même extrême comme utilisation, c'est à nous aussi de ne pas proposer des contextes à 40 couches? Bref je ne limiterais pas l,outil de visibilité à ce moment.
L'avertissement pourrait faire, ma seule crainte c'est de recevoir souvent cet avertissement et de faire mal paraître l'application alors que la performance pourrait être quand même "acceptable". Si c'est 15 couches le max il me semble qu'on a un problème!
Mais si c'est 30-40 c'est quand même pas mal moins pire
Le problème, c'est l'ajout de couche par le catalogue.
Par rapport à la "lourdeur", je croyais qu'un WMS avec beaucoup de détails l'image est plus lourde donc le rendu pourrait être plus difficile par le fureteur? Mais peut-être que ce n'est pas la cas!
Dans ton exemple aussi, il pas mal de WMS qui prennent plus de 2 secondes à répondre (jusqu'à 6), c'est quand même long
Même une fois chargées, le pan reste difficile. ca doit pas être lié au temps d'attente de la réponse
Idée : pour garder cela simple et agile on pourrait faire un premier dévellopement qui répond au besoin initiale 1- ajouter le bouton oeil(oeil barré) dans la barre d'outil en sélection multiple (fonctionnement 🚀 selon ce qui a été voté)
On voit à l'usage limitation, seuil, disposition et si nécessaire, a ce moment, on demandera une amélioration/modification
Je seconde, j'ai ouvert un autre issue concernant ce qu'on fait si trop de de couches sont ajoutées sur la carte https://github.com/infra-geo-ouverte/igo2/issues/493
la performance dépend aussi de ton poste, moi je n'ai pas de problème avec le contexte cité ! À part que c'est long à afficher les wms mais ce n'est pas à cause de IGO !
@infra-geo-ouverte/depot-central-igo
Vous pensez quoi de ce correctif. https://github.com/infra-geo-ouverte/igo2-lib/commit/5b7ebc5a937ba35775e7f7f0bfe8c539cc2935d8
Il permet d'appeler seulement l'extent de la map plutot que 1.5x sa taille. Sa semble régler le problème.
Avec le correctif :
https://geoegl.msp.gouv.qc.ca/igo2/mtq-quebec/?visiblelayers=
Sans le correctif
https://geoegl.msp.gouv.qc.ca/igo2/apercu-qc/?context=mtq&visiblelayers=
Vous devez faire le test sur un écran de grande taille + 1700px de largeur
Please tell us about your environment:
Igo Version:
Node: