Données relatives aux observations hydrologiques

Pour répondre sur le plan environnementale aux événements climatiques (tempêtes, inondations, chaleurs, ….), La Métropole Nice Côte d'Azur collecte un grand nombre d’information par des capteurs répartis sur le territoire ou via des partenaires. Dans le cadre de l’observation de l’eau, les données collectées sont fournies par des Capteurs, Caméras et Stations d'eau positionnés à des endroits précis ou sensibles pour les fleuves et rivières. Ces données sont destinées à représenter les paramètres de débit, de niveau et de volume d'eau observés, ainsi que les informations sur la houle, sur une zone fixe ou variable. Certains capteurs analysent les masses d'objets flottants sur cette zone.


Liste des capteurs

ID Name Adresse Localisation Date de mise en service Propriétés Assets
Device:HUBEAU-WATERO-Y600203001Le Var à Villeneuve-d'Entraunes [Pont d'Enaux] Pont d'Enaux
06470 Villeneuve-d'Entraunes
6.790538718
44.122107383
926.01
23/11/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y603561001La Vaïre à Annot [Pont des Scaffarels] Pont des Scaffarels
04240 Annot
6.686495704
43.955528244
01/01/2018
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y604201001Le Var à Entrevaux [Pont-levis] Pont-levis
04320 Entrevaux
6.810133942
43.949350406
465.29
04/04/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y612501201Le Var à Malaussène [Pont Auguste Dubois] Pont Auguste Dubois
06710 Malaussène
7.119242553
43.933280532
225.23
01/01/2018
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y622401001La Tinée à Saint-Sauveur-sur-Tinée [Route Chapelle Sainte-Blaise] Route Chapelle Sainte-Blaise
06420 Saint-Sauveur-sur-Tinée
7.105457711
44.084478277
482.82
27/10/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y622402001La Tinée à Massoins [Le Bancairon, usine] Le Bancairon, usine
06420 Roure
7.096147841
44.127249235
652
12/05/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y623402301La Tinée à Tournefort [Vieux Pont] Vieux Pont
06420 Tournefort
7.159497048
43.947972622
23/11/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y623402401La Tinée à la Tour [Pont de la Lune EDF - QNR] Pont de la Lune EDF - QNR
06420 Tournefort
7.165107315
43.938123695
02/01/2024
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y624000101Le Var à Malaussène [La Mescla EDF - QNR] La Mescla EDF - QNR
06710 Malaussène
7.194969151
43.90801506
02/01/2024
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y633404001La Vésubie à Utelle [Pont du Cros] Pont du Cros
06450 Utelle
7.231298235
43.878709876
174.9
24/10/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y640000201L'Esteron à Saint-Auban [Aval village Soleilhas] Aval village Soleilhas
06850 Saint-Auban
6.683809281
43.839752545
26/10/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y640000301L'Esteron à Saint-Auban [Aval confluence Faye] - Aval confluence Faye Aval confluence Faye
06850 Saint-Auban
6.731246957
43.849208419
26/10/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y640000401L'Esteron à Gars 63 Piste de l'hubac
06850 Gars
6.807343323
43.863469704
26/10/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y641000201L'Esteron à Aiglun Pont
06910 Aiglun
6.913766131
43.853643382
26/10/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y642401001L'Esteron à Sigale [Pont du Coude] Pont du Coude
06910 Sigale
6.956427456
43.864914511
370.98
23/11/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y643401001L'Esteron au Broc [La Clave] Rte de la Clave
06510 Le Broc
7.156740112
43.846296719
127
23/11/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y643583201Le Var à Bonson [Digue Bonson] 285 Route du Stade
06830 Bonson
7.194384785
43.847005137
23/12/2020
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y644201002Le Var à Nice [Pont Napoléon III] - Aval Pont Napoléon III
06000 Nice
7.200026997
43.664068874
1.85
10/05/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y644202001Le Var à Carros [Pont de la Manda] Pont de la Manda
06510 Carros
7.203791548
43.764225796
59
23/11/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y651701001Le ruisseau de Caïnéa [source] à Lucéram 6 Savelet
06440 Lucéram
7.354481365
43.881522184
600
23/11/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y652000501Le Paillon à la Trinité Pont de la Liberté
06340 La Trinité
7.301492226
43.734546531
22/10/2018
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y660000201La Roya à Tende [Pont de Scara] Pont de Scara
06430 Tende
7.588636648
44.09877841
22/11/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y661401002La Roya à Tende [Saint-Dalmas-de-Tende] - Amont - EDF 53 Avenue de France
06430 Saint-Dalmas-de-Tende
7.589227833
44.054762222
26/09/2022
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y661401003La Roya à Tende [Saint-Dalmas-de-Tende] - Station Amont DREAL 87bis Avenue de France
06430 Tende
7.589488632
44.051777277
30/05/2023
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y661405101La Roya à Fontan [Village] 1 Rue de la Gare
06540 Fontan
7.554355342
44.002655818
26/10/2022
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y661405201Le torrent de Bieugne à Tende 98 Avenue de France
06430 Tende
7.587991974
44.050408263
22/11/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y662000301La Roya à Breil-sur-Roya [EDF] Route de Vintimille
06540 Breil-sur-Roya
7.516675304
43.911657332
17/01/2024
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y662000401La Roya à Saorge [Pont Mondi] Pont Mondi
06540 Saorge
7.540589379
43.975406466
27/12/2021
  • flow
  • height
  • WaterObserved
