Retourne un jeu de données Observatoire. Les retours d'api varient selon les arguments.GET

Jeu de données observatoire.
V1 : Documentation ici
V1 : Tuto et exemples ici
V2 :
Documentation détaillée de cet endpoint (paramètres, exemples)

URLs

GET /api/v1/obs_datasets
GET /api/v2/obs_datasets

Paramètres

NomDansTypeRequisDescription
processingquerystring<br>enum: datas, geoms, parameters, presence-de-donnees-brutes, respect-objectif, indicateur, respect-multi-objectifs, classes, derniere-valeur, dernieres-valeurs, somme-presence-de-donnees-brutes, datas-stats…nonType de traitement souhaité (ex: datas, respect-objectif, indicateur, , etc.)<br>• datas — Données brutes : Valeurs brutes horodatées par station — la matière première des graphiques et tableaux.<br>• geoms — Géométries : Objets géo du dataset sur le territoire, sans données de mesure (fond de carte).<br>• parameters — Configuration des paramètres : Paramétrage des paramètres du dataset : champs, unités, tables associées.<br>• presence-de-donnees-brutes — Présence de données brutes : Stations disposant de données brutes sur la période — compteurs et cartes de disponibilité.<br>• respect-objectif — Respect de l'objectif : Conformité des mesures d'une station à un objectif de qualité (pourcentages, classe, style calculés).<br>• indicateur — Indicateur : Indicateur prêt à l'affichage : classe et style Leaflet pré-calculés (datasets à indicateurs, EDL/Sdage).<br>• respect-multi-objectifs — Respect multi-objectifs : Conformité évaluée contre plusieurs objectifs (il faut une déclaration dans conf_parameter_extensions) cumulés en une seule requête.<br>• classes — Données et classes : Données brutes accompagnées de leurs classes de qualité calculées pour une station.<br>• derniere-valeur — Dernière valeur : Dernière mesure enregistrée par station sur la période.<br>• dernieres-valeurs — Dernières valeurs : Valeurs les plus récentes par station, potentiellement sur plusieurs campagnes.<br>• somme-presence-de-donnees-brutes — Somme de présence de données brutes : Cumul automatique des présences de données brutes (expérimentation 2026).<br>• datas-stats — Statistiques descriptives : Statistiques calculées par station (moyenne, P90…).<br>• tendance — Tendance : Tendance d'évolution de la série (extraction des datas-stats, 2026).<br>• respect-multi-objectifs_WIP_FOR_TABLE — Respect multi-objectifs (WIP tableau) : Variante work-in-progress du respect multi-objectifs, formatée pour les tableaux.<br>• objetsgeo-les-plus-proches — Objets géo les plus proches : Objets géo les plus proches d'un point, dans un autre dataset.<br>• taux-quantification-all-v02 — Taux de quantification (v02) : Taux de quantification des molécules (version 02) — pesticides.<br>• compte-points-suivi-respect-objectif — Compte-points de suivi vs objectif : Compte-points du suivi évalué au regard de l'objectif (suivi de l'atteinte).<br>• compte-mesures-respect-objectif — Compte de mesures vs objectif : Nombre de mesures respectant / dépassant l'objectif.<br>• compte-points-suivi — Compte-points de suivi : Compte-points du suivi (nombre de points de suivi par état).<br>• PesticidesCumul_triPire — Cumul pesticides — tri des pires : Cumul de pesticides par station, trié avec mise en évidence des pires valeurs.<br>• molecules-au-dessus-n-ug-par-l — Molécules au-dessus de n µg/L : Molécules dépassant un seuil en µg/L (comptage par station).<br>• NQE-au-dessus-de-leur-objectif — NQE au-dessus de leur objectif : Bon état chimique : molécules dont la NQE dépasse leur objectif individuel.<br>• conf_table_data_content — Contenu de la table de données : Contenu brut de la table de données (debug/avancé).<br>• conf_table_geom_content — Contenu de la table de géométries : Contenu brut de la table de géométries (debug/avancé).<br>• conf_table_parameter_content — Contenu de la table des paramètres : Contenu brut de la table des paramètres (debug/avancé).
id_territoirequerystringouiIdentifiant du territoire
id_filtre_territoirequerystringnonIdentifiant (unique) du filtre de territoire
datasetquerystringouiNom du jeu de données
ids_parametresquerystringnonIds (ou noms?) du paramètre à observer, séparateur ','
ids_objets_geoquerystringnonIds des stations/capteurs à observer, séparateur ','
ids_objectifsquerystringnonIds (ou noms?) du paramètre à observer, séparateur ','
date_debutquerystringnonDate de début de l'observation souhaitée
date_finquerystringnonDate de fin de l'observation souhaitée
specific_optionsquerystring<enum: string>nonOptions spécifiques de traitement.<br>• verbose — affiche toute les colonnes de la table : parametres, geom, data<br>• multiParameter_as_singleParameter — Traiter une multiparamètre en simple parametre : Pour les données brutes et respects d'objetcifs<br>• withPhytoSubstance — Ajoute les info de la base phyto : pour les taux de quantif sur pesticides<br>• {json} pour tendances (Trend) — permet de preciser le type de tendance : exemple { aggregateRange: "yearly", aggregateBy: "quantile_0_90" }
specific_option_select_datasetquerystringnonOptions spécifiques de traitement sur un autre dataset. Fortement lié au processing<br>Si processing=objetsgeo-les-plus-proches : hydrometrie_obs_elabex ou meteofrance_donnees_climatologiques_de_base_mensuelles
output_optionsqueryarray<enum: string>nonOptions générique de sortie attendue.<br>• with_labels — Libellés humains : Ajoute les libellés lisibles (paramètre, objet géo…) à côté des identifiants.<br>• with_geometry_geojson — Géométries GeoJSON brutes : Ajoute les géométries des objets géo en GeoJSON brut.<br>• with_geometry_WKB — Géométries WKB : Ajoute les géométries au format binaire PostGIS (WKB).<br>• with_geometry_WKT — Géométries WKT : Ajoute les géométries au format texte PostGIS (WKT).<br>• with_geometry_geojson_for_map — GeoJSON « carte » : Géométries + styles + cibles de popup, cuisinés pour les clients cartographiques (Leaflet…).<br>• for_legend — Légende : Ajoute les classes de légende calculées : couleurs, libellés, effectifs, icônes.<br>• for_legendCSV — Légende (CSV) : Idem for_legend, formaté pour un export CSV.<br>• for_table — Format tableau : Réponse structurée pour les tableaux de données.<br>• with_ObsDataset_conf — Configuration du dataset : Ajoute la configuration du dataset (champs, tables, métadonnées techniques).<br>• with_data_source_obs_extract_json — Source des données : Ajoute des infos complémentaires rattachées à la mesure lorsqu'elles sont disponibles (producteur, support, LQ, campagne…).<br>• max_values_first — Valeurs décroissantes : Trie les valeurs par ordre décroissant (les plus grandes en premier).
pagequeryintegernonThe collection page number

Exemple — parametre dans un dataset

Information sur le parametre donné

GET /api/v2/obs_datasets.json?processing=parameters&dataset=qualite_eaux_surf_support_eau&ids_parametres=1340
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "parameters",
        "idTerritoire": "1",
        "count": 1
    },
    "data": [
        {
            "idParametre": 1340,
            "parametre": "Nitrates",
            "unite": "mg(NO3)/L",
            "lbunite": "milligramme de nitrate par litre",
            "natparametre": "2",
            "typeparametre": "2",
            "lbcourtparametre": "NO3-",
            "cdunite": "173",
            "forceConvToTargetUnitForEauxSurfSupportEau": true
        }
    ]
}

