Le format FongiFIS
Objectifs de FongiFIS
FongiFIS est le Format d'Import Standardisé de l'inventaire FongiBase. Il vise à standardiser l'importation des données de récolte de champignons à l'échelle nationale. Ses objectifs principaux sont :
- Faciliter l'intégration des données issues de différentes sources dans FongiBase.
- Garantir la qualité, la cohérence et la traçabilité des informations collectées.
- Permettre l'automatisation partielle ou totale des imports pour accélérer la mise à jour de la base nationale.
voir : https://fongibase.fongifrance.fr/imports/
La page suivante résume la description des champs de FongiFIS et précise l'interprétation qui en est faite par l'AMF ainsi que les limitations en vue d'alimenter (semi-)automatiquement )la base nationale FongiBase.
Adaptation de FongiFIS pour l'AMF
qualités des identifications
Variable selon l'identifieur qui n'est jamais mémorisé. Cela varie d'une identifacion par une seule personne, à une discussion collective autour de la table, jusqu'au travail d'une semaine au microscope... ou encore au l'oeil expert de René !
précision de la date de récolte
Si on exclue les weekend, les dates sont correctes
précision des coordonnnées GPS
- je pense qu'une précision de 500 mettres serait correcte (vérifier les parcours classique aux 8 routes ou au ru guérin)
Exclusion de certaines récoltes
- suppression des weekend car pas de coordonnées GPS précise (niveau département !)
Description des champs
TODO Faire un sous menu de lien pour chaque mode de sélecion :
TODO : compléter le controleur adm:recolte@fiongifis
pour récupérer la description des champs.
TODO : puis implanter la méthode Recolte->toFongiFIS()
- Les champs requis sont en rouge et en gras
- FFIS_ALL : Tous les champs FongiFIF avec description
- FFIS_LITE : Tous les champs FongiFIF monoligne
- FFIS_REQUIRED : Les seuls champs obligatoire
- FFIS_AMF : Les champs FFIF exporté par l'AMF
array:34 [ 0 => array:5 [ "name" => "ACTION" "type" => "text constant "Creation"" "required" => true "desc" => "Action à effectuer. Seule valeur autorisée : 'Creation'." "detail" => """ Cette colonne indique l’action à réaliser par le destinataire du fichier.\n Dans cette version du format, seule la valeur 'Creation' est possible, indiquant\n que les observations sont à ajouter dans la base de données du destinataire.\n """ ] 1 => array:5 [ "name" => "ORIGINE_USER_PRENOM" "type" => "text" "required" => true "desc" => "Prénom de la personne créatrice de la donnée." "detail" => """ Format texte contenant le prénom de la personne physique considérée\n comme la créatrice de la donnée dans la base FongiFrance.\n Cette personne doit être un utilisateur enregistré dans la base FongiFrance.\n """ ] 2 => array:5 [ "name" => "ORIGINE_USER_NOM" "type" => "text" "required" => true "desc" => "Nom de la personne créatrice de la donnée." "detail" => """ Format texte contenant le nom de la personne physique considérée\n comme la créatrice de la donnée dans la base FongiFrance.\n Cette personne doit être un utilisateur enregistré dans la base FongiFrance.\n """ ] 3 => array:5 [ "name" => "ORIGINE_ORG" "type" => "text" "required" => true "desc" => "Organisme à l’origine de la récolte." "detail" => """ Organisme à l’origine de la récolte (ex. : société mycologique,\n faculté de pharmacie, ...).\n Ce champ doit contenir le **sigle** de l'organisme enregistré dans la base\n FongiFrance (ex. : SMR35, SMF, SMF29, AMF, etc.).\n """ ] 4 => array:5 [ "name" => "COLLABORATION" "type" => "text" "required" => false "desc" => "Origine secondaire de la donnée (partenaire)." "detail" => """ Permet d’indiquer une origine de deuxième niveau (ex. : un herbier).\n Ex. : FMBDS dans ORIGINE_ORG et Herbier UCBL Lyon 1 en COLLABORATION.\n """ ] 5 => array:5 [ "name" => "ORIGINE_REF" "type" => "alphanumérique" "required" => false "desc" => "Identifiant de la récolte chez l’émetteur." "detail" => """ Format alphanumérique libre. Identifiant interne de la récolte dans la base de\n données de l’émetteur.\n Il faut un identifiant **stable** et **pérenne**\n Par exemple pour l'AMF, il ne faut pas utiliser le champs interne Recolte.id.\n Mais créer plutot un identiant basé sur la paire [amref_id,event_id]\n de la récolte.\n Par exemple 981-20091004 identifierait la première récolte de H. fasciculare\n associés à des coordonnées GPS (ftb_evees)\n On pourrait aussi **laisser ce champs vide** car sa valeur est redondante avec les\n autres information obligatoires.\n """ ] 6 => array:5 [ "name" => "DATE_RECOLTE" "type" => "date" "required" => true "desc" => "Date de la récolte, complète (AAAA-MM-JJ) ou partielle (AAA-MM ou AAAA)" "detail" => "Format AAAA-MM-JJ. Peut aussi être AAAA-MM ou AAAA si information incomplète.\n" ] 7 => array:5 [ "name" => "RANG" "type" => "enum [ES, FO, VAR, SSES, SSFO]" "required" => true "desc" => "Rang taxonomique du taxon observé." "detail" => "Valeurs : ES (espèce), FO (forme), VAR (variété), SSES (sous-espèce),\nSSFO (sous-forme).\n" ] 8 => array:5 [ "name" => "CD_NOM_FONGIREF" "type" => "integer" "required" => "false*" "desc" => "Identifiant FONGIREF du taxon." "detail" => """ Identifiant d’un taxon dans le référentiel FONGIREF.\n Le taxon doit exister dans ce référentiel.\n (*) Un deux deux champs CD_NOM_FONGIREF ou CD_NOM_TAXREF doit être présent\n """ ] 9 => array:5 [ "name" => "CD_NOM_TAXREF" "type" => "integer" "required" => "true*" "desc" => "Identifiant TAXREF du taxon." "detail" => """ Identifiant d’un taxon dans le référentiel TAXREF tel qu’utilisé dans\n FONGIREF. Le taxon doit être valide.\n (*) Un deux deux champs CD_NOM_FONGIREF ou CD_NOM_TAXREF doit être présent\n (*) Pour l'AMF, il semble jusdicieux de ne n'utiliser que CD_NOM_TAXREF\n """ ] 10 => array:5 [ "name" => "GENRE" "type" => "text" "required" => true "desc" => "Genre du taxon." "detail" => """ Champ obligatoire si un identifiant de taxon est renseigné.\n Utilisé pour assurer la cohérence avec les autres données taxonomiques.\n """ ] 11 => array:5 [ "name" => "EPITHETE" "type" => "text" "required" => true "desc" => "Épithète spécifique ou infraspécifique." "detail" => """ Partie du nom scientifique qui suit le genre.\n Obligatoire pour compléter la nomenclature du taxon.\n """ ] 12 => array:5 [ "name" => "TAXINTRASPEC" "type" => "text" "required" => "true*" "desc" => "Nom infra-spécifique si RANG inférier à ES." "detail" => "(*) Ce champ n’est à renseigner que si le rang taxonomique est inférieur à l'espèce.\n" ] 13 => array:5 [ "name" => "MODULATION" "type" => "enum [sp, gr, cf, aff, adint, ss, sl, ""]" "required" => false "desc" => "Modulation taxonomique." "detail" => """ Domaine de valeurs permettant de nuancer l'identification :\n 'sp' (espèce), 'gr' (groupe), 'cf' (confer), 'aff' (affinis = proche de),\n 'adint' (ad interim = en attendant = provisoire),\n 'ss' (sensu stricto), 'sl' (sensu lato).\n Champ optionnel, peut être vide.\n TODO: détailler les différentes valeurs pour un formulaire éventuel\n """ ] 14 => array:5 [ "name" => "TYPE_LOC" "type" => "constant "Point"" "required" => true "desc" => "Type de localisation (Point uniquement)." "detail" => """ Spécifie le type de localisation utilisé dans cette version du format.\n Actuellement, seule la valeur 'Point' est acceptée.\n """ ] 15 => array:5 [ "name" => "LONGITUDE" "type" => "decimal" "required" => true "desc" => "Coordonnée en degrés décimaux (WGS84)." "detail" => """ Exprimée en degrés décimaux selon le système géodésique WGS84.\n Valeurs comprises entre -180 et +180.\n """ ] 16 => array:5 [ "name" => "LATITUDE" "type" => "decimal" "required" => true "desc" => "Coordonnée en degrés décimaux (WGS84)." "detail" => "Í Exprimée en degrés décimaux selon le système géodésique WGS84. Valeurs comprises entre -90 et +90." ] 17 => array:5 [ "name" => "PRECISION_LOC" "type" => "integer" "required" => false "desc" => "Précision en mètres (positif)." "detail" => """ Indique la précision de la localisation.\n Si absent, elle est considérée meilleure que 50 mètres.\n diam: pour l'AMF il faudrait aller jusqu'à 500m !\n """ ] 18 => array:5 [ "name" => "CD_DEPT" "type" => "text" "required" => true "desc" => "Code INSEE du département (sur 2 chiffres eg. 01 pour l'Ain et 2A ou 2B pour la corse)." "detail" => "Doit être cohérent avec les coordonnées géographiques et le code commune\n" ] 19 => array:5 [ "name" => "CD_COMMUNE" "type" => "text" "required" => false "desc" => "Code INSEE de la commune" "detail" => "Facultatif, mais doit être cohérent avec les coordonnées géographiques et le code commune\n" ] 20 => array:5 [ "name" => "LIEU_DIT" "type" => "text" "required" => false "desc" => "Nom du lieu-dit (optionnel)." "detail" => """ Texte libre. Ce champ ne se substitue pas à une localisation de type Point.\n S’il est présent, il renseignera l’attribut lieu-dit dans la base FongiFrance.\n Exemple A CONFIRMER :\n LIEU_DIT : Au 8 routes\n """ ] 21 => array:5 [ "name" => "DOMAINE" "type" => "texte" "required" => false "desc" => "Nom du domaine (optionnel)." "detail" => """ Texte libre. Ce champ ne se substitue pas à une localisation de type Point.\n S’il est présent, il renseignera l’attribut domaine de la base FongiFrance.\n Exemple A CONFIRMER :\n DOMAINE : Forêt de Villefermoy\n """ ] 22 => array:5 [ "name" => "SOUS_DOMAINE" "type" => "text" "required" => false "desc" => "Nom du sous-domaine (optionnel)." "detail" => """ Texte libre. Ne remplace pas une localisation géographique précise.\n Complète l’information du champ DOMAINE."\n """ ] 23 => array:5 [ "name" => "PRECISION_DOMAINE" "type" => "text" "required" => false "desc" => "Détail supplémentaire du domaine." "detail" => """ Texte libre. Permet d’ajouter des précisions sur le DOMAINE ou SOUS_DOMAINE.\n Utilisé pour enrichir la localisation sémantique.\n """ ] 24 => array:5 [ "name" => "LEG" "type" => "text" "required" => false "desc" => "Observateur(s), format 'Prénom Nom/Prénom Nom/...'." "detail" => """ Texte formaté : 'Prénom Nom/Prénom Nom'.\n Ne contient pas de caractères\nspéciaux ni de chiffres.\n Séparateur : '/'.\n Champs non obligatoire mais conseillé.\n Exemple :\n LEG: "Collectif SHNVC"\n """ ] 25 => array:5 [ "name" => "DET" "type" => "text" "required" => false "desc" => "Déterminateur(s), format 'Prénom Nom/Prénom Nom/...'." "detail" => """ Texte identique au format LEG. Désigne la ou les personnes ayant effectué\n la détermination de l’espèce.\n Exemple :\n DET: "Eric Dupont/Pierre-Yves Legrand\n """ ] 26 => array:5 [ "name" => "REFHABITAT" "type" => "enum [EUNI, CORINE, Phytosocio, Libre]" "required" => false "desc" => "Référentiel utilisé pour spécifier l’habitat utilisé." "detail" => """ Permet d’indiquer le référentiel d’habitat associé au champ HABITAT.\n Domaine de valeurs fixes.\n """ ] 27 => array:5 [ "name" => "HABITAT" "type" => "text" "required" => false "desc" => "Code ou nom d’habitat selon référentiel." "detail" => """ Code de l’habitat dans le référentiel choisi.\n Texte libre si le référentiel choisi est 'Libre'.\n Exemple :\n HABITAT: "Boisement mixte [Hêtraie-sapinière]"\n """ ] 28 => array:5 [ "name" => "SUBSTRAT" "type" => "text" "required" => false "desc" => "Nom du substrat observé." "detail" => """ Si renseigné, doit correspondre à une valeur de la table des substrats\n FongiFrance (voir www.fongibase.fongifrance.fr).\n Exemple : Cône, fruit, chaton, extréments, ...\n """ ] 29 => array:5 [ "name" => "HOTE" "type" => "text" "required" => false "desc" => "Nom de l’hôte." "detail" => """ Nom du végétal ou organisme hôte associé à la récolte.\n Format texte libre.\n """ ] 30 => array:5 [ "name" => "ETAT_HOTE" "type" => "enum ["", "vivant", "mort", "moribond"]" "required" => false "desc" => "État de l’hôte." "detail" => "Indique si l’hôte est vivant, mort ou moribond. Peut être vide.\n" ] 31 => array:5 [ "name" => "CD_HERBIER" "type" => "text" "required" => false "desc" => "Identifiant de l’herbier." "detail" => "Code désignant l’herbier dans lequel un exemplaire a été conservé.\n" ] 32 => array:5 [ "name" => "NUM_HERBIER" "type" => "text" "required" => false "desc" => "Numéro d’exemplaire conservé dans l'herbier." "detail" => "¬ Identifiant attribué à l’exemplaire dans l’herbier." ] 33 => array:5 [ "name" => "REMARQUE" "type" => "text" "required" => false "desc" => "Commentaire libre." "detail" => """ Zone de texte libre pour ajouter tout commentaire utile concernant\n la récolte, l’observation ou les conditions associées.\n """ ] ]