Formats des données

Les observations du niveau de la mer sont couvertes par le thème "Caractéristiques géographiques océanographiques" de l'annexe III de la directive INSPIRE. Ces données sont plus particulièrement couvertes par le modèle Observations et Mesures. De fait, la diffusion des données marégraphiques REFMAR sur data.shom.fr répond aux standards INSPIRE et ETALAB. Le Sensor Observation Service (SOS) fournit deux formats de données : le JSON et le XML. Le format TXT complète l'offre de diffusion des données. En outre, un fichier SML, décrivant les processus liés à la mesure accompagne chaque format de données.

Le Sensor Observation Service (SOS)


À modèle particulier, service et standard particuliers : le Sensor Observation Service (SOS). Ce service, qui est un standard de l'Open Geospatial Consortium (OGC), est actuellement en cours d'adoption par INSPIRE comme service de référence pour le téléchargement des données d'observations et de mesures. Ce service permet d'interroger directement une base d'informations de mesures et d'observations de manière standardisée. Une requête DescribeSensor permet d'obtenir les informations sur un observatoire marégraphique donné et un GetObservations de récupérer directement en XML ou JSON les observations pour un site donné, sur une période de temps donnée, pour un type de source souhaité (données brutes ou données validées à différents pas de temps).

 

Métadonnées ISO et catalogage


L'implémentation de ce standard par data.shom.fr permet de répondre "facilement" aux exigences INSPIRE pour les données d'observations marégraphiques. En outre, l'architecture de data.shom.fr permet de répondre à la directive au sujet des métadonnées ISO, de leur catalogage dans un service de recherche et de leur affichage par un service de visualisation.

Open Geospatial Consortium (OGC)

Formats de diffusion des données marégraphiques

Le format XML est l'un des 3 formats de diffusion des données marégraphiques REFMAR mises à disposition sur data.shom.fr, Ce format est basé sur le langage GML. Pour rappel, le Geography Markup Language (GML) est un langage dérivé du XML pour encoder, manipuler et échanger des données géographiques. C'est un standard développé par l'Open Geospatial Consortium pour garantir l'interopérabilité des données dans le domaine de l'information géographique et de la géomatique. Le fichier XML est constitué de deux ensemble de blocs : le <gml:boundedBy> et le <om:member>.

 

Bloc <gml:boundedBy> :
 

Ce bloc fournit les coordonnées de l’observatoire marégraphique pour lequel les mesures du niveau marin sont téléchargées.

 

  <gml:boundedBy>

   <gml:Envelope srsName="EPSG:4326">

     <gml:lowerCorner>50.72738 1.57766</gml:lowerCorner>

     <gml:upperCorner>50.72738 1.57766</gml:upperCorner>

   </gml:Envelope>

 </gml:boundedBy>

 

Bloc <om:member> :


Le reste du fichier est constitué de blocs « <om:member> ». Ces blocs fournissent les données de hauteurs d’eau avec un couple date/heure – hauteur par bloc.

Les éléments principaux sont :

<gml:timePosition>2015-01-15T13:34:17.000Z</gml:timePosition> : qui fournit la date et l’heure de la mesure
Le format étant [année]-[mois]-[jour]T[heure]:[minutes]:[secondes][système horaire]

Le système horaire est indiqué ici par une lettre correspondant au fuseau (Z : Zoulou = UTC)

Le marégraphe utilisé est Toulon (identifiant 68)

<om:result uom="m">5.69</om:result> qui fournit la hauteur d’eau en mètres

 

