Données relatives aux observations hydrologiques

Les données relatives aux observation hydrologiques des cours d'eau sont disponibles dans l’entrepôt de données de la métropole Nice Côte d’Azur. Le modèle de données WaterObserved est utilisé pour représenter les données liées aux observations hydrologiques.


Liste des capteurs

ID Name Adresse Localisation Date de mise en service Propriétés Assets
Device:EPG-MULTIFLOW-MAGLIM050101Station Magnan amont 500 Boulevard de la Madeleine
06000 Nice
7.222632436
43.72995728
11/04/2025
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-MAGLIM060101Station Magnan médian 327 Boulevard de la Madeleine
06000 Nice
7.223438665
43.71868093
11/04/2025
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-MAGLIM070101Station Magnan aval 211 Boulevard de la Madeleine
06000 Nice
7.229547993
43.70907171
11/04/2025
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-PAILIM010101D2204 D2204
06440 L'Escarène
7.35425
43.836
28/01/2025
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACCAG01Station Pont des Salles 191 Chemin des Salles
06800 Cagnes-sur-Mer
7.14218862
43.69979078
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACCAG02Station Pont des Moulins 489 Chemin de Sainte Colombe
06640 Saint-Jeannet
7.13406444
43.74455973
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACCAG03Station Pont de la Lubiane 280 avenue Maréchal Joffre
06140 Vence
7.10573392
43.72659474
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACCAG05Station Deffoussat - Leclerc Rue Grange Rimade
06800 Cagnes-sur-Mer
7.123439
43.67262466
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACCAG06Station Pont Saint-Paul Chemin de la Pounchounière
06570 Saint-Paul-de-Vence
7.12535463
43.68978971
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACCAG09Station Cagne couverture amont 13 avenue Marcel Pagnol
06800 Cagnes-sur-Mer
7.15071593
43.66605675
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACCAG10Station Malvan avenue des Alpes 82 avenue des Alpes
06800 Cagnes-sur-Mer
7.13348544
43.66117967
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACCAG11Station Cagne aval 727 rue Bir Hakeim
06800 Cagnes-sur-Mer
7.15404635
43.65598389
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACMAG01Station Aqueduc Magnan 209 boulevard de la Madeleine
06000 Nice
7.22951356
43.70895543
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACMAG03Station Pont du Génie Intersection du boulevard de la Madeleine et du chemin du Génie
06000 Nice
7.22167511
43.73871935
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACPAI01Station Passerelle 35 avenue Maréchal Lyautey
06300 Nice
7.2827209
43.71265867
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACPAI02Station Abattoirs Boulevard Jean Baptiste Vérany
06300 Nice
7.28472419
43.71865344
01/01/2019
  • flow
  • height
  • precipitation
  • temperature
  • WaterObserved
  • WeatherObserved
Device:EPG-MULTIFLOW-SACPAI03Station Coty Pont René Coty
06300 Nice
7.28856943
43.72314955
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACPAI04Station Saint-André RG de la Banquière, Quartier Le Château
06730 Saint-André-de-la-Roche
7.28813068
43.74476164
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACPAI05Station Plan de Revel Avenue du Haut Pays, Lieu-dit Plan de Revel
06690 Tourrette-Levens
7.27951698
43.76999528
01/01/2019
  • flow
  • height
  • precipitation
  • temperature
  • WaterObserved
  • WeatherObserved
Device:EPG-MULTIFLOW-SACPAI06Station La Trinité Pont Anatole France
06300 Nice
7.31007595
43.74116229
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACPAI07Station La Condamine Route RD2204, Rive gauche du pont
06440 Blaussasc
7.33258282
43.77057673
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACPAI08Station Contes Quartier le Gheit D15
06390 Contes
7.284724193
43.80554578
01/01/2019
  • flow
  • height
  • precipitation
  • temperature
  • WaterObserved
  • WeatherObserved
Device:EPG-MULTIFLOW-SACPAI10Station Paillon Laghet 20 route de Laghet
06340 La Trinité
7.32328515
43.74496766
01/01/2019
  • flow
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-SACPAI12Station Moulin de Peillon Quartier les Près Moulin de Peillon
06440 Peillon
7.37213171
43.77220455
01/01/2019
  • flow
  • height
  • precipitation
  • temperature
  • WaterObserved
  • WeatherObserved
