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

Occtax : code atlas pour l'ornitho #566

Closed
Amegilla opened this issue Feb 21, 2019 · 10 comments
Closed

Occtax : code atlas pour l'ornitho #566

Amegilla opened this issue Feb 21, 2019 · 10 comments

Comments

@Amegilla
Copy link
Contributor

Bonjour,

Mes collègues ornithos s'affolent de ne pas pouvoir saisir un code atlas avec leur observations dans occtax.
Vous avez déjà parlé de ce sujet ?
Je sais que occtax se veut générique mais là il s'agit de qq chose de commun à toute l’Europe pour l'ornithologie...

@camillemonchicourt
Copy link
Member

Je ne vois pas à quoi ça correspondrait dans le standard Occurrences de taxons.

Sinon créer un JDD pour cet atlas ?

@TheoLechemia
Copy link
Member

TheoLechemia commented Feb 21, 2019

@camillemonchicourt : c'est un champ qui se rapporte à de la nidification apparemment (https://www.faune-tarn-aveyron.org/index.php?m_id=41), c'est propre à chaque occurrence

@RomainBaghi
En fait c'est pas une question de généricité, mais de concordance avec le standard occurrence de taxon. Si on rajoute un champ qui n'est pas dans le standard (peu importe son importance dans tel ou tel milieu) on ouvre la boite de pandore et on ne s'arrête jamais...
Comme je te disais hier il faudrait mettre en place un mécanisme de pseudo champs pour que chacun puisse rajouter dynamiquement des champs dans son formulaire. Mais grosse évolution.

@TheoLechemia
Copy link
Member

Dans le standard occurrence V2, il y a un nouveau champ "comportement". Est-ce que ça peut coller @RomainBaghi http://standards-sinp.mnhn.fr/nomenclature/110-comportement-des-occurrences-observees-2018-05-14/

@camillemonchicourt
Copy link
Member

Ah OK, oui il y a ce nouveau champs dont je pense que la nomenclature SINP est http://standards-sinp.mnhn.fr/nomenclature/110-comportement-des-occurrences-observees-2018-05-14/

@camillemonchicourt
Copy link
Member

Ce champs "nidification" ou "comportement" soulève une question importante.
Un des principes est de ne saisir que des données factuelles, jamais de l'information interprétée.
L'interprétation est réservée au traitement.

Occurrence de taxons étant un standard d'agglomération de données, il n'est pas incohérent d'y retrouver le champs optionnel "Comportement".
Nous utilisons ce standard comme modèle de saisie pour faciliter ensuite l'agglomération et le partage des données.

De notre côté, c'est pour ça que l'on ne demandera pas aux agents de saisir ce champs.