<om:member>

   <om:Measurement gml:id="o_1422525328219">

     <om:samplingTime>

       <gml:TimeInstant gml:id="phenomenonTime_187">

         <gml:timePosition>2015-01-15T13:34:17.000Z</gml:timePosition>

       </gml:TimeInstant>

     </om:samplingTime>

     <om:resultTime xlink:href="#phenomenonTime_187"/>

     <om:procedure xlink:href="http://shom.fr/maregraphie/procedure/68"/>

     <om:observedProperty xlink:href="http://shom.fr/maregraphie/observedProperty/WaterHeight/1"/>

     <om:featureOfInterest>

       <sa:SamplingPoint gml:id="sf_4A577B6E15ED117A19DA671B743D7D43561B1D43">

         <gml:name codeSpace="http://www.opengis.net/def/nil/OGC/0/unknown">http://shom.fr/maregraphie/featureOfInterest/111</gml:name>

         <gml:name codeSpace="http://www.opengis.net/def/nil/OGC/0/unknown">http://shom.fr/maregraphie/featureOfInterest/111</gml:name>

         <sa:sampledFeature xlink:href="urn:ogc:def:nil:OGC:unknown"/>

         <sa:position>

           <gml:Point gml:id="point_sf_4A577B6E15ED117A19DA671B743D7D43561B1D43">

             <gml:pos srsName="EPSG:4326">50.72738 1.57766</gml:pos>

           </gml:Point>

         </sa:position>

       </sa:SamplingPoint>

     </om:featureOfInterest>

     <om:result uom="m">4.86</om:result>

   </om:Measurement>

 </om:member>

 

Métadonnées ISO et catalogage


L'implémentation de ce standard par data.shom.fr permet de répondre "facilement" aux exigences INSPIRE pour les données d'observations marégraphiques. En outre l'architecture de data.shom.fr permet de répondre à la directive au sujet des métadonnées ISO, de leur catalogage dans un service de recherche et de leur affichage par un service de visualisation.

 

Sensor Observation Service

Le format JSON pour JavaScript Object Notation est l'un des 3 formats de diffusion des données marégraphiques REFMAR mises à disposition sur data.shom.fr, Il s'agit d'un format de données textuelles dérivé de la notation des objets du langage JavaScript. Il permet de représenter de l’information structurée comme le permet XML.

 

Constitution du format JSON :


Le fichier JSON contient les données brutes sans en-tête.

 


{    "data": [

       {

           "idstation": 68,

           "idsource": 3,

           "value": 0.42,

           "timestamp": "2014/01/15 00:00:00"

       },

       {

           "idstation": 68,

           "idsource": 2,

           "value": 0.377,

           "timestamp": "2014/01/15 01:00:00"

       }

   ]

}

 

Chaque bloc correspond à une hauteur d’eau pour une date/ heure donnée avec :

  • idstation : l’identifiant du marégraphe, ici l'identifiant 68 correspondant à TOULON) ;
    idsource : le type de donnée,  ici 3 et 2 pour Validés temps différé et Brutes temps différé ;
    value : la hauteur d’eau en mètre ;
    timestamp : la date et l’heure de la donnée en UTC.
Sensor Observation Service

Le format TXT est l'un des 3 formats de diffusion des données marégraphiques REFMAR mises à disposition sur data.shom.fr, Ce format est le plus simple des 3. il est d'abord constitué d'un entête récapitulant les informations essentielles sur l'observatoire marégraphique ainsi que sur les observations et par les données en tant que telles (une mesure du niveau marin par ligne de données).

 

Présentation de l'entête :


Ce bloc dont chaque ligne est précédée d'un symbole "#" rassemble l'ensemble des informations relatives aux observations du niveau de la mer. L'exemple suivant reprend les éléments pour le port de Brest.

 


# Station : BREST
# Longitude : -4.49503994
# Latitude : 48.38290024
# Organisme fournisseur de données : SHOM / Marine nationale /
# Fuseau horaire : UTC+1
# Référence verticale : Zéro hydrographique
# Unité : m
# Source 1 : Données brutes temps réel
# Source 2 : Données brutes temps différé
# Source 3 : Données validées temps différé
# Source 4 : Données horaires brutes
# Source 5 : Données horaires validées
# Source 6 : Pleines et basses mers
# Date;Valeur;Source

 

Présentation des données :


Chaque ligne de donnée est formée par une date (en UTC) DD/MM/YYYY HH:MM:SS, une hauteur d'eau (en m) MM.DC et la source de la donnée (de 1 à 6 correspondant à la source 1 à 6).

 


03/02/2015 08:29:12;2.62;1
03/02/2015 08:30:12;2.6;1
03/02/2015 08:31:12;2.59;1
03/02/2015 08:32:12;2.57;1
03/02/2015 08:33:12;2.56;1
03/02/2015 08:34:12;2.54;1
03/02/2015 08:35:12;2.53;1
03/02/2015 08:36:12;2.51;1
03/02/2015 08:37:12;2.49;1
03/02/2015 08:38:12;2.47;1
03/02/2015 08:39:12;2.46;1
03/02/2015 08:40:12;2.44;1
03/02/2015 08:41:12;2.43;1
03/02/2015 08:42:12;2.42;1
03/02/2015 08:43:12;2.41;1
03/02/2015 08:44:12;2.39;1
03/02/2015 08:45:12;2.37;1
03/02/2015 08:46:12;2.36;1
03/02/2015 08:47:12;2.35;1
03/02/2015 08:48:12;2.34;1
03/02/2015 08:49:12;2.33;1

 

