Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Décorréler les niveaux de sensibilité et de diffusion #1711

Closed
camillemonchicourt opened this issue Feb 15, 2022 · 2 comments
Closed

Décorréler les niveaux de sensibilité et de diffusion #1711

camillemonchicourt opened this issue Feb 15, 2022 · 2 comments

Comments

@camillemonchicourt
Copy link
Member

camillemonchicourt commented Feb 15, 2022

Le calcul automatique de la sensibilité a été implémenté dans GeoNature en plusieurs étapes :

Jusqu'à présent, on avait interprété que le niveau de diffusion devait prendre en compte le niveau de sensibilité + un éventuel niveau de diffusion subjectif.
Ainsi quand on calculait le niveau de sensibilité, on le répercutait dans le niveau de diffusion si celui-ci n'avait pas été renseigné manuellement par ailleurs.

Suite au retour du SINP (#1394 (comment)), nous venons de rétablir le fonctionnement prévu par le standard où ces 2 champs sont indépendants et correspodent à des informations différentes :

diffusionNiveauPrecision : NiveauPrecisionValue

Niveau maximal de précision de la diffusion souhaitée par le producteur vers le grand public.
Ne concerne que les DEE non sensibles (i.e. données dont le niveau de sensibilité est de 0). Cet attribut indique si le producteur souhaite que sa DEE non sensible soit diffusée comme toutes les autres, à la commune ou à la maille, ou de façon précise.
Règle : Il ne peut être utilisé pour diffuser moins précisément des données que dans le cas de données dont au moins une, au sein d'un regroupement, est sensible suivant la définition du GT sensible. Si aucune donnée n'est sensible, alors le niveau maximal de précision de diffusion sera celui par défaut.

sensiNiveau

Indique si l'observation ou le regroupement est sensible d'après les principes du SINP et à quel degré. La manière de déterminer la sensibilité est définie dans le guide technique des données sensibles disponible sur la plate-forme naturefrance.
Règles :

  • Sans consultation de référentiel de sensibilité, le niveau est par défaut est 0 : DEE non sensible.
  • La sensibilité d'une et une seule DEE d'un regroupement entraîne le même niveau de sensibilité pour le regroupement et pour toutes les observations de ce regroupement.

A partir de la version 2.9.2, les 2 champs sont bien décorrélés.

Etant donné qu'auparavant on répercutait automatiquement le niveau de sensibilité dans le niveau de diffusion, lors du passage en 2.9.2, on remet à NULL tous les niveaux de diffusion de la synthèse qui sont équivalents au niveau de sensibilité, en considérant que cela correspond aux observations pour lequel il a été répercuté automatiquement, du fait d'une mauvaise interprétation du standard.

En même temps dans 2.9.2, la fonction de calcul de la sensibilité (gn_sensitivity.get_id_nomenclature_sensitivity) a été améliorée et est désormais testée automatiquement (#1284).

Une fonction a aussi été ajoutée (geonature sensitivity update-synthese basée sur gn_synthese.update_sensitivity()) permettant de relancer le calcul uniquement sur les données qui ont un niveau de sensibilité différent de "non sensible" ou qui ont un cd_nom concerné par une règle de sensibilité.

Si la fonction de calcul de la sensibilité renvoie une sensibilité similaire à celle qui était déjà renseignée, alors celle-ci n'est pas mise à jour et le champs gn_synthese.synthese.meta_update_date ne sera pas mis à jour. Il ne l'est que si la sensibilité est calculée ou modifiée.


Reste à voir :

  • Mettre en place un cron relançant régulièrement cette fonction pour les règles de sensibilité qui ont une temporalité
  • Supprimer la table gn_synthese.cor_sentivity_synthese (et les fonctions et triggers associés) car elle n'est pas utilisée et car on n'a pas de raison de stocker plusieurs sensibilité d'une occurrence ou de pouvoir renseigner une sensibilité manuelle. Si l'on ne veut pas diffuser une occurrence qui n'est pas soumise à une règle de sensibilité, alors on utilise le champs "Niveau de diffusion" qui est désormais décorrélé
@camillemonchicourt
Copy link
Member Author

Fait dans la 2.9.2.

@camillemonchicourt
Copy link
Member Author

A voir aussi :

Jusqu'à sa version actuelle (1.5.1), GeoNature-atlas s'appuie uniquement sur le champs id_nomenclature_diffusion_level de la table gn_synthese.synthese de GeoNature pour dégrader les données sensibles (https://github.com/PnX-SI/GeoNature-atlas/blob/1.5.1/data/gn2/atlas_synthese.sql#L22-L36).

Il faut donc adapter les vues et/ou vues matérialisées de GeoNature-atlas pour prendre en compte désormais aussi le champs "Niveau de diffusion".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant