• Présentation

    QUADRIGE regroupe de nombreuses thématiques : Phytoplancton et hydrologie, suivi environnemental de centrale nucléaire, Microbiologie, Benthos, ...). Chacune de ces thématiques fera l'objet d'un endpoint (opération) de l'API Surveillance des eaux littorales. La thématique Contaminants chimiques et écotoxicologie a été choisie pour initier la diffusion des données de QUADRIGE via Hub'Eau.

    Source des données : Système d'information Quadrige de l'IFREMER.

  • Derniers changements

    • 16/11/2022 : passage en version 1
    • 14/12/2021 : suppression du réseau 0000000020 qui a été abandonné et intégration des données du réseau 0000000178
    • 15/04/2021 : mise à disposition de la version beta
  • Exposition des données

    Les données sont exposées sous la forme d'une API REST.

    Les formats supportés sont : JSON, GeoJSON et CSV.

  • Accessibilité

  • Pagination

    Chaque page renvoie un nombre de résultats égal au paramètre size.

    L'API Surveillance du Littoral utilise un type de pagination non séquentiel qui permet de sauter d'une page à l'autre de résultats dans n'importe quel ordre. En contre-partie, la profondeur d'accès aux résultats est limitée.

    Paramètres

    • page : le numéro de page
    • size : la taille de la page

    Attributs

    • Les attributs prev et next (définis à null si il n'y a pas de page précédente et/ou suivante) sont disponibles dans l'URL de la réponse pour éviter d'avoir à calculer les pages précédentes et/ou suivantes
    • L'attribut first permet d'accéder à la première page des résultats,
    • L'attribut last permet d'accéder à la dernière page des résultats,
    • L'attribut count permet de compter le nombre total de résultats,
    • L'attribut data permet d'accéder aux résultats sous forme de liste.

    Un tutoriel sur l'API Qualité des cours d'eau explique, dans la partie Taille des pages de réponse, la mise en oeuvre pratique de la pagination à l'aide d'un cas concret.
    Enfin, des exemples de code en Python, R et php sont disponibles dans la partie Exemples de la page de contribution GitHub de Hub'Eau.

  • Limitations

    Périmètre fonctionnel

    Une des limitations principales de la version actuelle est l'absence des données permettant l'interprétation des analyses des contaminants chimiques (Aluminium, CaCO3, Carbone organique, ...).

    Pagination

    • Taille de page : les résultats sont paginés avec une valeur par défaut et une valeur maximum de taille de page pour chaque opération. Cette valeur est indiquée dans les commentaires de l'opération. Par exemple : "taille de page par défaut : 5000, taille max de la page : 20000."
    • Profondeur d'accès aux résultats : la profondeur d'accès aux résultats (numéro de la page * nombre maximum de résultats dans une page) est limitée à 20 000 enregistrements.

    Taille de l'URL

    La longueur maximale d'une URL est de 2 083 caractères, la requête est bloquée si la limite de longueur est dépassée.

  • Opérations

    L'API "Surveillance du Littoral" propose actuellement 2 opérations :

    • lieux_surv (opération : Lister les lieux de surveillance du littoral) - permet de récupérer tous les lieux de surveillance (sites) du littoral (sites).
    • contaminants_chimiques (opération : Lister les analyses des contaminants chimiques) - permet de récupérer les analyses de la thématique Contaminants chimiques et écotoxicologie.

    NB : Les analyses des différentes thématiques de QUADRIGE seront progressivement disponibles et feront l'objet de nouveaux endpoints. A noter que le endpoint lieux_surv fournit l'ensemble des lieux de surveillance, y compris ceux n'ayant pas de mesures sur la thématique Contaminants chimiques et écotoxicologie, pour être complet quand les autres thématiques seront disponibles. Pour interroger seulement les lieux de surveillance avec des données de contaminants chimiques, ajoutez le paramètre donnees_cc=true à votre requête.

    Localisation des lieux de surveillance du milieu marin

  • Exemple

    Lieux de surveillance

    1. Lister tous les lieux de surveillance possédant des données de contaminants chimiques :

    La paramètre à utiliser est donnees_cc. L'URL à interroger est : https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true

    Résultat :

    
    {
      {
      "count": 353,
      "first": "https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true&page=1&size=1000",
      "last": null,
      "prev": null,
      "next": null,
      "api_version": "v1",
      "data": [
        {
          "code_lieusurv": "1001104",
          "libelle_lieusurv": "001-P-022 - Oye plage",
          "mnemo_lieusurv": "001-P-022",
          "ecart_heureTU_lieusurv": 1,
          "prof_lieusurv": -1,
          "coordonnee_x_lieusurv": 2.00455,
          "coordonnee_y_lieusurv": 51.002766,
          "code_projection": "31",
          "type_acquisition_coord": "3",
          "codes_masses_eau": [
            "FRAC02"
          ],
          "noms_masses_eau": [
            "FRAC02 - Jetée de Malo à Est cap Griz nez"
          ],
          "commentaire": "Coordonnées modifiées le 20/09/2019 à la demande du LER/BL validée par les coordinateurs des réseaux concernés car anciennes coordonnées fausses (hors zone d'exploitation des coquillages)   anciennes coordonnées   lat = 51.0024777513, long = 1.9986607303 (positionnement IGN non défini)",
          "date_creation": "1900-01-01T00:00:00Z",
          "date_maj": "2019-09-20T00:00:00Z",
          "date_debut_donnees": "1987-06-29T00:00:00Z",
          "date_fin_donnees": "2021-02-02T00:00:00Z",
          "codes_reseaux": [
            "0000000010",
            "0000000013",
            "0000000014",
            "0000000020",
            "0000000110"
          ],
          "noms_reseaux": [
            "Réseau de contrôle microbiologique des zones de production conchylicoles (REMI)",
            "Réseau de contrôle microbiologique (REMI) - Surveillance",
            "Réseau de Surveillance du Phytoplancton et des Phycotoxines (REPHY)",
            "Réseau National d'Observation de la qualité du milieu marin (RNO) - Matière vivante",
            "Réseau de surveillance du phytoplancton et des phycotoxines (REPHY) -  Toxines"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ],
          "donnees_cc": true,
          "longitude": 2.00455,
          "latitude": 51.002766,
          "geometry": {
            "type": "Point",
            "crs": {
              "type": "name",
              "properties": {
                "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
              }
            },
            "coordinates": [
              2.00455,
              51.002766
            ]
          },
          "uri_reseaux": [
            "https://id.eaufrance.fr/dc/0000000010",
            "https://id.eaufrance.fr/dc/0000000013",
            "https://id.eaufrance.fr/dc/0000000014",
            "https://id.eaufrance.fr/dc/0000000020",
            "https://id.eaufrance.fr/dc/0000000110"
          ],
          "uri_taxons_suivis": [
            "https://id.eaufrance.fr/apt/3432"
          ]
        },
        {
          "code_lieusurv": "1001105",
          "libelle_lieusurv": "001-P-023 - Digue du Braek",
          "mnemo_lieusurv": "001-P-023",
          "ecart_heureTU_lieusurv": 1,
          "prof_lieusurv": null,
          "coordonnee_x_lieusurv": 2.2903323,
          "coordonnee_y_lieusurv": 51.052483,
          "code_projection": "31",
          "type_acquisition_coord": "1",
          "codes_masses_eau": [
            "FRAC02"
          ],
    ...
    ...     
    }
    

    353 lieux de surveillance sont concernés.

    2. Restreindre la réponse avec seulement les attributs code et libellé du lieu, dates de début et de fin des données, codes réseaux suivis, latitude, longitude et taxons suivis :

    La paramètre à utiliser pour filtrer les attributs est fields, suivi des noms des attributs à conserver, séparés par une virgule. L'URL devient : https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true&fields=code_lieusurv,libelle_lieusurv,date_debut_donnees,date_fin_donnees,codes_reseaux,codes_taxons_suivis,noms_taxons_suivis,longitude,latitude

    Résultat :

    
    {
      "count": 353,
      "first": "https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true&fields=code_lieusurv,libelle_lieusurv,date_debut_donnees,date_fin_donnees,codes_reseaux,codes_taxons_suivis,noms_taxons_suivis,longitude,latitude&page=1&size=1000",
      "last": null,
      "prev": null,
      "next": null,
      "api_version": "v1",
      "data": [
        {
          "code_lieusurv": "1001104",
          "libelle_lieusurv": "001-P-022 - Oye plage",
          "date_debut_donnees": "1987-06-29T00:00:00Z",
          "date_fin_donnees": "2021-02-02T00:00:00Z",
          "codes_reseaux": [
            "0000000010",
            "0000000013",
            "0000000014",
            "0000000020",
            "0000000110"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ]
          "longitude": 2.00455,
          "latitude": 51.002766
        },
        {
          "code_lieusurv": "1001105",
          "libelle_lieusurv": "001-P-023 - Digue du Braek",
          "date_debut_donnees": "1991-02-04T00:00:00Z",
          "date_fin_donnees": "1993-04-08T00:00:00Z",
          "codes_reseaux": [
            "0000000020"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ]
        },
        {
          "code_lieusurv": "1001503",
          "libelle_lieusurv": "001-P-071 - Dunkerque 3 S",
          "date_debut_donnees": "1976-12-14T00:00:00Z",
          "date_fin_donnees": "1982-09-14T00:00:00Z",
          "codes_reseaux": [
            "0000000022"
          ],
    ...
    ...
    

    Seuls les attributs mentionnés par le paramètre fields sont maintenant renvoyés.

    3. Parmi ces lieux de surveillance, ne conserver que ceux qui ont des données en 2015 :

    Le paramètre à utiliser date_donnees. L'URL devient : https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true&fields=code_lieusurv,libelle_lieusurv,date_debut_donnees,date_fin_donnees,codes_reseaux,codes_taxons_suivis,noms_taxons_suivis,longitude,latitude&date_donnees=2015-01-01

    Résultat :

    
    {
      "count": 104,
      "first": "https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true&fields=code_lieusurv,libelle_lieusurv,date_debut_donnees,date_fin_donnees,codes_reseaux,codes_taxons_suivis,noms_taxons_suivis,longitude,latitude&date_donnees=2015-01-01&page=1&size=1000",
      "last": null,
      "prev": null,
      "next": null,
      "api_version": "v1",
      "data": [
        {
          "code_lieusurv": "1001104",
          "libelle_lieusurv": "001-P-022 - Oye plage",
          "date_debut_donnees": "1987-06-29T00:00:00Z",
          "date_fin_donnees": "2021-02-02T00:00:00Z",
          "codes_reseaux": [
            "0000000010",
            "0000000013",
            "0000000014",
            "0000000020",
            "0000000110"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ],
          "longitude": 2.00455,
          "latitude": 51.002766
        },
        {
          "code_lieusurv": "10023010",
          "libelle_lieusurv": "020-P-012 - Vieux plan Est",
          "date_debut_donnees": "1987-03-02T00:00:00Z",
          "date_fin_donnees": "2020-12-02T00:00:00Z",
          "codes_reseaux": [
            "0000000010",
            "0000000013",
            "0000000014",
            "0000000020",
            "0000000110"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ],
          "longitude": -1.7633915,
          "latitude": 48.63826
        },
    ...
    ...
    

    104 lieux de surveillance répondent aux critères.

    4. Maintenant, parmi ces lieux de surveillance, ne conserver que ceux qui se trouvent dans un cercle de centre -1,8° de longitude et 48,6° de latitude, et de rayon 20 kilomètres :

    Les paramètres à utiliser sont longitude, latitude et distance. L'URL devient : https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true&fields=code_lieusurv,libelle_lieusurv,date_debut_donnees,date_fin_donnees,codes_reseaux,codes_taxons_suivis,noms_taxons_suivis,longitude,latitude&date_donnees=2015-01-01&longitude=-1.8&latitude=48.6&distance=20

    Résultat :

    
    {
      "count": 4,
      "first": "https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true&fields=code_lieusurv,libelle_lieusurv,date_debut_donnees,date_fin_donnees,codes_reseaux,codes_taxons_suivis,noms_taxons_suivis,longitude,latitude&date_donnees=2015-01-01&longitude=-1.8&latitude=48.6&distance=20&page=1&size=1000",
      "last": null,
      "prev": null,
      "next": null,
      "api_version": "v1",
      "data": [
        {
          "code_lieusurv": "10023010",
          "libelle_lieusurv": "020-P-012 - Vieux plan Est",
          "date_debut_donnees": "1987-03-02T00:00:00Z",
          "date_fin_donnees": "2020-12-02T00:00:00Z",
          "codes_reseaux": [
            "0000000010",
            "0000000013",
            "0000000014",
            "0000000020",
            "0000000110"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ],
          "longitude": -1.7633915,
          "latitude": 48.63826
        },
        {
          "code_lieusurv": "10023032",
          "libelle_lieusurv": "020-P-034 - Baie St Michel est 6",
          "date_debut_donnees": "1997-07-24T00:00:00Z",
          "date_fin_donnees": "2020-02-12T00:00:00Z",
          "codes_reseaux": [
            "0000000010",
            "0000000013",
            "0000000014",
            "0000000020",
            "0000000011",
            "0000000110"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ],
          "longitude": -1.621016,
          "latitude": 48.697372
        },
        {
          "code_lieusurv": "10023043",
          "libelle_lieusurv": "020-P-045 - Cancale port",
          "date_debut_donnees": "2001-07-25T00:00:00Z",
          "date_fin_donnees": "2015-06-13T00:00:00Z",
          "codes_reseaux": [
            "0000000022"
          ],
          "codes_taxons_suivis": null,
          "noms_taxons_suivis": null,
          "longitude": -1.8283526,
          "latitude": 48.669037
        },
        {
          "code_lieusurv": "10023101",
          "libelle_lieusurv": "020-P-054 - Le Vivier sur mer",
          "date_debut_donnees": "1979-12-17T00:00:00Z",
          "date_fin_donnees": "2017-02-09T00:00:00Z",
          "codes_reseaux": [
            "0000000020"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ],
          "longitude": -1.767227,
          "latitude": 48.639423
        }
      ]
    }

    4 lieux de surveillance répondant aux critères sont présents dans ce cercle.

    5. Enfin, nous voulons filtrer sur les réseaux de mesure et ne garder que les lieux faisant partie des réseaux de code 0000000022 ou 0000000011 :

    Le paramètres à utiliser est codes_reseaux. On peut mentionner plusieurs codes réseaux en les séparant par une virgule. L'URL devient : https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/lieux_surv?donnees_cc=true&fields=code_lieusurv,libelle_lieusurv,date_debut_donnees,date_fin_donnees,codes_reseaux,codes_taxons_suivis,noms_taxons_suivis,longitude,latitude&date_donnees=2015-01-01&longitude=-1.8&latitude=48.6&distance=20&codes_reseaux=0000000022,0000000011

    Résultat :

    
    {
      "count": 2,
      "first": "https://hubeau.brgm-rec.fr/api/vbeta/surveillance_littoral/lieux_surv?donnees_cc=true&fields=code_lieusurv,libelle_lieusurv,date_debut_donnees,date_fin_donnees,codes_reseaux,codes_taxons_suivis,noms_taxons_suivis,longitude,latitude&date_donnees=2015-01-01&longitude=-1.8&latitude=48.6&distance=20&codes_reseaux=0000000022,0000000011&page=1&size=1000",
      "last": null,
      "prev": null,
      "next": null,
      "api_version": "v1",
      "data": [
        {
          "code_lieusurv": "10023032",
          "libelle_lieusurv": "020-P-034 - Baie St Michel est 6",
          "date_debut_donnees": "1997-07-24T00:00:00Z",
          "date_fin_donnees": "2020-02-12T00:00:00Z",
          "codes_reseaux": [
            "0000000010",
            "0000000013",
            "0000000014",
            "0000000020",
            "0000000011",
            "0000000110"
          ],
          "codes_taxons_suivis": [
            "3432"
          ],
          "noms_taxons_suivis": [
            "Mytilus edulis"
          ],
          "longitude": -1.621016,
          "latitude": 48.697372
        },
        {
          "code_lieusurv": "10023043",
          "libelle_lieusurv": "020-P-045 - Cancale port",
          "date_debut_donnees": "2001-07-25T00:00:00Z",
          "date_fin_donnees": "2015-06-13T00:00:00Z",
          "codes_reseaux": [
            "0000000022"
          ],
          "codes_taxons_suivis": null,
          "noms_taxons_suivis": null,
          "longitude": -1.8283526,
          "latitude": 48.669037
        }
      ]
    }

    2 des lieux de surveillance appartiennent aux réseaux demandés.

    Contaminants chimiques

    6. Nous voulons récupérer les analyses du paramètre Fluoranthène (code paramètre Sandre = 1191) réalisées sur support Bivalve (code support Sandre = 21) dans un rectangle de coordonnées comprises entre -1,8 et -1,7° de longitude et 48,6 et 48,7° de latitude :

    Les paramètres à utiliser sont code_parametre, code_support et bbox. L'URL à interroger est : https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/contaminants_chimiques?bbox=-1.8,48.6,-1.7,48.7&code_parametre=1191&code_support=21&size=100

    Résultat :

    {
      "count": 23,
      "first": "https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/contaminants_chimiques?bbox=-1.8,48.6,-1.7,48.7&code_parametre=1191&code_support=21&format=json&page=1&size=20",
      "last": "https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/contaminants_chimiques?bbox=-1.8,48.6,-1.7,48.7&code_parametre=1191&code_support=21&format=json&page=2&size=20",
      "prev": null,
      "next": "https://hubeau.brgm-rec.fr/api/v1/surveillance_littoral/contaminants_chimiques?bbox=-1.8,48.6,-1.7,48.7&code_parametre=1191&code_support=21&format=json&page=2&size=20",
      "api_version": "v1",
      "data": [
        {
          "code_passage": "60670853",
          "mnemo_passage": "18-030",
          "val_prof_passage": null,
          "code_unite_prof_passage": null,
          "libelle_unite_prof_passage": null,
          "uri_unite_prof_passage": null,
          "code_lieusurv": "10023010",
          "libelle_lieusurv": "Vieux plan Est",
          "mnemo_lieusurv": "020-P-012",
          "code_prel": "61658276",
          "mnemo_prel": null,
          "date_prel": "2018-01-30T00:00:00Z",
          "ecartu_prel": null,
          "code_niveau_prel": "1",
          "libelle_niveau_prel": "Emergé",
          "code_engin_prel": "170",
          "libelle_engin_prel": "Main",
          "coordonnee_x_prel": -1.76339144,
          "coordonnee_y_prel": 48.63826047,
          "code_projection": "31",
          "type_acquisition_coord": "1",
          "code_producteur": "1850",
          "nom_producteur": "Unité de recherche Biogéochimie et écotoxicologie (IFREMER)",
          "uri_producteur": "https://id.eaufrance.fr/int/1850",
          "commentaire_prel": null,
          "code_echantillon": "60747388",
          "mnemo_echantillon": "Suivi mixte DGAl/AE DCE DCSMM OSPAR",
          "code_taxon_echantillon": null,
          "nomlatin_taxon_echantillon": null,
          "uri_taxon_echantillon": null,
          "code_analyse": "69814095",
          "code_support": "21",
          "libelle_support": "Bivalve",
          "uri_support": "https://id.eaufrance.fr/sup/21",
          "code_fraction": "176",
          "libelle_fraction": "Chair totale égouttée de bivalve",
          "uri_fraction": "https://id.eaufrance.fr/fan/176",
          "code_organisme_analyste": "1850",
          "nom_organisme_analyste": "Unité de recherche Biogéochimie et écotoxicologie (IFREMER)",
          "uri_organisme_analyste": "https://id.eaufrance.fr/int/1850",
          "codes_reseaux": [
            "0000000020"
          ],
          "noms_reseaux": [
            "Réseau National d'Observation de la qualité du milieu marin (RNO) - Matière vivante"
          ],
          "uri_reseaux": [
            "https://id.eaufrance.fr/dc/0000000020"
          ],
          "date_controle_analyse": "2019-02-25T00:00:00Z",
          "date_qualification_resultat": "1900-01-01T00:00:00Z",
          "code_qualification_analyse": "0",
          "libelle_qualification_analyse": "Non qualifié",
          "commentaire_qualification_resultat": null,
          "date_validation_analyse": "2019-02-25T00:00:00Z",
          "commentaire_analyse": null,
          "code_parametre": "1191",
          "libelle_parametre": "Fluoranthène",
          "uri_parametre": "https://id.eaufrance.fr/par/1191",
          "resultat_analyse": 1.68,
          "code_unite_resultat": "523",
          "libelle_unite_resultat": "Microgramme par Kilogramme de poids frais",
          "uri_unite_resultat": "https://id.eaufrance.fr/urf/523",
          "code_methode": "938",
          "libelle_methode": "Chromatographie gaz - Spectrométrie de masse en tandem (Veyrand et al. 2007)",
          "uri_methode": "https://id.eaufrance.fr/met/938",
          "longitude": -1.76339144,
          "latitude": 48.63826047,
          "geometry": {
            "type": "Point",
            "crs": {
              "type": "name",
              "properties": {
                "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
              }
            },
            "coordinates": [
              -1.76339144,
              48.63826047
            ]
          }
        },
        {
          "code_passage": "60709688",
          "mnemo_passage": "19-030",
    ...
    ...
    

    Il y a 23 analyses répondant aux critères.