Device:HUBEAU-WATERO-Y663501001La Bévéra à Sospel [Pont D 2204] Pont D 2204
06380 Sospel
7.45119483
43.877698665
338.88
02/02/2024
  • flow
  • height
  • WaterObserved

Emplacement des capteurs


Modèle de données

Le modèle de données permet de structurer les informations selon le schéma ci-dessous :
{
  "id": "WaterObserved:HUBEAU-WATERO-Y600203001",
  "type": "WaterObserved",
  "address": {
    "type": "PostalAddress",
    "value": {
      "addressCountry": "FR",
      "streetAddress": "Pont d%27Enaux",
      "postalCode": "06470",
      "addressLocality": "Villeneuve-d%27Entraunes"
    }
  },
  "altitude": {
    "type": "Number",
    "value": 926.01
  },
  "dataProvider": {
    "type": "Text",
    "value": "Eau France"
  },
  "dateModified": {
    "type": "DateTime",
    "value": "2024-07-04T08:06:17.528Z"
  },
  "dateObserved": {
    "type": "DateTime",
    "value": "2024-07-04T08:00:00.000Z"
  },
  "flow": {
    "type": "Number",
    "value": 2.74,
    "metadata": {
      "qualification": {
        "type": "Text",
        "value": "Douteuse"
      },
      "qualificationCode": {
        "type": "Number",
        "value": 12
      },
      "timestamp": {
        "type": "DateTime",
        "value": "2024-07-04T08:00:00.000Z"
      },
      "unitCode": {
        "type": "Text",
        "value": "MQS"
      }
    }
  },
  "height": {
    "type": "Number",
    "value": 0.154,
    "metadata": {
      "qualification": {
        "type": "Text",
        "value": "Non qualifiée"
      },
      "qualificationCode": {
        "type": "Number",
        "value": 16
      },
      "timestamp": {
        "type": "DateTime",
        "value": "2024-07-04T08:00:00.000Z"
      },
      "unitCode": {
        "type": "Text",
        "value": "MTR"
      }
    }
  },
  "location": {
    "type": "geo:json",
    "value": {
      "coordinates": [
        6.790538718,
        44.122107383
      ],
      "type": "Point"
    }
  },
  "name": {
    "type": "Text",
    "value": "Le Var à Villeneuve-d%27Entraunes [Pont d%27Enaux]"
  },
  "refDevice": {
    "type": "Text",
    "value": "Device:HUBEAU-WATERO-Y600203001"
  },
  "source": {
    "type": "Text",
    "value": "Hub%27Eau"
  }
}

Documentation relative à l'API

La documentation est utile aux développeurs désirant utiliser l'API fournie par la Métropole Nice Côte d'Azur.

Ci-dessous, vous trouverez la description de l'utilisation de l'API ainsi que la possibilité d'effectuer des tests de requêtes API (certaines API nécessitent une clé, voir Public Access Level et Right dans la description du jeu de données.)
Vous pouvez demander une clé d'API en cliquant ici.

Exemple de code

Afin de faciliter la prise en main de l'API, plusieurs exemples d'extraction des données stockées par la métropole sur son entrepôt « Temps Réel » et « Historique » sont mis à disposition des développeurs.

Ces exemples ne prennent pas en compte la globalité des cas d'usage et des attributs décrits dans le dataModel. Il est possible de les adapter pour répondre à un besoin plus spécifique. Afin d'avoir plus de détails sur la liste complète des attributs, nous vous conseillons de vous reporter à la documentation de l'API.

Les exemples sont proposés dans les langages suivants « Curl / Java / Javascript / Python / C# », avec les cas d'usage suivants :
  • Temps réel – Dernière valeur reçue au moment de la requête
    • Cas d'usage 1 : Renvoie les mesures de type "WaterObserved"
    • Cas d'usage 2 : Renvoie les données d'un ID donné
    • Cas d'usage 3 : Renvoie les valeurs des attributs passés en paramètre pour un ID donné
  • Historique
    • Cas d'usage 4 : Renvoie une liste de valeurs horodatées d'un attribut passé en paramètre pour un ID donné

Curl

  • Temps réel - Cas d'usage 1 : Renvoie les mesures de type "WaterObserved"