Exemple — respect-objectif — données agrégées (JSON)

Agrégats de conformité par station (nbTotal, percentageCompliant…) avec les valeurs mesurées (aggValuesList) et la classe de style calculée.

GET /api/v2/obs_datasets.json?processing=respect-objectif&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_objectifs=6190&ids_parametres=1340&date_debut=2025-01-01&date_fin=2025-12-31&output_options=with_labels
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "respect-objectif",
        "idTerritoire": "1",
        "count": 202
    },
    "data": [
        {
            "year": 2025,
            "nbTotal": 6,
            "nbCompliant": 6,
            "aggValuesList": [
                {
                    "dateDonnee": "2025-03-05 08:30:00+01",
                    "valeur": 11.5
                },
                {
                    "dateDonnee": "2025-05-21 08:52:00+02",
                    "valeur": 14.1
                },
                {
                    "dateDonnee": "2025-07-09 08:30:00+02",
                    "valeur": 14.7
                },
                {
                    "dateDonnee": "2025-08-01 08:00:00+02",
                    "valeur": 13.4
                },
                {
                    "dateDonnee": "2025-09-17 08:25:00+02",
                    "valeur": 14.9
                },
                {
                    "dateDonnee": "2025-12-17 08:30:00+01",
                    "valeur": 14.3
                }
            ],
            "idObjetgeo": "04137695",
            "objetgeo": "SEVRE NANTAISE à VERNOUX-EN-GATINE",
            "idParametre": "1340",
            "parametre": "Nitrates",
            "unite": "mg(NO3)/L",
            "objectiveCompliancyFunction": "specialNitrates",
            "idConfObjectif": "6190",
            "seuilObjectif": 25,
            "nbNotCompliant": 0,
            "percentageCompliant": 100,
            "percentageNotCompliant": 0,
            "overallCompliancy": "yes",
            "percentageAverageWrtObjective": 55.27,
            "couleurPubli": "vert1",
            "classe": {
                "debug": {
                    "type": "getStdClassePourcentageRespectObjectif4c",
                    "colorCode": "green"
                },
                "radius": 8,
                "weight": 1,
                "opacity": 0.9,
                "color": "#000000",
                "fillColor": "#B3CC00",
                "fillOpacity": 0.45,
                "strokeWidth": 1.5,
                "classe": "V",
                "libel": "Respect (moins de 10% de dépa
  … (réponse tronquée)

Exemple — datas — données brutes horodatées

Valeurs brutes par station (idObjetgeo, valeur, dateDonnee) — la matière première de vos graphiques et tableaux.

GET /api/v2/obs_datasets.json?processing=datas&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_parametres=1340&date_debut=2025-01-01&date_fin=2025-12-31
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "datas",
        "idTerritoire": "1",
        "count": 423
    },
    "data": [
        {
            "idObjetgeo": "04137695",
            "idParametre": "1340",
            "valeur": 11.5,
            "dateDonnee": "2025-03-05 08:30:00+01"
        },
        {
            "idObjetgeo": "04137695",
            "idParametre": "1340",
            "valeur": 14.1,
            "dateDonnee": "2025-05-21 08:52:00+02"
        },
        {
            "idObjetgeo": "04137695",
            "idParametre": "1340",
            "valeur": 14.7,
            "dateDonnee": "2025-07-09 08:30:00+02"
        },
        {
            "idObjetgeo": "04137695",
            "idParametre": "1340",
            "valeur": 13.4,
            "dateDonnee": "2025-08-01 08:00:00+02"
        },
        {
            "idObjetgeo": "04137695",
            "idParametre": "1340",
            "valeur": 14.9,
            "dateDonnee": "2025-09-17 08:25:00+02"
        },
        {
            "idObjetgeo": "04137695",
            "idParametre": "1340",
            "valeur": 14.3,
            "dateDonnee": "2025-12-17 08:30:00+01"
        },
        {
            "idObjetgeo": "04137900",
            "idParametre": "1340",
            "valeur": 13.7,
            "dateDonnee": "2025-03-12 13:45:00+01"
        },
        {
         
  … (réponse tronquée)

Exemple — datas-stats — statistiques descriptives

Statistiques par station ; le retour de cet appel peut évoluer. il de suit pas le formaliser data[].

GET /api/v2/obs_datasets.json?processing=datas-stats&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_parametres=1340&date_debut=2025-01-01&date_fin=2025-12-31
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "datas-stats",
        "idTerritoire": "1",
        "count": 0
    },
    "data": [],
    "globals": {
        "all": {
            "count": 423,
            "sum": 6301.59,
            "mean": 14.897375886524824,
            "median": 13,
            "min": 0.1,
            "max": 80,
            "quartile1": 4.5,
            "quartile2": 13,
            "quartile3": 21,
            "quantile001": 0.31,
            "quantile005": 0.5,
            "quantile010": 1.2,
            "quantile090": 30,
            "quantile095": 36,
            "quantile099": 59,
            "variance": 159.42066143554135,
            "standardDeviation": 12.626189505767025,
            "firstDate": "2025-01-13T13:37:00+01:00",
            "lastDate": "2025-12-23T10:38:00+01:00",
            "yearCumulativeSum": 6301.59,
            "yearCumulativeCount": 423,
            "yearCumulativeMean": 14.897375886524824,
            "yearCumulativeMin": 0.1,
            "yearCumulativeMax": 80
        },
        "metadata": {
            "searchStartDate": "2025-01-01T00:00:00+00:00",
            "searchEndDate": "2025-12-
  … (réponse tronquée)

Exemple — presence-de-donnees-brutes — disponibilité des mesures

Liste les stations ayant des données brutes sur la période (53 stations en 2025 pour les nitrates) — utile pour les compteurs et cartes de disponibilité.

GET /api/v2/obs_datasets.json?processing=presence-de-donnees-brutes&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_parametres=1340&date_debut=2025-01-01&date_fin=2025-12-31&output_options=with_labels
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "presence-de-donnees-brutes",
        "idTerritoire": "1",
        "count": 53
    },
    "data": [
        {
            "idObjetgeo": "04137695",
            "idParametre": "1340",
            "objetgeo": "SEVRE NANTAISE à VERNOUX-EN-GATINE",
            "parametre": "Nitrates",
            "unite": "mg(NO3)/L",
            "isRawData": 1,
            "classe": {
                "debug": {
                    "type": "getStdClasseDefaultProcessingLegend",
                    "colorCode": "D"
                },
                "radius": 8,
                "weight": 1,
                "opacity": 0.9,
                "color": "#000000",
                "fillColor": "#9F9F9F",
                "fillOpacity": 0.9,
                "strokeWidth": 1.5,
                "classe": "D",
                "libel": "Station ayant des données",
                "comment": "",
                "debugIndicateur": {
                    "indicateur": "IsRawData",
                    "note": 1
                }
            }
        },
        {
            "idObjetgeo": "04137900",
            "idParametre": "1340",
            "objetgeo": "SEVRE NANTAISE à SAINT-JOUIN-DE-MILLY",
            "parametre": "Nitrates",
            "unite": "mg(NO3)/L",
            "isRawData": 1,
            "classe": {
          
  … (réponse tronquée)

Exemple — classes — classification des valeurs d'une station

Classes de qualité calculées pour une station, avec la configuration du dataset et la source des données (with_data_source_obs_extract_json).

GET /api/v2/obs_datasets.json?processing=classes&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_objets_geo=04146150&ids_parametres=1340&date_debut=2015-01-01&date_fin=2026-12-31&output_options=with_labels,with_ObsDataset_conf,with_data_source_obs_extract_json
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "classes",
        "idTerritoire": "1",
        "count": 57
    },
    "ObsDataset": {
        "obsDataset": "qualite_eaux_surf_support_eau",
        "confTableData": {
            "confTableData": "qualite_eaux_surf_support_eau",
            "dataTablePath": "r030_qualite_eaux_surf.v_qt_eaux_support_eau_with_obs_extract_and_cumul",
            "geoObjectIdFieldNameIntoDataTable": "id_objetgeo",
            "parameterIdFieldNameIntoDataTable": "id_parametre",
            "valueFieldNameIntoDataTable": "valeur",
            "dateFieldNameIntoDataTable": "date_donnee",
            "metadata": "{\"title\": \"Qualité des eaux superficielles (support eau brute)\", \"history\": {\"lastUpdate\": \"2026-09-10\"}, \"sources\": [{\"producers\": [{\"producer_url\": \"\", \"producer_logo\": \"\", \"producer_name\": \"AE\"}], \"source_url\": \"https://hubeau.eaufrance.fr/page/api-qualite-cours-deau\", \"source_logo\": \"/images/icones/hubeau1.png\", \"source_name\": \"hubeau, Qualité des cours d'eau\"}], \"descripteur\": \"AR\", \"description\": \"osur pc paramètre seulement sur le support eau brute\"}",
            "createdAt": "2025-06-26T22:20:22+00:00",
            "updatedAt": "2023-09-07T16:29:30+00:00"
        },
        "confTableParameter": {
            "confTableParameter": "qualite_eaux_sur
  … (réponse tronquée)

Exemple — respect-multi-objectifs — plusieurs objectifs en une requête

Conformité évaluée contre plusieurs objectifs cumulés (ici paramètre 9900020, objectif 9957) sur une station — une ligne par résultat.

GET /api/v2/obs_datasets.json?processing=respect-multi-objectifs&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_objectifs=9957&ids_parametres=9900020&ids_objets_geo=04145000&date_debut=2025-01-01&date_fin=2025-12-31&output_options=with_labels
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "respect-multi-objectifs",
        "idTerritoire": "1",
        "count": 1
    },
    "data": {
        "2025": {
            "04145000": {
                "5347": {
                    "nbTotal": 4,
                    "nbCompliant": 4,
                    "aggValuesList": [
                        {
                            "dateDonnee": "2025-12-23 11:22:00+01",
                            "valeur": 0.001
                        },
                        {
                            "dateDonnee": "2025-09-16 11:25:00+02",
                            "valeur": 0.005
                        },
                        {
                            "dateDonnee": "2025-05-14 13:37:00+02",
                            "valeur": 0.001
                        },
                        {
                            "dateDonnee": "2025-03-11 10:59:00+01",
                            "valeur": 0.0016
                        }
                    ],
                    "idObjetgeo": "04145000",
                    "objetgeo": "MAINE à CHATEAU-THEBAUD",
                    "idParametre": "5347",
                    "parametre": "Acide perfluoro-octanoïque (PFOA / formes linéaires et ramifiées)",
                    "unite": "µg/L",
                    "objectiveCompliancyFunction": "100Pourcent
  … (réponse tronquée)

Exemple — indicateur — valeur et style pré-calculés (EDL/Sdage)

Indicateurs prêts à l'affichage : la classe et son style Leaflet sont fournis. S'applique aux datasets à indicateurs (état des masses d'eau Sdage).

GET /api/v2/obs_datasets.json?processing=indicateur&dataset=sdage_2028_edl_2025_esu&id_territoire=50&ids_objectifs=10254&ids_parametres=e_pc_acid&date_debut=2025-01-01&date_fin=2025-12-31&output_options=with_labels
{
    "meta": {
        "dataset": "sdage_2028_edl_2025_esu",
        "processing": "indicateur",
        "idTerritoire": "50",
        "count": 13
    },
    "data": [
        {
            "idObjetgeo": "FRGR0539B",
            "idParametre": "e_pc_acid",
            "valeur": "2",
            "dateDonnee": "2025-07-01",
            "categorieMe": "Cours d'eau",
            "objetgeo": "L'ERDRE DEPUIS LE PLAN D'EAU DE L'ERDRE JUSQU'A L'ESTUAIRE DE LA LOIRE",
            "parametre": "Etat Acidification ",
            "unite": "",
            "classe": {
                "debug": {
                    "type": "getStdClasseMauvais2TresBon",
                    "colorCode": "green"
                },
                "radius": 8,
                "weight": 1,
                "opacity": 0.9,
                "color": "#000000",
                "fillColor": "#66E680",
                "fillOpacity": 0.7200000000000001,
                "strokeWidth": 1.5,
                "classe": "V",
                "libel": "Bon",
                "comment": "",
                "numericAttribution": 2,
                "shape": "square",
                "debugIndicateur": {
                    "indicateur": "classeEDL6Classes",
                    "note": "2"
                }
            }
        },
        {
            "idObjetgeo": "FRGR0542",
            "idParametre": "e_pc_acid",
            "v
  … (réponse tronquée)

Exemple — Layer — GeoJSON prêt pour Leaflet

Requête en format .geojson : chaque feature embarque sa géométrie (EPSG:4326), son style de rendu et la cible de popup.

GET /api/v2/obs_datasets.geojson?processing=respect-objectif&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_objectifs=6190&ids_parametres=1340&date_debut=2025-01-01&date_fin=2025-12-31&output_options=with_labels,with_geometry_geojson_for_map
{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "style": {
                "radius": 8,
                "fillColor": "#9F9F9F",
                "color": "#000000",
                "strokeWidth": 1.5,
                "weight": 1,
                "opacity": 0.3,
                "fillOpacity": 0.05
            },
            "properties": {
                "year": 2025,
                "idParametre": "1340",
                "parametre": "Nitrates",
                "nbTotal": 0,
                "asHistoricalDatas": true,
                "percentageAverageWrtObjective": -1,
                "name": "SEVRE NANTAISE à VERNOUX-EN-GATINE",
                "id": "04137700",
                "debug": {
                    "niveau1": {
                        "type": "getStdClassePourcentageRespectObjectif4c",
                        "colorCode": "noData"
                    },
                    "niveau2": {
                        "indicateur": "specialNitrates"
                    }
                },
                "popupButtonOnClickTarget": "https://obs21.sevre-nantaise.com/stationSheet?processing=respect-objectif&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_parametres=1340&ids_objectifs=6190&date_debut=2015-01-01&date_fin=2026-12-31&ids_objets_geo=04137700&parent_date_debut=2025-01-01&parent_date_fin=2025-12-31"
            },
            "geometry": {
                "type": "Point",
                "crs": {
                    "type": "name",
                    "properties": {
                        "name": "EPSG:4326"
                    }
                },
                "coordinates": [
                    -0.517176648,
                    46.634337184
                ]
            }
        },
        {
            "type": "Feature",
            "style": {
                "radius": 8,
                "fillColor": "#9F9F9F",
                "color": "#000000",
                "strokeWidth": 1.5,
                "weight": 1,
                "opacity": 0.3,
                "fillOpacity": 0.05
            },
            "properties": {
                "year": 2025,
                "idParametre": "1340",
                "parametre": "Nitrates",
                "nbTotal": 0,
                "asHistoricalDatas": true,
                "percentageAverageWrtObjective": -1,
                "nam
  … (réponse tronquée)

Exemple — Layer — légende (for_legend)

output_options=for_legend ajoute les classes de légende calculées : couleurs, libellés, effectifs et icônes — sans recalcul côté front.

GET /api/v2/obs_datasets.json?processing=respect-objectif&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_objectifs=6190&ids_parametres=1340&date_debut=2025-01-01&date_fin=2025-12-31&output_options=for_legend
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "respect-objectif",
        "idTerritoire": "1",
        "count": 0
    },
    "classeType": "classeDeRespectObjectif",
    "data": [],
    "dataProcessingClasseType": "specialNitrates",
    "effectifs": {
        "totalAvecValeur": 53,
        "total": 202
    },
    "name": "specialNitrates",
    "shape": "circle",
    "values": [
        {
            "debug": {
                "type": "getStdClassePourcentageRespectObjectif4c",
                "colorCode": "green"
            },
            "radius": 8,
            "weight": 1,
            "opacity": 0.9,
            "color": "#000000",
            "fillColor": "#B3CC00",
            "fillOpacity": 0.9,
            "strokeWidth": 1.5,
            "classe": "V",
            "libel": "Respect (moins de 10% de dépassements)",
            "comment": "",
            "debugIndicateur": {
                "indicateur": "specialNitrates",
                "note": 100
            },
            "effectif": 29,
            "percentEffectif": 54.72
        },
        {
            "debug": {
                "type": "getStdClassePourcentageRespectObjectif4c",
                "colorCode": "yellow"
            },
            "radius": 8,
            "weight": 1,
            "opacity": 0.9,
            "color": "#000000",
            "fillColor": "#FFB000",
            "fillOpacity": 0.9,
            "strokeWidth": 1.5,
            "classe": "J",
            "libel": "Non respect (de 10% à 40% de dépassements)",
            "comment": "",
            "debugIndicateur": {
                "indicateur": "specialNitrates",
                "note": 61
            },
            "effectif": 16,
            "percentEffectif": 30.19
        },
        {
            "debug": {
                "type": "getStdClassePourcentageRespectObjectif4c",
                "colorCode": "orange"
            },
            "radius": 8,
            "weight": 1,
     
  … (réponse tronquée)

Exemple — Dataset — objets géo du territoire (WKT)

processing=geoms renvoie les objets géo du dataset sur le territoire sans données de mesure (géométries WKT encodées).

GET /api/v2/obs_datasets.json?processing=geoms&dataset=qualite_eaux_surf_support_eau&id_territoire=1&output_options=with_labels
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "geoms",
        "idTerritoire": "1",
        "count": 202
    },
    "data": [
        {
            "idObjetgeo": "04143900",
            "objetgeo": "ASSON à LA GUYONNIERE",
            "geom": "01010000206A0800005C8FC2F5A7C81641A4703D5A6C695941"
        },
        {
            "idObjetgeo": "04671003",
            "objetgeo": "BENET à TORFOU",
            "geom": "01010000206A08000066666666D6DD174100000000406E5941"
        },
        {
            "idObjetgeo": "04144500",
            "objetgeo": "BLAISON À REMOUILLE",
            "geom": "01010000206A08000000000000BE7D164100000000666D5941"
        },
        {
            "idObjetgeo": "M720520",
            "objetgeo": "COMPLEXE DE MOULIN  RIBOU à LA TESSOUALLE",
            "geom": "01010000206A0800009A99999933E71841000000005C6D5941"
        },
        {
            "idObjetgeo": "04140100",
            "objetgeo": "CRUME à TIFFAUGES",
            "geom": "01010000206A08000033333333A3A41741000000800E6C5941"
        },
        {
         
  … (réponse tronquée)

Exemple — Dataset — objets géo du territoire (GeoJSON)

Requête en .geojson avec with_geometry_geojson : FeatureCollection de points prête pour le fond de carte.

GET /api/v2/obs_datasets.geojson?processing=geoms&dataset=qualite_eaux_surf_support_eau&id_territoire=1&output_options=with_labels,with_geometry_geojson
{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "idObjetgeo": "04143900",
                "objetgeo": "ASSON à LA GUYONNIERE"
            },
            "geometry": {
                "type": "Point",
                "crs": {
                    "type": "name",
                    "properties": {
                        "name": "EPSG:4326"
                    }
                },
                "coordinates": [
                    -1.299645403,
                    46.974118594
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "idObjetgeo": "04671003",
                "objetgeo": "BENET à TORFOU"
            },
            "geometry": {
                "type": "Point",
                "crs": {
                    "type": "name",
                    "properties": {
                        "name": "EPSG:4326"
              
  … (réponse tronquée)

Exemple — Graphique — séries multi-années d'une station (respect-objectif)

Restreinte à une station (ids_objets_geo) sur 2 ans : une ligne par année avec la série aggValuesList (date/valeur) et les agrégats de conformité.

GET /api/v2/obs_datasets.json?processing=respect-objectif&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_objectifs=6190&ids_parametres=1340&ids_objets_geo=04145000&date_debut=2024-01-01&date_fin=2025-12-31&output_options=with_labels
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "respect-objectif",
        "idTerritoire": "1",
        "count": 2
    },
    "data": [
        {
            "year": 2024,
            "nbTotal": 11,
            "nbCompliant": 9,
            "aggValuesList": [
                {
                    "dateDonnee": "2024-06-20 13:23:00+02",
                    "valeur": 7.6
                },
                {
                    "dateDonnee": "2024-12-19 13:05:00+01",
                    "valeur": 28
                },
                {
                    "dateDonnee": "2024-01-22 14:00:00+01",
                    "valeur": 25
                },
                {
                    "dateDonnee": "2024-03-28 09:45:00+01",
                    "valeur": 20
                },
                {
                    "dateDonnee": "2024-04-19 12:19:00+02",
                    "valeur": 18
                },
                {
                    "dateDonnee": "2024-05-29 14:15:00+02",
                    "valeur": 18
                },
                {
                    "dateDonnee": "2024-07-25 14:13:00+02",
                    "valeur": 4.7
                },
                {
                    "dateDonnee": "2024-08-22 15:10:00+02",
                    "valeur": 1.2
                },
                {
                    "dateDonnee": "2024-09-16 12:26:00+02",
                    "valeur": 2.5
                },
                {
                    "dateDonnee": "2024-10-18 14:09:00+02",
                    "valeur": 27
                },
                {
                    "dateDonnee": "2024-11-18 09:36:00+01",
                    "valeur": 22
                }
            ],
            "idObjetgeo": "04145000",
            "objetgeo": "MAINE à CHATEAU-THEBAUD",
            "idParametre": "1340",
            "parametre": "Nitrates",
            "unite": "mg(NO3)/L",
            "objectiveCompliancyFunction": "specialNitrates",
            "idConfObjectif": "6190",
            "seuilObjectif": 25,
            "nbNotCompliant": 2,
            "percentageCompliant": 81.82,
            "percentageNotCompliant": 18.180000000000007,
            "overallCompliancy": "no",
            "percentageAverageWrtObjective": 63.27,
            "couleurPubli": "jaune",
            "classe": {
                "debug": {
                    "type": "getStdClassePourcentageRespectObjectif4c",
                    "colorCode": "yellow"
                },
                "radius": 8,
                "weight": 1,
                "o
  … (réponse tronquée)

Exemple — Respect d\objectif filtrée sur un EPCI (id_filtre_territoire)

Requete avec le filtre EPCI 200067635 : le count passe de 202 à 15 — seules les stations de l'EPCI sont retournées.

GET /api/v2/obs_datasets.json?processing=respect-objectif&dataset=qualite_eaux_surf_support_eau&id_territoire=1&ids_objectifs=6190&ids_parametres=1340&date_debut=2025-01-01&date_fin=2025-12-31&output_options=with_labels&id_filtre_territoire=t1|qualite_eaux_surf_support_eau|epci|200067635&id_carte=1
{
    "meta": {
        "dataset": "qualite_eaux_surf_support_eau",
        "processing": "respect-objectif",
        "idTerritoire": "1",
        "count": 15
    },
    "data": [
        {
            "year": 2025,
            "nbTotal": 5,
            "nbCompliant": 5,
            "aggValuesList": [
                {
                    "dateDonnee": "2025-02-13 10:19:00+01",
                    "valeur": 21
                },
                {
                    "dateDonnee": "2025-04-08 10:01:00+02",
                    "valeur": 15
                },
                {
                    "dateDonnee": "2025-06-18 11:43:00+02",
                    "valeur": 8.1
                },
                {
                    "dateDonnee": "2025-08-21 11:44:00+02",
                    "valeur": 1.6
                },
                {
                    "dateDonnee": "2025-10-16 10:56:00+02",
                    "valeur": 1.9
                }
            ],
            "idObjetgeo": "04143200",
            "objetgeo": "SEVRE NANTAISE à MONNIERES",
            "idParametre": "1340",
            "parametre": "Nitrates",
            "unite": "mg(NO3)/L",
            "objectiveCompliancyFunction": "specialNitrates",
            "idConfObjectif": "6190",
            "seuilObjectif": 25,
            "nbNotCompliant": 0,
            "percentageCompliant": 100,
            "percentageNotCompliant": 0,
            "overallCompliancy": "yes",
            "percentageAverageWrtObjective": 38.08,
            "couleurPubli": "vert1",
            "classe": {
                "debug": {
                    "type": "getStdClassePourcentageRespectObjectif4c",
                    "colorCode": "green"
                },
                "radius": 8,
                "weight": 1,
                "opacity": 0.9,
                "color": "#000000",
                "fillColor": "#B3CC00",
                "fillOpacity": 0.45,
                "strokeWidth": 1.5,
                "classe": "V",
                "libel": "Respect (moins de 10% de dépassements)",
                "comment": "",
                "debugIndicateur": {
                    "indicateur": "specialNitrates",
                    "note": 100
                }
            }
        },
        {
            "year": 2025,
            "nbTotal": 5,
            "nbCompliant": 5,
            "aggValuesList": [
                {
                    "dateDonnee": "2025-02-13 09:55:00+01",
                    "valeur": 20
      
  … (réponse tronquée)