Merci Tony pour le CR pourrais tu m'envoyer les nouveaux Baracouda2echobase.ods et le Baracouda2Echobase_Procedure.odt que tu as sur ton PC? Merci M Tony Chemit a écrit :
Bonjour,
Voici en PJ le compte-rendu de la réunion du 2 décembre avec Mathieu sur l'import des données du modèle acoustique.
Cordialement,
Tony.
------------------------------------------------------------------------
=============== projet echobase ===============
Lundi 5-12-2011 (Ifremer)
Présents : Mathieu, Tony
Planning --------
Finaliser le modèle d'import des données acoustiques.
Modèle acoustique -----------------
Entité Voyage ~~~~~~~~~~~~~
Sample recopie de la table *CAMPAGNE* avec en plus deux clef étrangères sur Mission et AreaOfOperation.
*CAMPAGNE* -> VoyageName (S) *TYPE_CAMPAGNE* -> Mission (FK) *DATE_DEPART* -> VoyageStartDate (Date) *DATE_ARRIVEE* -> VoyageEndDate (Date) *PORT_DEPART* -> StartPort (S) *PORT_ARRIVEE* -> EndPort (S) *ZONE* -> AreaOfOperation (FK) *COMMENTAIRE* -> VoyageDescription (S)
Entité Transit ~~~~~~~~~~~~~~
Pour les données anciennes on doit créer un transit pour une campagne
Les seuls champs à renseigner sont les suivants :
*TransitDescription* -> "Cruise" *TransitStartTime* -> Voyage#VoyageStartDate *TransitEndTime* -> Voyage#VoyageEndDate
Entité Transect ~~~~~~~~~~~~~~~
Comme pour les transits, dans les données historiques, on a un seul transect par campagne. On crée donc artificiellement un tel objet par campagne.
Voici les champs à renseigner :
*Title* -> "Cruise" (S) *Comment* -> "From Baracouda" (S) *BinUnitsPingAxis* -> n.mi." (S) *BinSizePingAxis* -> 1 (I) *BinSizeRangeAxis* -> "variable" (S) ? cela ne colle pas avec un type (D) ?
On supprime l'entité *TransitVessel* et on attache directement le Vessel sur le Transect.
*CAMPAGNE#NAVIRE* -> vessel (FK)
Ensemble des nouveaux champs :
*Abstract* (S) *History* (S) *Metadata* (S) *Citation* (S) *Licence* (S) *VesselName* -> A supprimer car redondant *VoyageID* -> A supprimer car redondant *DateCreated* (Date) *GeospatialLonMin* (D) *GeospatialLonMax* (D) *GeospatialLatMin* (D) *GeospatialLatMax* (D) *Datum* (S) *Linestring* (S) *GeospatialVerticalMin* (D) *GeospatialVerticalMax* (D) *GeospatialVerticalPositive* (S) *TimeCoverageStart* (Date) *TimeCoverageEnd* (Date) *BinUnitsPingAxis* (S) *BinSizePingAxis* (D) *BinSizeRangeAxis* (D)
Entité DataAcquisition ~~~~~~~~~~~~~~~~~~~~~~
Il s'agit d'une nouvelle table.
On supprime l'entité *AcousticInstrumentInTransect* et on attache directement le *AcousticInstrument* sur le Transect.
Pour les données anciennes on crée une ligne pour chaque Transect.
AcousticInstrument (FK) la référence sur le AcousticInstrument utilisé à partir de *EI_SONDEUR#ID_REFSONDEUR* TransceiverAcquisitionAbsorption (D) TransceiverAcquisitionAbsorptionDescription (S) TransducerAcquisitionBeamAngleAthwartship (D) TransducerAcquisitionBeamAngleAlongship (D) TransducerAcquisitionPsi (D) TransceiverAcquisitionPower (I) TransectAcousticInstrumentID (S) inutile on a supprimer cette table d'association DataAcquisitionID ID -> inutile car on a déjà une clef technique AcquisitionSoftwareVersion (S) LoggedDataFormat (S) LoggedDataDatatype (S) TransceiverAcquisitionPulseLength (D) TransceiverAcquisitionGain (D) TransceiverAcquisitionSacorrection (D) PingDutyCycle (S) EchosounderSoundSpeed (I) SoundSpeedCalculations (S)
Entité DataProcessing ~~~~~~~~~~~~~~~~~~~~~
Pour les données anciennes on crée une ligne pour chaque DataAcquisition.
On récupère ensuite les données à partir de la table *EI_CONFIGURATION* en utilisant la ligne de la campagne *ID_EI*.
*ID_EI* -> DataProcessingID (S) A ne pas conserver (ref vers la campagne) *TYPE_EI* -> ProcessingTemplate (S) *QUALIF_EI* -> ProcessingDescription (S) *CSTSONDEUR* -> SounderConstant (D) *SEUILNUM* -> DigitThreshold (I) *SEUILEIT* -> EIThreshold (I) *ENERG_UNIT_SOURCE* -> AcousticDensityUnit (S) *COMMENTAIRE* -> Notes (S) *SV_GAIN* -> TransceiverProcessingGain (D)
Nouveaux champs :
*DataAcquisitionID* (S) A supprimer *ProcessingSoftwareVersion* (S) *TransceiverProcessingSacorrection* (D) *TransceiverProcessingAbsorption* (D) *TransceiverProcessingAbsorptionDescription* (S) *TransducerProcessingPsi* (D) *TransducerProcessingBeamAngleAthwartship* (D) *TransducerProcessingBeamAngleAlongship* (D) *EchosounderSoundSpeed* (D) *SoundSpeedCalculations* (S)
Entité Cell et Data ~~~~~~~~~~~~~~~~~~~
On utilise plutôt une relation Cell --> childs (Cell) car une cellule peut avoir plusieurs parents.
On veut importer trois type de cellules :
- cellule de type région - cellule de type ESDU (parent de type région) - cellule de type élémentaire (parent de type ESDU)
Cellule de type Région ++++++++++++++++++++++
Cell ____
Il s'agit de cellules de type *RegionSURF* et *RegionCLAS*, elles proviennent de la table *POST_STRATE*.
On prend uniquement les cellules dont le *Type_Image* vaut :
*SURF* -> pour une cellule de type *RegionSURF* *CLAS* -> pour une cellule de type *RegionCLAS*
On conserve uniquement la donnée suivbante :
*ID_STRATE* -> *CellName* (S) c'est la clef métier que l'on veut conserver.
Data ____
On considère une seule donnée pour les cellules de type *Région*, à savoir de type *Surface*.
La donnée est encore dans la table *POST_STRATE* dans la colonne *SURFACE*
*SURFACE* -> *dataValue* (S)
Cellule de type ESDU ++++++++++++++++++++
Les cellules de type ESDU ont pour parent des cellules de type Région et proviennent de la table *EI_ESU*, une telle cellule aura un celluleType nommé *ESDU*.
Pour rattacher une cellule de type “Esdu” à sa région, on utilise la table *SCENARIO* la région = POST_STRATE_SCENARIO et l'id de la cellule esdu c'est DTHU_SCENARIO.
Cell ____
*ID_EI_ESDU* -> DataProcessingID (S) inutile car on possède d'ja cette information *DHTU_ESDU* -> CellName (S) Il s'agit de la clef métier que l'on va conserver *FLAG* -> DataQualityFlagValues (FK) vers la table DataQuality#qualityDataFlagValues
celluleType -> vers celle de nom "ESDU"
Data ____
5 types de données possibles :
- *Latitude* (EI_ESU#LATDMC) - *Longitude* (EI_ESU#LGDMC) - *depth* (EI_ESU#SONDE) - *time* (EI_ESU#DHTU_DEVIATION) - *AcousticDensity* (EI_ESU#TOTAL)
A noter que pour la donnée acoustique, on doit retrouver son type qui a été injecté dans DataMetadata depuis la table *EI_CONFIGURATION* et qui est lié à la campagne (utilisation du champs EI_CONFIGURATION#ENERG_UNIT_SOURCE).
A noté que pour les données de type *Latitud*, *Longitude* et *depth*, on doit avoir cellMethod = "Start" dans la dataMetadata à utiliser.
Cellule de type élémentaire +++++++++++++++++++++++++++
Les cellule de type élémentaire ont pour parent les cellules *ESDU* et proviennent de la table *EIT_DESCRIPT_TRANCHE*, une telle cellule aura un celluleType nommé *Elementaire*
Pour rattacher une cellule de type “élémentaire” à sa cellule ESDU, on utilise la table *EIT_ENERGIE_TRANCHES* la cellule ESDU = DHTU_ESDU et l'id de la cellule esdu c'est Id_TRANCHE (mais on ne le conserve pas au final)
Cell ____
*ID_TRANCHE* -> CellID ID (inutile car on a déjà une clef technique) *LIBELLE_TRANCHE* -> CellName (S) (c'est la clef métier à conserver) *FLAG* -> DataQualityFlagValues (FK) Utiliser la donnée de EI_ESDU#FLAG) vers la table DataQuality#qualityDataFlagValues pour les données historiques.
Data ____
Les cellules d'écho-intégration peuvent être référencées à la surface (LIBELLE_TRANCHE de type "Sx") ou au fond (LIBELLE_TRANCHE de type "Fx"). Cette information se retrouve dans le type de Data décrivant leurs limites de profondeur.
On utilise 3 types de données sur une telle cellule :
- *DepthRefSurfaceStart* ou *DepthRefBottomStart* -> *EIT_DESCRIPT_TRANCHE#HMIN_TRANCHE* - *DepthRefSurfaceEnd* ou *DepthRefBottomEnd* -> *EIT_DESCRIPT_TRANCHE#HMAX_TRANCHE* - *AcousticDensity* -> *EIT_ENERGIE_TRANCHES#ENERGY* - *time* -> *EIT_ENERGIE_TRANCHES#DHTU_DEVIATION*
Comme pour les cellules de type ESDU on retrouve la metaData de type *AcousticDensity* via le type de campagne et la meta importée à partir de la table *EI_CONFIGURATION*.
Entité Result ~~~~~~~~~~~~~
Pas encore disponible
Import ------
- Prévoir un import des Calibration - Prévoir un import des Résultats
On en reparlera lors de la mise en place des imports.
Actions -------
- faire l'import du référentiel et des données depuis la base historique (Codelutin) - finir les actions d'import/export globale de la base (Codelutin) - définir les scénarii d'imports (Ifremer) - finir l'import des données historiques pour le modèle acoustique (Ifremer) - finir le modèle de pêche (Ifremer)
------------------------------------------------------------------------
_______________________________________________ Echobase-devel mailing list Echobase-devel@list.forge.codelutin.com http://list.forge.codelutin.com/cgi-bin/mailman/listinfo/echobase-devel
-- Mathieu Doray, PhD Ifremer Département Ecologie et Modèles pour l'Halieutique rue de l'Ile d'Yeu B.P. 21105 44311 Nantes Cedex 03 mathieu.doray@ifremer.fr Tel./Phone: 02 40 37 41 65 / International: 332 40 37 41 65 Fax : 02.40.37.40.01 / International: 332 40 37 40 01 Thèse en ligne / PhD manuscript: http://www.ifremer.fr/docelec/doc/2006/these-1735.pdf CV / resume: http://mathieudoray.ouvaton.org/CV_Mathieu_Doray.html