database:import-formats

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
database:import-formats [2025/01/03 08:05] – [Description du format SYNTHESE] choaraudatabase:import-formats [2025/04/30 08:46] (Version actuelle) – [Description du format OCCTAX] jpmilcent
Ligne 156: Ligne 156:
  
 ==== Évolutions ==== ==== Évolutions ====
 +  * 2025-04-30 :
 +    * Ajout du format OccTax supporté pour les ajouts uniquement. Non nécessaire pour l'instant dans le cadre des SINP.
   * 2024-10-23 :   * 2024-10-23 :
     * Nous privilégions maintenant l'utilisation des UUID comme identifiant de lien entre les ressources à la place des codes ou noms.     * Nous privilégions maintenant l'utilisation des UUID comme identifiant de lien entre les ressources à la place des codes ou noms.
Ligne 167: Ligne 169:
     * Ajout de l'UUID au format à plat d'un "utilisateur" (=//user//) permettant de stocker les infos sur les observateurs (//observers//) et les déterminateurs (//determiner//).     * Ajout de l'UUID au format à plat d'un "utilisateur" (=//user//) permettant de stocker les infos sur les observateurs (//observers//) et les déterminateurs (//determiner//).
     * Utilisation de l'UUID (champ //unique_id// de la ressource //USER//) à la place de l'//identifier// pour le champ //code_digitiser// de la ressource //SYNTHESE//.     * Utilisation de l'UUID (champ //unique_id// de la ressource //USER//) à la place de l'//identifier// pour le champ //code_digitiser// de la ressource //SYNTHESE//.
 +
 ===== Format SYNTHESE d'import ===== ===== Format SYNTHESE d'import =====
   * But : Permet de fournir les informations sur les observations.   * But : Permet de fournir les informations sur les observations.
Ligne 218: Ligne 221:
   * depth_max [INT(4)] : profondeur Maximale de l’observation en mètres selon le référentiel des profondeurs indiqué dans les métadonnées (système de référence spatiale verticale).   * depth_max [INT(4)] : profondeur Maximale de l’observation en mètres selon le référentiel des profondeurs indiqué dans les métadonnées (système de référence spatiale verticale).
   * place_name [VARCHAR(500)] : Nom du lieu ou de la station où a été effectuée l'observation. **ATTENTION** : cet attribut ne pourra pas être flouté !   * place_name [VARCHAR(500)] : Nom du lieu ou de la station où a été effectuée l'observation. **ATTENTION** : cet attribut ne pourra pas être flouté !
-  * geom [geometry(Geometry,2154)] (=//the_geom_local// => //the_geom_4326//, //the_geom_point//) : géométrie détaillée de l'observation transféré au format [[https://fr.wikipedia.org/wiki/Well-known_text|WKT]]. Utiliser la syntaxe Postgis pour indiquer le [[https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_coordonn%C3%A9es_(cartographie)#en_France_m%C3%A9tropolitaine|SRID]] utilisé au début du WKT (Ex. ''<nowiki>SRID=2154;POLYGON((786000 6515000,786500 6515000,786500 6514500,786000 6514500,786000 6515000))</nowiki>'' ou ''<nowiki>SRID=2154;POINT(959204.517 6405928.812)</nowiki>''). Utiliser le [[http://www.epsg-registry.org/?display=entity&urn=urn:ogc:def:crs:EPSG::2154|SRID 2154]].+  * geom [geometry(Geometry,2154)] (=//the_geom_local// => //the_geom_4326//, //the_geom_point//) : géométrie détaillée de l'observation transféré au format [[https://fr.wikipedia.org/wiki/Well-known_text|WKT]]. Utiliser la syntaxe Postgis pour indiquer le [[https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_coordonn%C3%A9es_(cartographie)#en_France_m%C3%A9tropolitaine|SRID]] utilisé au début du WKT (Ex. ''<nowiki>SRID=2154;POLYGON((786000 6515000,786500 6515000,786500 6514500,786000 6514500,786000 6515000))</nowiki>'' ou ''<nowiki>SRID=2154;POINT(959204.517 6405928.812)</nowiki>''). Utiliser préférentiellement le [[http://www.epsg-registry.org/?display=entity&urn=urn:ogc:def:crs:EPSG::2154|SRID 2154]] (à défaut le [[http://www.epsg-registry.org/?display=entity&urn=urn:ogc:def:crs:EPSG::4326|SRID 4326]]).
   * precision [INT(4)] : estimation en mètres d’une zone tampon autour de l'objet géographique. Cette précision peut inclure la précision du moyen technique d’acquisition des coordonnées (GPS,...) et/ou du protocole naturaliste.   * precision [INT(4)] : estimation en mètres d’une zone tampon autour de l'objet géographique. Cette précision peut inclure la précision du moyen technique d’acquisition des coordonnées (GPS,...) et/ou du protocole naturaliste.
   * code_area_attachment [VARCHAR(25)] : (ex : COM.05170). Permet d'indiquer dans le cas de données imprécises une zone géographique déjà présente dans la base. Cela évite l'utilisation d'une géométrie volumineuse car nous devibs seulement stocker le centroïde dans le champ ''geom''. Le format de ce champ correspond au type de zone géographique, tel qu'il est définit dans le champ ''type_code'' de la table ''l.areas'', agrégé par un point au code INSEE de cette zone (ex : DEP.05) soit le champ ''area_code'' de la table ''l.areas''. Les types de zone géographique disponibles : COM (communes) et DEP (Département). Il est envisageable d'utiliser d'autres zones en fonction des possibilités offertes par la base GeoNature de destination. Penser à remplir en correspondant le champ ''code_nomenclature_info_geo_type''.   * code_area_attachment [VARCHAR(25)] : (ex : COM.05170). Permet d'indiquer dans le cas de données imprécises une zone géographique déjà présente dans la base. Cela évite l'utilisation d'une géométrie volumineuse car nous devibs seulement stocker le centroïde dans le champ ''geom''. Le format de ce champ correspond au type de zone géographique, tel qu'il est définit dans le champ ''type_code'' de la table ''l.areas'', agrégé par un point au code INSEE de cette zone (ex : DEP.05) soit le champ ''area_code'' de la table ''l.areas''. Les types de zone géographique disponibles : COM (communes) et DEP (Département). Il est envisageable d'utiliser d'autres zones en fonction des possibilités offertes par la base GeoNature de destination. Penser à remplir en correspondant le champ ''code_nomenclature_info_geo_type''.
Ligne 429: Ligne 432:
   * meta_update_date [DATE(YYYY-MM-DD HH:MM:SS)] : date et heure de mise à jour de l'enregistrement de l'utilisateur.   * meta_update_date [DATE(YYYY-MM-DD HH:MM:SS)] : date et heure de mise à jour de l'enregistrement de l'utilisateur.
   * **meta_last_action** [CHAR(1)] : permet d'identifier les lignes ajoutées depuis le dernier import ("//I//"), modifiées ("//U//") ou supprimées ("//D//").   * **meta_last_action** [CHAR(1)] : permet d'identifier les lignes ajoutées depuis le dernier import ("//I//"), modifiées ("//U//") ou supprimées ("//D//").
 +
 +===== Format OCCTAX d'import =====
 +  * But : Permet de fournir les informations sur les observations à intégrer aux tables du module OccTax de GeoNature.
 +  * Table GeoNature : "//pr_occtax.*//".
 +  * Standard : [[https://inpn.mnhn.fr/docs-web/docs/download/221989|OccTax v2]]\\
 +  * Status : Beta (des changements peuvent subvenir)
 +
 +==== Description du format OCCTAX ====
 +Pour chaque ligne : ''nom_du_champ [format du champ] (=//table_geonature.nom_champ//) : description du champ.''. Les champs **en gras** sont obligatoires. Pour les nomenclatures, le nom de la mnémonique du type dans GeoNature est indiqué en italique en fin de description. La correspondance avec le nom de cette nomenclature dans le standard OccTax est indiqué entre parenthèses et un lien pointe vers le document PDF [[https://inpn.mnhn.fr/docs-web/docs/download/221989|Standards d'échanges du SINP]]. Pour les nomenclatures, la valeur à transmettre est celle présente dans la colonne "**Code**" du standard qui est équivalente au champ ''cd_nomenclature'' de la table ''ref_nomenclatures.t_nomenclatures'' de GeoNature.
 +
 +  * **unique_id_sinp_grp** [UUID] (//t_releve_occtax.unique_id_sinp_grp//) : UUID SINP du relevé s'il existe déjà dans les données sources.
 +  * **code_dataset** [VARCHAR(255)] (//=T_releves_occtax.id_dataset//) : code alphanumérique permettant d'identifier le jeu de donnée de l'observation. Sert de lien avec la ressource DATASET et son champ "shortname".
 +  * code_digitiser [VARCHAR(50)] (//t_releves_occtax.id_digitiser//): UUID de l'utilisateur à l'origine de la saisie de l'observation. Sert de lien avec la ressource USER et son champ "unique_id".
 +  * observers [VARCHAR(1000)] (//t_releves_occtax.observers_txt//] : Nom, prénom, email, organisme et UUID de la ou des personnes ayant réalisé l'observation. Voir le détail du format à plat des infos sur une personne.
 +  * **code_nomenclature_grp_typ** [VARCHAR(25)] (//=t_releves_occtax.id_nomenclature_grp_typ//) : code alphanumérique de la valeur du type de nomenclature TYP_GRP ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | TypeRegroupementValue|24|page90]]).
 +  * grp_method [VARCHAR(255)] (=t_releves_occtax.grp_method) : description de la méthode ayant présidé au regroupement, de façon aussi succincte que possible : champ libre.
 +  * **date_min** [DATE(YYYY-MM-DD HH:MM:SS)] (//=t_releves_occtax.date_min//) : date et heure du jour, dans le système local de l’observation dans le calendrier grégorien. En cas d’imprécision, cet attribut représente la date la plus ancienne de la période d’imprécision. La date doit être écrite suivant la norme ISO8601. L'heure est dans le fuseau horaire de la zone d'observation. Ce champ est obligatoire et ne peut pas contenir de valeur nulle.
 +  * **date_max** [DATE(YYYY-MM-DD HH:MM:SS)] (//=t_releves_occtax.date_max//) : date et heure du jour, dans le système local de l’observation dans le système grégorien. Lorsqu’une observation est faite sur un jour, les dates et heures de début et de fin sont les mêmes (cas le plus courant). La date doit être écrite suivant la norme ISO8601. L'heure est dans le fuseau horaire de la zone d'observation. Ce champ est obligatoire et ne peut pas contenir de valeur nulle. Ce champ doit contenir une date supérieur ou égale à celle du champ "date_min".
 +  * cd_hab [INT(4)] (//=t_releves_occtax.cd_hab//) : code HABREF de l'habitat où le taxon de l'observation a été identifié. Il peut être trouvé dans la colonne "CD_HAB" d'HabRef.
 +  * altitude_min [INT(4)] (//=t_releves_occtax.altitude_min//) : altitude minimum de l’observation en mètres.
 +  * altitude_max [INT(4)] (//=t_releves_occtax.altitude_max//) : altitude maximum de l’observation en mètres.
 +  * depth_min [INT(4)] (//=t_releves_occtax.depth_min//) : profondeur Minimum de l’observation en mètres selon le référentiel des profondeurs indiqué dans les métadonnées (système de référence spatiale verticale).
 +  * depth_max [INT(4)] (//=t_releves_occtax.depth_max//) : profondeur Maximale de l’observation en mètres selon le référentiel des profondeurs indiqué dans les métadonnées (système de référence spatiale verticale).
 +  * place_name [VARCHAR(500)] (//=t_releves_occtax.place_name//) : Nom du lieu ou de la station où a été effectuée l'observation. ATTENTION : cet attribut ne pourra pas être flouté !
 +  * meta_device_entry : <color black/#fff200>mettre NULL.</color>
 +  * comment_context [TEXT] (//=t_releves_occtax.comment//): description libre du contexte de l'observation, aussi succincte et précise que possible. Informations sur le lieu (=où), le moment (=quand) , la méthode (=comment) et la personne ayant réalisé l'observation (=qui).
 +  * geom [geometry(Geometry,2154)] (//=t_releves_occtax.geom_local et .geom_4326// ⇒ the_geom_4326, the_geom_point) : géométrie détaillée de l'observation transféré au format [[https://fr.wikipedia.org/wiki/Well-known_text|WKT]]. Utiliser la syntaxe Postgis pour indiquer le [[https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_coordonn%C3%A9es_(cartographie)#en_France_m%C3%A9tropolitaine|SRID]] utilisé au début du WKT (Ex. ''<nowiki>SRID=2154;POLYGON((786000 6515000,786500 6515000,786500 6514500,786000 6514500,786000 6515000))</nowiki>'' ou ''<nowiki>SRID=2154;POINT(959204.517 6405928.812)</nowiki>''). Utiliser préférentiellement le [[http://www.epsg-registry.org/?display=entity&urn=urn:ogc:def:crs:EPSG::2154|SRID 2154]] (à défaut le [[http://www.epsg-registry.org/?display=entity&urn=urn:ogc:def:crs:EPSG::4326|SRID 4326]]).
 +  * code_nomenclature_geo_object_nature [VARCHAR(25)] (//=t_releves_occtax.id_nomenclature_geo_object_nature//) : code alphanumérique de la valeur du type de nomenclature NAT_OBJ_GEO ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 |NatureObjetGeoValue|3|page64]]).
 +  * precision [INT(4)] (//=t_releves_occtax.precision//) : estimation en mètres d’une zone tampon autour de l'objet géographique. Cette précision peut inclure la précision du moyen technique d’acquisition des coordonnées (GPS,…) et/ou du protocole naturaliste.
 +  * **unique_id_occurence_occtax** : <color black/#fff200>UUID de l’occurrence s'il existe déjà dans les données sources.</color>
 +  * **code_nomenclature_obs_technique** [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_obs_technique//) (//=t_releves_occtax.id_nomenclature_tech_collect_camp//) : code alphanumérique de la valeur du type de nomenclature METH_OBS ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | ObservationTechniqueValue|14|page69]]). __Attention__ : MethodeObservation devient techniqueObservation, renommé "Technique de collecte (Campanule)(2018). 
 +  * **code_nomenclature_bio_condition** [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_bio_condition//) : code alphanumérique de la valeur du type de nomenclature ETA_BIO ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | OccurrenceEtatBiologiqueValue|7|page75]]).
 +  * code_nomenclature_bio_status [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_bio_status//) : code alphanumérique de la valeur du type de nomenclature STATUT_BIO ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | OccurrenceStatutBiologiqueValue|13|page76]]).
 +  * code_nomenclature_naturalness [VARCHAR(25)] (=//t_occurrences_occtax.id_nomenclature_naturalness//) : code alphanumérique de la valeur du type de nomenclature NATURALITE ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | OccurrenceNaturaliteValue|8|page77]]).
 +  * code_nomenclature_exist_proof [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_exist_proof//) : code alphanumérique de la valeur du type de nomenclature PREUVE_EXIST ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | PreuveExistanteValue|15|page83]]).
 +  * code_nomenclature_diffusion_level [VARCHAR(25)] (=//t_occurrences_occtax.id_nomenclature_diffusion_level//) : code alphanumérique de la valeur du type de nomenclature NIV_PRECIS ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | NiveauPrecisionValue|5|page64]]).
 +  * code_nomenclature_observation_status [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_observation_status//) : code alphanumérique de la valeur du type de nomenclature STATUT_OBS ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | StatutObservationValue|18|page84]]).
 +  * code_nomenclature_blurring [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_blurring//) : code alphanumérique de la valeur du type de nomenclature DEE_FLOU ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | dEEFloutageValue|4|page62]]).
 +  * code_nomenclature_source_status [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_source_status//) : code alphanumérique de la valeur du type de nomenclature STATUT_SOURCE ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | StatutSourceValue|19|page85]]).
 +  * code_nomenclature_behaviour [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_behaviour//) : code alphanumérique de la valeur du type de nomenclature OCC_COMPORTEMENT ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | OccurrenceComportementValue|110|page72]]).
 +  * determiner [VARCHAR(1000)] (//=t_occurrences_occtax.determiner//) : Prénom, nom et organisme de la ou les personnes ayant réalisé la détermination taxonomique de l’observation. Ex : Jean MARTIN (CBNA).
 +  * code_nomenclature_determination_method [VARCHAR(25)] (//=t_occurrences_occtax.id_nomenclature_determination_method//) : code alphanumérique de la valeur du type de nomenclature METH_DETERMIN (champ libre dans OccTax) (Voir les codes disponibles).
 +  * cd_nom [INT(4)] (//=t_occurrences_occtax.cd_nom//) : code du taxon en vigueur « cd_nom » de TaxRef référençant au niveau national le taxon. Il peut être trouvé dans la colonne "CD_NOM" de TaxRef.
 +  * **nom_cite** [VARCHAR(1000)] (//=t_occurrences_occtax.nom_cite//) : nom du taxon cité à l’origine par l’observateur. Ne pas mettre de valeur NULL dans ce champ mais une valeur vide ("").
 +  * meta_v_taxref [varchar(50)] (//=t_occurrences_occtax.meta_v_taxref//) : numéro de version de Taxref. Ex : "Taxref V16.0".
 +  * digital_proof [TEXT] (//=t_occurrences_occtax.digital_proof//) : si possible une URL (idéalement un permalien) vers la preuve en ligne.
 +  * non_digital_proof [TEXT] (//=t_occurrences_occtax.non_digital_proof//) : adresse ou nom de la personne ou de l'organisme qui permettrait de retrouver la preuve non numérique de l'observation.
 +  * comment_description [TEXT] (//=t_occurrences_occtax.comment//) : description libre de l'observation, aussi succincte et précise que possible. Informations sur le(s) individu(s) observé(s) (=quoi).
 +  * unique_id_sinp_occtax : <color black/#fff200>UUID du dénombrement s'il existe déjà dans les données sources.</color>
 +  * **code_nomenclature_life_stage** [VARCHAR(25)] (//=cor_counting_occtax.id_nomenclature_life_stage//) : code alphanumérique de la valeur du type de nomenclature STADE_VIE ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | OccurrenceStadeDeVieValue|10|page78]]).
 +  * **code_nomenclature_sex** [VARCHAR(25)] (//=cor_counting_occtax.id_nomenclature_sex//) : code alphanumérique de la valeur du type de nomenclature SEXE ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | OccurrenceSexeValue|9|page78]]).
 +  * **code_nomenclature_obj_count** [VARCHAR(25)] (//=cor_counting_occtax.id_nomenclature_obj_count//) : code alphanumérique de la valeur du type de nomenclature OBJ_DENBR ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | ObjetDenombrementValue|6|page68]]).
 +  * code_nomenclature_type_count [VARCHAR(25)] (//=cor_counting_occtax.id_nomenclature_type_count//) : code alphanumérique de la valeur du type de nomenclature TYP_DENBR ([[https://inpn.mnhn.fr/docs-web/docs/download/221989 | TypeDenombrementValue|21|page86]]).
 +  * count_min [INT(4)] (//=cor_counting_occtax.count_min//) : nombre minimum d'individus du taxon composant l'observation.
 +  * count_max [INT(4)] (//=cor_counting_occtax.count_max//) : nombre maximum d'individus du taxon composant l'observation. Mettre la même valeur que count_min si 1 seule valeur de dénombrement.
 +  * additional_data [JSON] : permet d'associer des champs complémentaires à la synthèse si toutes les entrées ne partagent pas les même champs. Les valeurs de ce champ doivent être [[https://www.json.org/json-fr.html|au format JSON]] et [[https://jsonformatter.curiousconcept.com/|être valide]]. Ne pas mettre de valeur vide dans ce champ mais une valeur NULL.
 +  * **meta_create_date** [DATE(YYYY-MM-DD HH:MM:SS)] : date et heure de création de l'enregistrement de l'observation.
 +  * meta_update_date [DATE(YYYY-MM-DD HH:MM:SS)] : date et heure de mise à jour de l'enregistrement de l'observation.
 +  * **meta_last_action** [CHAR(1)] (=//last_action//) : permet d'identifier les lignes ajoutées depuis le dernier import ("//I//"), modifiées ("//U//") ou supprimées ("//D//").
 +
 +=== À faire ===
 +
 +  * <todo>Faire le point sur l'ordre des champs</todo> : voir si nous ordonnons les champs suivant l'ordre hiérarchiques des tables d'OccTax.
 +  * <todo>Faire le point sur les champs</todo> ''unique_id_...''
 +    * <todo>Renommer</todo> ''unique_id_occurence_occtax'' en ''unique_id_occurence'' ou plutôt ''unique_id_sinp'' si c'est bien la même chose
 +    * <todo>Renommer</todo> ''unique_id_sinp_occtax'' en ''unique_id_counting''
 +  * <todo>Voir si on garde ou pas le champ</todo> ''meta_device_entry'' (le garder si présent dans le standard ou important pour GN)
 +  * <todo>Suite aux modifications précédentes tenir à jour les script SQL du dépôt sinp-shared-data</todo>
  
 ===== Format META_ADDITIONAL_DATA d'import ===== ===== Format META_ADDITIONAL_DATA d'import =====
   * But : permet de fournir la description des champs additionnels présent dans les fichiers de données à importer.\\   * But : permet de fournir la description des champs additionnels présent dans les fichiers de données à importer.\\
   * Standard : [[http://standards-sinp.mnhn.fr/occurrences-de-taxon|OccTax v2]] extension //AttributAdditionel//.\\   * Standard : [[http://standards-sinp.mnhn.fr/occurrences-de-taxon|OccTax v2]] extension //AttributAdditionel//.\\
 +  * Status : Alpha (non utilisé ; présent uniquement pour fournir une aide)
  
 ==== Description du format META_ADDITIONAL_DATA ==== ==== Description du format META_ADDITIONAL_DATA ====
  • database/import-formats.1735891532.txt.gz
  • Dernière modification : 2025/01/03 08:05
  • de choarau