Le format SensorML (SML) accompagnant chaque fichier de données

Le format du fichier SML ou SensorML (Sensor Markup Language) est une norme OGC (Open Geospatial Consortium) approuvée qui fournit un modèle standard, encodé en XML pour décrire des capteurs et des processus de mesure. Ce fichier est présent à chaque fois que vous téléchargez un fichier de données quelque soit le format (XML, JSON ou TXT).

Le fichier SML est un fichier XML constitué de plusieurs sections :

 

Section   <sml:keywords> :

Sans objet

 

Sections  <sml:identification> et <sml:classification> :

On trouve dans ces deux sections, le numéro et le nom de l’observatoire fournis respectivement par les éléments :

<sml:identifier name="uniqueID"> et <sml:identifier name="longName">

                       <sml:classifier name="value"> et <sml:classifier name="label">

 

        <sml:identification>

       <sml:IdentifierList>

         <sml:identifier name="uniqueID">

           <sml:Term definition="urn:ogc:def:identifier:OGC:1.0:uniqueID">

             <sml:value>http://shom.fr/maregraphie/procedure/111</sml:value>

           </sml:Term>

         </sml:identifier>

         <sml:identifier name="id_shom">

           <sml:Term definition="http://">

             <sml:value>111</sml:value>

           </sml:Term>

         </sml:identifier>

         <sml:identifier name="longName">

           <sml:Term definition="urn:ogc:def:identifier:OGC:1.0:longName">

             <sml:value>BOULOGNE-SUR-MER</sml:value>

           </sml:Term>

         </sml:identifier>

         <sml:identifier name="shortName">

           <sml:Term definition="urn:ogc:def:identifier:OGC:1.0:shortname">

             <sml:value>http://shom.fr/maregraphie/procedure/111</sml:value>

           </sml:Term>

         </sml:identifier>

       </sml:IdentifierList>

     </sml:identification>

 

Section  <validTime> :

Cette section fournie la date de création ou de mise à jour du fichier SML.

 

      <sml:validTime>

       <gml:TimePeriod>

         <gml:beginPosition>2015-01-23T10:16:59.530Z</gml:beginPosition>

         <gml:endPosition indeterminatePosition="unknown"/>

       </gml:TimePeriod>

     </sml:validTime>

 

Section  <legal contraint> :

Elle fournit les éléments sur les conditions d’utilisations des données du marégraphe.

 


 <sml:legalConstraint>

       <sml:Rights>

         <sml:documentation>

           <sml:Document>

             <gml:description>Voir les conditions générales d'utilisation sur l'espace de diffusion.</gml:description>

           </sml:Document>

         </sml:documentation>

       </sml:Rights>

     </sml:legalConstraint>

 

Section  <Capabilities> :

