Table des matières

Mise en évidence d'un critère sélectionné sur carte et liste

Besoin/Objectif

Améliorer la visibilité des données sur la carte du module Synthèse (= Observations) selon un critère (précision, période, enjeux…) sélectionné par l’utilisateur.

Ressources

À faire

Questions

Principe général

Dans le module Synthèse (= Observations), un utilisateur doit pouvoir sélectionner, via une liste déroulante intégrée à la carte, un critère pour lequel il souhaite visualiser un affichage différencié sur la carte. L'indication de la valeur du critère sélectionné pourra être également reprise au niveau de la liste des observations et sur la fiche d'une observation.

Sur la carte, nous envisageons d'utiliser dans un premier temps des couleurs distinctes pour identifier les différentes valeurs des critères sur la carte. La couleur peut en effet facilement être utilisé à la fois pour les points et les polygones. Si cela s'avère envisageable des icônes pourront être utilisé pour différencier les valeurs mais cela pose des problèmes pour les polygones. Au niveau de la liste des observations, un surlignage et/ou une icône peuvent être utilisé. Dans la fiche observation, un icône, une couleur et/ou un texte pourrait servir à la mise en évidence du critère.

Nous rendrons paramétrable :

Les critères envisagés sont :

Mais les critères suivant ont également étaient mentionné dans les tickets du dépôt GeoNature :

Exemple d'OpenObs

 Carte OpenObs avec outil de sélection d'un critère d'affichage

OpenObs permet de sélectionner des critères pour différencier les observations affichées sur la carte.
Une liste intitulé "Couleur par" permet de sélectionner le critère d'affichage des observations sur la carte. Toutes les observations sont représentées par des points dont la couleur correspond à une valeur du critère.

L'interface permet à l'utilisateur de définir la taille du point, sa transparence et l'affichage d'un contour ou pas.

La légende peut être affiché ou réduite pour prendre moins de place sur la carte. Il est également possible de sélectionner via des cases à cocher dans la légende les valeurs à afficher. Les critères proposés par OpenObs peuvent potentiellement contenir des dizaines de valeurs, la légende possède donc une liste déroulante.

Le critère "Grille de densité des enregistrements" correspond à l'actuel mode d'affichage "Mailles" de la carte de GeoNature.

 Détail de l'outil OpenObs de sélection d'un critère d'affichage

Proposition d'implémentation

Nous envisageons de faire évoluer le mode d'affichage "Mailles" des données actuellement présent sur la carte.
D'un système de coche simple, nous le transformerions en liste de bouton radio permettant de sélectionner une entrée unique dans la liste qui s'ouvrirait. Le même fonctionnement que la sélection du fond cartographique sera utilisé ici.

La liste des modes d'affichage serait représentée par une icone représentant une liste indiquant "Mode d'affichage" au survol. Pour l'icône d'accès aux modes d'affichage, celui de Fontawesome représentant une liste fa-list peut convenir : . Mais une icône ressemblant à celle du Geoportail me semble plus expressive :

Via le paramètre de configuration SYNTHESE.MAP_CRITERIA_LIST, sur le même principe que l'ajout des fonds cartographiques, il sera possible d'ajouter de nouveaux éléments à la liste des modes d'affichage. Ce paramètre sera spécifique au module Synthese. Sa présence activera l'apparition de l'icone "modes d'affichage". Chaque critère d'affichage sera associé à un champ de la vue gn_synthese.v_synthese_for_web_app avec possibilité d'affecté une couleur en fonction d'une correspondance exacte (champs de nomenclatures ; exemples id_nomenclature_observation_status, id_nomenclature_valid_status) de sa valeur ou de son appartenance à une classe "numérique" (champs numérique ou assimilé, exemple precision, date_fin). La valeur du critère sera renvoyé par le backend via le web service unique de la Synthese. La coloration sur la carte sera gérée par Leaflet à l'aide des informations présentes dans le GeoJson.

La liste des modes d'affichage apparaîtra également sur la carte si le paramètre AREA_AGGREGATION_ENABLED est à true. Dans tous les cas, la liste contiendra une entrée nommée Défaut correspondant à l'affichage par défaut de GeoNature sous forme de cluster puis de cercle/polygone bleu représentant un emplacement d'une ou plusieurs observations. Cette entrée sera cochée par défaut sauf si le paramètre AREA_AGGREGATION_BY_DEFAULT est à true. Dans ce dernier cas, c'est l'entrée Mailles correspondant à l’agrégation des observations par mailles qui sera sélectionnée.

Concernant les critères "enjeux réglementaire" et "menaces" nous envisageons de rajouter des champs spécifiques à la vue gn_synthese.v_synthese_for_web_app dans le cadre de notre installation de GeoNature afin de les traiter sur le même principe qu'un champ de type classes.

Pour la liste des observations, nous proposons de colorer l'icône "i" de chaque observations en fonction du critère sélectionné.

Dans le cas des géométries regroupant des observations aux valeurs contradictoires vis à vis du critère proposé. Nous proposons dans un premier temps de les afficher à l'aide d'une couleur "neutre" (gris par exemple ; éventuellement configurable). Un clic sur la géométrie affichera la liste des observations surlignés en vert en tête de liste des observations où la couleur de l'icone "i" permettra de les distinguer les valeurs des différentes observations en fonction du critère sélectionné.

Au niveau de la fiche d'observation, nous testerons l'ajout au niveau de l'entête d'une icone colorée avec information apparaissant au survol.

Détail du paramètre SYNTHESE.MAP_CRITERIA_LIST

Ce paramètre sera une liste de dictionnaire où chaque dictionnaire correspondra à un critère. Pour chaque critère (= dictionnaire) nous aurons les champs suivant :