Ayant été ajouté dans le standard Occurrence de taxons 2.0, nous allons ajouter ce champs "Comportement" quand nous mettrons à jour le standard (#516), mais comme les autres champs il sera masquable avec une valeur par défaut définie dans la BDD.

Concernant le fait d'ajouter des champs spécifiques/exotiques comme "Atlas" ou "Nidification", ils n'ont pas vocation à être ajoutés en dur pour tout le monde, sinon c'est sans fin.
Par contre la solution pour le permettre à ceux qui le souhaitent est la mise en place de champs additionnels (sur un fonctionnement similaire à celui des attributs de TaxHub) qui permettrait à chaque administrateur d'un GeoNature d'ajouter les champs qu'il veut de manière générique.
Mais reste à le développer et on ne peut pas s'engager sur cette fonctionnalité, non planifiée ni priorisée pour le moment.

@jbdesbas
Copy link
Contributor

jbdesbas commented Apr 8, 2019

Le nouveau champs "comportement" est on ne peut plus factuel au vue de la nomenclature SINP dispo (toile, échouage, chant, etc..). Il est même plus factuel que le champs "statBio" qui est une interprétation sur la base du comportement, contexte et connaissance de l'espèce. Le "comportement" ne vous semble donc pas plus adapté pour la saisie ?

Pas facile de gérer ces deux champs, car il y a souvent confusion entre les deux (un indiv peut avoir un comportement reproducteur sans en avoir le statuts). La création de ce champs répond d’ailleurs à un besoin de clarification entre comportement et status, certain éléments de nomenclature "statBio" ont été déplacé dans le nouveaux champs "comportement" (ex: swarming, halte migratoire)

@camillemonchicourt
Copy link
Member

Oui oui c'est un champs à implémenter lors de la mise à jour vers le standard Occurrence de taxons 2.0 : #516

@amandine-sahl
Copy link
Contributor

Pour les amoureux des codes LPO, voici un script permettant d’amender la nomenclature des comportements avec les fameux codes atlas.
Elle s'ajoute à celle existante et ne la remplace pas, les deux "listes" sont présentent pour les oiseaux dans la liste des comportements.

Bémol : Les comportements de type "Nicheur certain" qui en théorie indique une reproduction ne sont pas pris en compte dans les calculs de la sensibilité qui ne se base que sur le champ statut biologique.
A voir :

  • rajouter comportement pour le calcul de la sensibilité,
  • faire en sorte que quand lorsqu'un comportement indique une reproduction le champ statut biologique soit remplis en conséquence. D'une façon général il faut se mefier de l'incohérence qu'il peut y avoir entre les champs statut_bio
DROP TABLE IF EXISTS ref_nomenclatures.tmp_code_atlas;

DELETE FROM ref_nomenclatures.cor_taxref_nomenclature
WHERE   id_nomenclature IN (
	 SELECT  id_nomenclature
	 FROM  ref_nomenclatures.t_nomenclatures
	 WHERE source = 'LPO'  AND id_type = (SELECT ref_nomenclatures.get_id_nomenclature_type('OCC_COMPORTEMENT'))
	 
);
DELETE FROM ref_nomenclatures.t_nomenclatures WHERE source = 'LPO' and id_type = (SELECT ref_nomenclatures.get_id_nomenclature_type('OCC_COMPORTEMENT'));



CREATE TABLE ref_nomenclatures.tmp_code_atlas (
  type varchar(250),
  code varchar(10),
  label varchar(250),
  definition varchar(250)
);


INSERT INTO  ref_nomenclatures.tmp_code_atlas VALUES 
 ('Nicheur possible', '01', '01-Observation dans son habitat pd sa période de nidif', 'Observation de l’espèce pendant la période de nidification dans un biotope favorable'),
 ('Nicheur possible', '02', '02-Mâle chanteur ou tambourinage ou parade en période de nidification', 'Mâle chanteur présent en période de nidification, cris nuptiaux/tambourinage entendus ou mâle vu en parade'),
 ('Nicheur probable', '03', '03-Couple pendant la période de nidification dans un biotope adéquat', 'Couple pendant la période de nidification dans un biotope adéquat'),
 ('Nicheur probable', '04', '04-Comp. territorial ou observation à au moins 8 jours d’intervalle', 'Comportement territorial (champ, défense, ect.) ou observation à au moins 8 jours d’intervalle sur le même site'),
 ('Nicheur probable', '05', '05-Comportement nuptial', 'Comportement nuptial'),
 ('Nicheur probable', '06', '06-Visite d’un site de nidification potentiel', 'Visite d’un site de nidification potentiel'),
 ('Nicheur probable', '07', '07-Cris d’alarme ou autre suggérant la présence d’un nid ou de jeunes', 'Cris d’alarme ou de crainte des adultes ou autre comportement agité suggérant la présence d’un nid ou de jeunes aux alentours'),
 ('Nicheur probable', '08', '08-Détection d’une plaque incubatrice', 'Détection d’une plaque incubatrice'),
 ('Nicheur probable', '09', '09-Transport de matériel, construction de nid ou forage d’une cavité', 'Transport de matériel, construction de nid ou forage d’une cavité'),
 ('Nicheur certain', '10', '10-Adulte simulant une blessure ou détournant l’attention', 'Adulte simulant une blessure ou détournant l’attention'),
 ('Nicheur certain', '11', '11-Découverte d’un nid ayant été utilisé pendant la saison en cours', 'Découverte d’un nid ayant été utilisé pendant la saison en cours'),
 ('Nicheur certain', '12', '12-Jeunes venant de s’envoler ou poussins en duvet ', 'Jeunes venant de s’envoler (nidicoles) ou poussins en duvet (nidifuges)'),
 ('Nicheur certain', '13', '13-Adultes gagnant ou quittant un site de nid occupé', 'Adultes gagnant ou quittant un site de nid, comportement révélateur d’un nid occupé dont le contenu ne peut être vérifié (trop haut ou dans une cavité)'),
 ('Nicheur certain', '14', '14-Adulte transportant des sacs fécaux ou de la nourriture', 'Adulte transportant des sacs fécaux ou de la nourriture'),
 ('Nicheur certain', '15', '15-Nid avec œufs ou coquilles d’oeufs éclos', 'Nid avec œufs ou coquilles d’oeufs éclos'),
 ('Nicheur certain', '16', '16-Nid avec jeunes (vus ou entendus)', 'Nid avec jeunes (vus ou entendus)');

INSERT INTO ref_nomenclatures.t_nomenclatures(
    id_type, cd_nomenclature, mnemonique, label_default, 
    definition_default, label_fr, definition_fr,
    source, statut, id_broader
)
SELECT (SELECT ref_nomenclatures.get_id_nomenclature_type('OCC_COMPORTEMENT')) as id_type, 'CA_' || code as cd_nomenclature, label as mnemonique,
 label as label_default, definition as definition_default,
  label as label_fr, definition as definition_fr,
  'LPO' as source, 'Non validé' as statut, 0 as id_broader
FROM ref_nomenclatures.tmp_code_atlas;


-- hierachy

UPDATE ref_nomenclatures.t_nomenclatures SET hierarchy = NULL
WHERE source = 'LPO' AND id_type = (SELECT ref_nomenclatures.get_id_nomenclature_type('OCC_COMPORTEMENT'));

WITH m AS (
    SELECT max(split_part(hierarchy, '.', 2)::int)
    FROM  ref_nomenclatures.t_nomenclatures
    WHERE id_type = (SELECT ref_nomenclatures.get_id_nomenclature_type('OCC_COMPORTEMENT'))
), h as (
    SELECT '013.'||lpad((m.max + row_number() OVER(ORDER BY id_nomenclature))::varchar, 3, '0') as h, id_nomenclature as id
    FROM  ref_nomenclatures.t_nomenclatures, m
    WHERE id_type = (SELECT ref_nomenclatures.get_id_nomenclature_type('OCC_COMPORTEMENT')) AND hierarchy IS NULL
    ORDER BY id_nomenclature
  )
UPDATE ref_nomenclatures.t_nomenclatures SET hierarchy = h
FROM h
WHERE h.id = id_nomenclature;


-- lien avec taxref

INSERT INTO ref_nomenclatures.cor_taxref_nomenclature(
    id_nomenclature, regne, group2_inpn
 )
 SELECT  id_nomenclature, 'Animalia', 'Oiseaux'
 FROM  ref_nomenclatures.t_nomenclatures
 WHERE source = 'LPO'  AND id_type = (SELECT ref_nomenclatures.get_id_nomenclature_type('OCC_COMPORTEMENT'));
 

DROP TABLE ref_nomenclatures.tmp_code_atlas;

@lpofredc
Copy link
Contributor

Pour info, ces codes sont maintenant intégrés au nouveau standard d'échange de données (SOT v3.0)

Screenshot 2024-09-16 at 22-10-36 DictionnaireDonnéesSINP_V1 0 pdf

@camillemonchicourt
Copy link
Member

OK OK, je trouve ça discutable, surtout le nommage de ce champs que je n'ai pas jamais compris. 😀
Mais cela sera donc rajouté quand on passera GeoNature sur la v3 de ce standard.

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

6 participants