Device:EPG-MULTIFLOW-TINLIM010101Ardon aval rive droite à Saint-Étienne-de-Tinée 1 Chemin de l'Ardon
06660 Saint-Étienne-de-Tinée
6.922125
44.256836
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-TINLIM010102Ardon aval rive gauche à Saint-Étienne-de-Tinée 1 Chemin de l'Ardon
06660 Saint-Étienne-de-Tinée
6.922125
44.256836
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-TINLIM020201Tinée digue rive droite ville de Saint-Étienne-de-Tinée Chenal ouvert Boulevard Napoléon III
06660 Saint-Étienne-de-Tinée
6.927193
44.256153
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-TINLIM020202Tinée digue rive droite ville de Saint-Étienne-de-Tinée Chenal couvert Pont Tinée M2205
06660 Saint-Étienne-de-Tinée
6.925664
44.258286
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-TINLIM030101Tinée Pont de Louch a Isola Pont de Louch
06660 Saint-Étienne-de-Tinée
7.051704
44.184429
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-TINLIM040101Guercha Pont aval M2205 à Isola Pont Guercha sur M97
06420 Isola
7.053528
44.186028
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-VARLIM010101Chemin de la Glacière Chemin de la Glacière
06200 Nice
7.191078
43.718953
28/01/2025
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-VESLIM010101Pont de la Madone de Fenestre Route de la Vésubie
06450 Saint-Martin-Vésubie
7.2572
44.06693333
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-VESLIM020101Pont provisoire Boréon Route de la Vésubie
06450 Saint-Martin-Vésubie
7.250861111
44.07395833
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-VESLIM030101Pont de Roquebillière M63
06450 Roquebillière
7.310641667
44.01885833
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-VESLIM040101Couverture Riou Lantosque Lantosque
06450 Lantosque
7.310686111
43.97489444
01/01/2019
  • height
  • WaterObserved
Device:EPG-MULTIFLOW-VESLIM050101Route provisoire Vésubie Route de la Vésubie
06450 Utelle
7.215472222
43.86979167
01/01/2019
  • 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:EPG-MULTIFLOW-SACCAG01",
  "type": "WaterObserved",
  "address": {
    "type": "PostalAddress",
    "value": {
      "addressCountry": "FR",
      "streetAddress": "191 Chemin des Salles",
      "postalCode": "06800",
      "addressLocality": "Cagnes-sur-Mer"
    }
  },
  "dataProvider": {
    "type": "Text",
    "value": "Métropole Nice Côte d%27Azur"
  },
  "dateModified": {
    "type": "DateTime",
    "value": "2024-07-04T08:48:40.765Z"
  },
  "dateObserved": {
    "type": "DateTime",
    "value": "2024-07-04T08:48:00.000Z"
  },
  "flow": {
    "type": "Number",
    "value": 0,
    "metadata": {
      "timestamp": {
        "type": "DateTime",
        "value": "2024-07-04T08:48:00.000Z"
      },
      "unitCode": {
        "type": "Text",
        "value": "MQS"
      }
    }
  },
  "height": {
    "type": "Number",
    "value": 0.200830091,
    "metadata": {
      "timestamp": {
        "type": "DateTime",
        "value": "2024-07-04T08:48:00.000Z"
      },
      "unitCode": {
        "type": "Text",
        "value": "MTR"
      }
    }
  },
  "location": {
    "type": "geo:json",
    "value": {
      "coordinates": [
        7.14218862,
        43.69979078
      ],
      "type": "Point"
    }
  },
  "name": {
    "type": "Text",
    "value": "Station Pont des Salles"
  },
  "refDevice": {
    "type": "Text",
    "value": "Device:EPG-MULTIFLOW-SACCAG01"
  },
  "source": {
    "type": "Text",
    "value": "EPG"
  }
}

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:EPG-MULTIFLOW&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:EPG-MULTIFLOW-SACCAG01?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:EPG-MULTIFLOW-SACCAG01?attrs=flow&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:EPG-MULTIFLOW-SACCAG01?attrs=flow&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:EPG-MULTIFLOW&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:EPG-MULTIFLOW-SACCAG01?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:EPG-MULTIFLOW-SACCAG01?attrs=flow&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:EPG-MULTIFLOW-SACCAG01?attrs=flow&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:EPG-MULTIFLOW',
    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:EPG-MULTIFLOW-SACCAG01"
 
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:EPG-MULTIFLOW-SACCAG01"
 
const params = {
    attrs: 'flow',
    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:EPG-MULTIFLOW-SACCAG01"
 
const params = {
    attrs: 'flow',
    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:EPG-MULTIFLOW",
  '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:EPG-MULTIFLOW-SACCAG01"
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:EPG-MULTIFLOW-SACCAG01"
searchParams = {
  'attrs': 'flow',
  '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:EPG-MULTIFLOW-SACCAG01"
searchParams = {
  'attrs': 'flow',
  '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:EPG-MULTIFLOW&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:EPG-MULTIFLOW-SACCAG01";
 
            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:EPG-MULTIFLOW-SACCAG01";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "attrs=flow&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:EPG-MULTIFLOW-SACCAG01";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "attrs=flow&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);
        }
    }
}