Il s’agit d’une des principales sections qui fournit bon nombre d’informations sur l’observatoire :

 

  • La commune d’hébergement de l’observatoire 
  • Le système horaire (XXXXXXXXXXXXXXXXXXXXX)
  • Les coordonnées géographiques de l’observatoire (WGS84)
  • Le secteur géographique : FM : France métropolitaine  / Outre mer ???
  • Les organismes gestionnaires de l’observatoire
  • La date de la première observation de hauteur d’eau
  • Les liens vers les informations spécifiques de l’observatoire (inventaire, référence verticale, type de capteur, journal de bord…). Ces informations sont présentent sur la fiche de l’observatoire sur le site REFMAR
  • État de fonctionnement du marégraphe (ceci est également symbolisé sur la page du marégraphe par un point de couleur à côté du nom : OK => vert ; PB => orange  (maintenance) ; KO => rouge ; ASSYNC => violet (les mises à jour sont irrégulières
  • Le nom du site utilisé pour le calcul des prédictions de marée (élément : SPM)
  • La côte du zéro hydrographique par rapport au référentiel altimétrique (élément : zh_ref)
  • Le nom du référentiel altimétrique  (élément :  nom_ref)
  • Le zéro de référence verticale de l’observatoire.

 

 <sml:capabilities name="characterics">

       <swe:DataRecord>

         <swe:field name="ville_d_hebergement">

           <swe:Text definition="http://shom.fr/maregraphie/ville_d_hebergement">

             <swe:value>Boulogne-sur-mer</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="fuseau_horaire">

           <swe:Text definition="http://shom.fr/maregraphie/fuseau_horaire">

             <swe:value>+1</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="longitude">

           <swe:Quantity definition="http://shom.fr/maregraphie/longitude">

             <swe:value>1.57766</swe:value>

           </swe:Quantity>

         </swe:field>

         <swe:field name="latitude">

           <swe:Quantity definition="http://shom.fr/maregraphie/latitude">

             <swe:value>50.72738</swe:value>

           </swe:Quantity>

         </swe:field>

         <swe:field name="sect_geographique">

           <swe:Text definition="http://shom.fr/maregraphie/sect_geographique">

             <swe:value>FM</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="organisme">

           <swe:Text definition="http://shom.fr/maregraphie/organisme">

             <swe:value>SHOM / Région Nord pas de Calais / Port de Boulogne-sur-Mer</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="date_prem_obs">

           <swe:Category definition="http://shom.fr/maregraphie/date_prem_obs">

             <swe:value>1941/11/20 00:00:00.000000000</swe:value>

           </swe:Category>

         </swe:field>

         <swe:field name="inventaire">

           <swe:Text definition="http://shom.fr/maregraphie/inventaire">

             <swe:value>http://refmar.shom.fr/</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="ref_verticale">

           <swe:Text definition="http://shom.fr/maregraphie/ref_verticale">

             <swe:value>http://refmar.shom.fr/</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="descriptif_capteur">

           <swe:Text definition="http://shom.fr/maregraphie/descriptif_capteur">

             <swe:value>http://refmar.shom.fr/</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="acces_niv_moyen">

           <swe:Text definition="acces_niv_moyen">

             <swe:value>http://diffusion.shom.fr/produits/references-verticales/references-altimetriques-maritimes-ram.html</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="collocalisation">

           <swe:Text definition="http://shom.fr/maregraphie/collocalisation">

             <swe:value>http://www.sonel.org/spip.php?page=gps&idStation=642</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="etat_maregraphe">

           <swe:Text definition="http://shom.fr/maregraphie/etat_maregraphe">

             <swe:value>OK</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="info_maregraphe">

           <swe:Text definition="http://shom.fr/maregraphie/info_maregraphe">

             <swe:value>http://refmar.shom.fr/</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="journal_de_bord">

           <swe:Text definition="http://shom.fr/maregraphie/journal_de_bord">

             <swe:value>http://refmar.shom.fr/</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="spm">

           <swe:Text definition="http://shom.fr/maregraphie/spm">

             <swe:value>BOULOGNE</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="zh_ref">

           <swe:Text definition="http://shom.fr/maregraphie/zh_ref">

             <swe:value>-4,4</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="nom_ref">

           <swe:Text definition="http://shom.fr/maregraphie/spm">

             <swe:value>IGN69</swe:value>

           </swe:Text>

         </swe:field>

         <swe:field name="zero_hydro">

           <swe:Text definition="http://shom.fr/maregraphie/spm">

             <swe:value>zero_hydrographique</swe:value>

           </swe:Text>

         </swe:field>

       </swe:DataRecord>

     </sml:capabilities>

 

Section  <sml:capabilities name="organisme"> :

Dans cette section, sont fourni les noms, logos et liens vers les organismes gestionnaires de l’observatoire de marée.

 

Section  <sml:capabilities name="observedBBOX"> :

Sans objet

 

Section  <sml:capabilities name="offerings"> :

Sans objet

 

Section  <sml:contact"> :

On trouve dans cette section les coordonnées de l’équipe REFMAR.

 

Section  <sml:position name="sensorPosition"> :

Elle fournit les coordonnées géographiques du site.

 

Section  <sml:inputs> et ml:outputs"> :

Ici sont listés les différents types de hauteurs d’eau disponibles.

Sensor Model Language (SensorML)

A découvrir également