curl -X GET "https://api.nicecotedazur.org/nca/environment/water/observation?idPattern=^WaterObserved:HUBEAU-WATERO&api_key=API_KEY"
  • Temps réel - Cas d'usage 2 : Renvoie les données d'un ID donné
curl -X GET "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010?api_key=API_KEY"
  • Temps réel - Cas d'usage 3 : Renvoie les valeurs des attributs passés en paramètre pour un ID donné
curl -X GET "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010?attrs=height&api_key=API_KEY"
  • Historique - Cas d'usage 4 : Renvoie une liste de valeurs horodatées d'un attribut passé en paramètre pour un ID donné
curl -X GET "https://api.nicecotedazur.org/nca/environment/water/observation/histo/WaterObserved:SPCMED-WATERO-Y6224010?attrs=height&fromDate=2023-07-01T09:00:00&toDate=2023-07-31T09:00:00&api_key=API_KEY"

Java

  • Temps réel - Cas d'usage 1 : Renvoie les mesures de type "WaterObserved"
import java.io.IOException;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
 
public class case1 {
 
    public static void main(String[] args) throws IOException, InterruptedException {
        String urlencode = "https://api.nicecotedazur.org/nca/environment/water/observation?idPattern=^WaterObserved:HUBEAU-WATERO&api_key=API_KEY";
        HttpRequest request = HttpRequest.newBuilder()
                .version(HttpClient.Version.HTTP_2)
                .uri(URI.create(
                        urlencode))
                .GET()
                .build();
                
        HttpClient client = HttpClient.newHttpClient();
        HttpResponse response = client.send(request, BodyHandlers.ofString());
 
        System.out.println(response.body());
    }
}
  • Temps réel - Cas d'usage 2 : Renvoie les données d'un ID donné
import java.io.IOException;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
 
public class case2 {
 
    public static void main(String[] args) throws IOException, InterruptedException {
        String urlencode = "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010?api_key=API_KEY";
        HttpRequest request = HttpRequest.newBuilder()
                .version(HttpClient.Version.HTTP_2)
                .uri(URI.create(
                        urlencode))
                .GET()
                .build();
                
        HttpClient client = HttpClient.newHttpClient();
        HttpResponse response = client.send(request, BodyHandlers.ofString());
 
        System.out.println(response.body());
    }
}
  • Temps réel - Cas d'usage 3 : Renvoie les valeurs des attributs passés en paramètre pour un ID donné
import java.io.IOException;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
 
public class case3 {
 
    public static void main(String[] args) throws IOException, InterruptedException {
        String urlencode = "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010?attrs=height&api_key=API_KEY";
        HttpRequest request = HttpRequest.newBuilder()
                .version(HttpClient.Version.HTTP_2)
                .uri(URI.create(
                        urlencode))
                .GET()
                .build();
                
        HttpClient client = HttpClient.newHttpClient();
        HttpResponse response = client.send(request, BodyHandlers.ofString());
 
        System.out.println(response.body());
    }
}
  • Historique - Cas d'usage 4 : Renvoie une liste de valeurs horodatées d'un attribut passé en paramètre pour un ID donné
import java.io.IOException;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
 
public class case4 {
 
    public static void main(String[] args) throws IOException, InterruptedException {
        String urlencode = "https://api.nicecotedazur.org/nca/environment/water/observation/histo/WaterObserved:SPCMED-WATERO-Y6224010?attrs=height&fromDate=2023-07-01T09:00:00&toDate=2023-07-31T09:00:00&api_key=API_KEY";
        HttpRequest request = HttpRequest.newBuilder()
                .version(HttpClient.Version.HTTP_2)
                .uri(URI.create(
                        urlencode))
                .GET()
                .build();
                
        HttpClient client = HttpClient.newHttpClient();
        HttpResponse response = client.send(request, BodyHandlers.ofString());
 
        System.out.println(response.body());
    }
}

Javascript

  • Temps réel - Cas d'usage 1 : Renvoie les mesures de type "WaterObserved"
const url = "https://api.nicecotedazur.org/nca/environment/water/observation"
 
const params = {
    idPattern: '^WaterObserved:HUBEAU-WATERO',
    api_key: 'API_KEY'
}
const searchParams = new URLSearchParams(params)
 
var requestOptions = {
    method: 'GET',
    redirect: 'follow'
};
fetch(url + '?' + searchParams, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));
  • Temps réel - Cas d'usage 2 : Renvoie les données d'un ID donné
const url = "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010"
 
const params = {
    api_key: 'API_KEY'
}
const searchParams = new URLSearchParams(params)
 
var requestOptions = {
    method: 'GET',
    redirect: 'follow'
};
fetch(url + '?' + searchParams, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));
  • Temps réel - Cas d'usage 3 : Renvoie les valeurs des attributs passés en paramètre pour un ID donné
