fonctionnalites:geonature:synthese-regroupement-par-mailles

Ceci est une ancienne révision du document !


Synthese - Regroupement d'observations par mailles

?

Dans le module Synthese, lorsqu'une recherche est lancée, je peux voir les observations correspondant à ma recherche affichées à petite échelle sur la carte regroupé par maille. Ces mailles doivent être colorées en fonction du nombre d'observations qu'elles contiennent. Une légende doit pouvoir être affiché afin d'indiquer les intervalles d'observations correspondant à chaque couleur.

  • Renvoyer les observations groupées par géométrie et non de façon distincte comme aujourd'hui.
  • L'interface graphique doit passer le niveau de zoom à l'API afin d'activer/désactiver ce groupement par maille.
  • L'activation de cette fonctionnalité doit être configurable.
  • Le type de maille utilisé pour le regroupement doit être configurable.
  • Le niveau de zoom au delà duquel le regroupement cesse doit être configurable.
  • Les valeurs min et max des classes de nombres d'observation et leurs couleurs devront être à minima configurable.
    • Les classes de nombres d'observations pourront éventuellement être calculé automatiquement. Il faut voir si la classification doit rester fixe quelque soit la recherche (⇒ configuration) ou être dynamique (⇒ classification calculée). Dans ce dernier cas, il faudra définir le type de classification à utiliser (voir ressources).
  • Pour les observations sensibles ou avec niveau de diffusion, il faudrait pouvoir récupérer le centroïde de la géométrie correspondant au floutage demandé pour ces observations. Cela pose problème car cela réduire les performances. Cela demande d’exécuter la requête de floutage puis d'associer ces observations aux mailles correspondant au centroïde de la géométrie floutée…

Exemple de requête:

SELECT la.area_code, COUNT(s.id_synthese) AS nbr
FROM gn_synthese.synthese AS s
	JOIN gn_synthese.cor_area_synthese AS cas ON (s.id_synthese = cas.id_synthese)
	JOIN ref_geo.l_areas AS la ON (cas.id_area = la.id_area)
WHERE la.id_type = ref_geo.get_id_area_type_by_code('M10')
GROUP BY la.id_area 
LIMIT 100000 ;

En local, pour une maille M10 ou M5, le temps semble similaire entre 11s et 15s. Sans la limite à 100 000 données le temps de calcule est de ~12s.

  • fonctionnalites/geonature/synthese-regroupement-par-mailles.1631008592.txt.gz
  • Dernière modification : 2021/09/07 09:56
  • de jpmilcent