const url = "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010"
 
const params = {
    attrs: 'height',
    api_key: 'API_KEY'
}
const searchParams = new URLSearchParams(params)
 
var requestOptions = {
    method: 'GET',
    redirect: 'follow'
};
fetch(url + '?' + searchParams, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));
  • Historique - Cas d'usage 4 : Renvoie une liste de valeurs horodatées d'un attribut passé en paramètre pour un ID donné
const url = "https://api.nicecotedazur.org/nca/environment/water/observation/histo/WaterObserved:SPCMED-WATERO-Y6224010"
 
const params = {
    attrs: 'height',
    fromDate: '2023-07-01T09:00:00',
    toDate: '2023-07-31T09:00:00',
    api_key: 'API_KEY'
}
const searchParams = new URLSearchParams(params)
 
var requestOptions = {
    method: 'GET',
    redirect: 'follow'
};
fetch(url + '?' + searchParams, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));

Python

  • Temps réel - Cas d'usage 1 : Renvoie les mesures de type "WaterObserved"
import requests
import urllib.parse
 
url = "https://api.nicecotedazur.org/nca/environment/water/observation"
searchParams = {
  'idPattern': "^WaterObserved:HUBEAU-WATERO",
  'api_key': 'API_KEY'
}
 
response = requests.request("GET", url, params=searchParams)
 
print(response.text)
  • Temps réel - Cas d'usage 2 : Renvoie les données d'un ID donné
import requests
import urllib.parse
 
url = "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010"
searchParams = {
  'api_key': 'API_KEY'
}
 
response = requests.request("GET", url, params=searchParams)
 
print(response.text)
  • Temps réel - Cas d'usage 3 : Renvoie les valeurs des attributs passés en paramètre pour un ID donné
import requests
import urllib.parse
 
url = "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010"
searchParams = {
  'attrs': 'height',
  'api_key': 'API_KEY'
}
 
response = requests.request("GET", url, params=searchParams)
 
print(response.text)
  • Historique - Cas d'usage 4 : Renvoie une liste de valeurs horodatées d'un attribut passé en paramètre pour un ID donné
import requests
import urllib.parse
 
url = "https://api.nicecotedazur.org/nca/environment/water/observation/histo/WaterObserved:SPCMED-WATERO-Y6224010"
searchParams = {
  'attrs': 'height',
  'fromDate': '2023-07-01T09:00:00',
  'toDate': '2023-07-31T09:00:00',
  'api_key': 'API_KEY'
}
 
response = requests.request("GET", url, params=searchParams)
 
print(response.text)

C#

  • Temps réel - Cas d'usage 1 : Renvoie les mesures de type "WaterObserved"
using System;
using System.Net;
using static System.Web.HttpUtility;
 
namespace Case1
{
    class Program
    {
        static async Task Main(string[] args)
        {
            string URL = "https://api.nicecotedazur.org/nca/environment/water/observation";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "idPattern=^WaterObserved:HUBEAU-WATERO&api_key=API_KEY"
            }
            var url = builder.ToString();
 
            var res = await client.GetAsync(url);
 
            var content = await res.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
  • Temps réel - Cas d'usage 2 : Renvoie les données d'un ID donné
using System;
using System.Net;
using static System.Web.HttpUtility;
 
namespace Case2
{
    class Program
    {
        static async Task Main(string[] args)
        {
            string URL = "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "api_key=API_KEY"
            }
            var url = builder.ToString();
 
            var res = await client.GetAsync(url);
 
            var content = await res.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
  • Temps réel - Cas d'usage 3 : Renvoie les valeurs des attributs passés en paramètre pour un ID donné
using System;
using System.Net;
using static System.Web.HttpUtility;
 
namespace Case3
{
    class Program
    {
        static async Task Main(string[] args)
        {
            string URL = "https://api.nicecotedazur.org/nca/environment/water/observationWaterObserved:SPCMED-WATERO-Y6224010";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "attrs=height&api_key=API_KEY"
            }
            var url = builder.ToString();
 
            var res = await client.GetAsync(url);
 
            var content = await res.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
  • Historique - Cas d'usage 4 : Renvoie une liste de valeurs horodatées d'un attribut passé en paramètre pour un ID donné
using System;
using System.Net;
using static System.Web.HttpUtility;
 
namespace Case4
{
    class Program
    {
        static async Task Main(string[] args)
        {
            string URL = "https://api.nicecotedazur.org/nca/environment/water/observation/histo/WaterObserved:SPCMED-WATERO-Y6224010";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "attrs=height&fromDate=2023-07-01T09:00:00&toDate=2023-07-31T09:00:00&api_key=API_KEY"
            }
            var url = builder.ToString();
 
            var res = await client.GetAsync(url);
 
            var content = await res.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}