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-Y600203001 | Le Var à Villeneuve-d'Entraunes [Pont d'Enaux] | Pont d'Enaux 06470 Villeneuve-d'Entraunes | 6.790538718 44.122107383 926.01 | 23/11/2021 |
|
|
Device:HUBEAU-WATERO-Y603561001 | La Vaïre à Annot [Pont des Scaffarels] | Pont des Scaffarels 04240 Annot | 6.686495704 43.955528244 | 01/01/2018 |
|
|
Device:HUBEAU-WATERO-Y604201001 | Le Var à Entrevaux [Pont-levis] | Pont-levis 04320 Entrevaux | 6.810133942 43.949350406 465.29 | 04/04/2023 |
|
|
Device:HUBEAU-WATERO-Y612501201 | Le Var à Malaussène [Pont Auguste Dubois] | Pont Auguste Dubois 06710 Malaussène | 7.119242553 43.933280532 225.23 | 01/01/2018 |
|
|
Device:HUBEAU-WATERO-Y622401001 | La 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 |
|
|
Device:HUBEAU-WATERO-Y622402001 | La Tinée à Massoins [Le Bancairon, usine] | Le Bancairon, usine 06420 Roure | 7.096147841 44.127249235 652 | 12/05/2021 |
|
|
Device:HUBEAU-WATERO-Y623402301 | La Tinée à Tournefort [Vieux Pont] | Vieux Pont 06420 Tournefort | 7.159497048 43.947972622 | 23/11/2021 |
|
|
Device:HUBEAU-WATERO-Y623402401 | La 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 |
|
|
Device:HUBEAU-WATERO-Y624000101 | Le Var à Malaussène [La Mescla EDF - QNR] | La Mescla EDF - QNR 06710 Malaussène | 7.194969151 43.90801506 | 02/01/2024 |
|
|
Device:HUBEAU-WATERO-Y633404001 | La Vésubie à Utelle [Pont du Cros] | Pont du Cros 06450 Utelle | 7.231298235 43.878709876 174.9 | 24/10/2023 |
|
|
Device:HUBEAU-WATERO-Y640000201 | L'Esteron à Saint-Auban [Aval village Soleilhas] | Aval village Soleilhas 06850 Saint-Auban | 6.683809281 43.839752545 | 26/10/2023 |
|
|
Device:HUBEAU-WATERO-Y640000301 | L'Esteron à Saint-Auban [Aval confluence Faye] - Aval confluence Faye | Aval confluence Faye 06850 Saint-Auban | 6.731246957 43.849208419 | 26/10/2023 |
|
|
Device:HUBEAU-WATERO-Y640000401 | L'Esteron à Gars | 63 Piste de l'hubac 06850 Gars | 6.807343323 43.863469704 | 26/10/2023 |
|
|
Device:HUBEAU-WATERO-Y641000201 | L'Esteron à Aiglun | Pont 06910 Aiglun | 6.913766131 43.853643382 | 26/10/2023 |
|
|
Device:HUBEAU-WATERO-Y642401001 | L'Esteron à Sigale [Pont du Coude] | Pont du Coude 06910 Sigale | 6.956427456 43.864914511 370.98 | 23/11/2021 |
|
|
Device:HUBEAU-WATERO-Y643401001 | L'Esteron au Broc [La Clave] | Rte de la Clave 06510 Le Broc | 7.156740112 43.846296719 127 | 23/11/2021 |
|
|
Device:HUBEAU-WATERO-Y643583201 | Le Var à Bonson [Digue Bonson] | 285 Route du Stade 06830 Bonson | 7.194384785 43.847005137 | 23/12/2020 |
|
|
Device:HUBEAU-WATERO-Y644201002 | Le Var à Nice [Pont Napoléon III] - Aval | Pont Napoléon III 06000 Nice | 7.200026997 43.664068874 1.85 | 10/05/2023 |
|
|
Device:HUBEAU-WATERO-Y644202001 | Le Var à Carros [Pont de la Manda] | Pont de la Manda 06510 Carros | 7.203791548 43.764225796 59 | 23/11/2021 |
|
|
Device:HUBEAU-WATERO-Y651701001 | Le ruisseau de Caïnéa [source] à Lucéram | 6 Savelet 06440 Lucéram | 7.354481365 43.881522184 600 | 23/11/2021 |
|
|
Device:HUBEAU-WATERO-Y652000501 | Le Paillon à la Trinité | Pont de la Liberté 06340 La Trinité | 7.301492226 43.734546531 | 22/10/2018 |
|
|
Device:HUBEAU-WATERO-Y660000201 | La Roya à Tende [Pont de Scara] | Pont de Scara 06430 Tende | 7.588636648 44.09877841 | 22/11/2021 |
|
|
Device:HUBEAU-WATERO-Y661401002 | La Roya à Tende [Saint-Dalmas-de-Tende] - Amont - EDF | 53 Avenue de France 06430 Saint-Dalmas-de-Tende | 7.589227833 44.054762222 | 26/09/2022 |
|
|
Device:HUBEAU-WATERO-Y661401003 | La Roya à Tende [Saint-Dalmas-de-Tende] - Station Amont DREAL | 87bis Avenue de France 06430 Tende | 7.589488632 44.051777277 | 30/05/2023 |
|
|
Device:HUBEAU-WATERO-Y661405101 | La Roya à Fontan [Village] | 1 Rue de la Gare 06540 Fontan | 7.554355342 44.002655818 | 26/10/2022 |
|
|
Device:HUBEAU-WATERO-Y661405201 | Le torrent de Bieugne à Tende | 98 Avenue de France 06430 Tende | 7.587991974 44.050408263 | 22/11/2021 |
|
|
Device:HUBEAU-WATERO-Y662000301 | La Roya à Breil-sur-Roya [EDF] | Route de Vintimille 06540 Breil-sur-Roya | 7.516675304 43.911657332 | 17/01/2024 |
|
|
Device:HUBEAU-WATERO-Y662000401 | La Roya à Saorge [Pont Mondi] | Pont Mondi 06540 Saorge | 7.540589379 43.975406466 | 27/12/2021 |
|
|
Device:HUBEAU-WATERO-Y663501001 | La Bévéra à Sospel [Pont D 2204] | Pont D 2204 06380 Sospel | 7.45119483 43.877698665 338.88 | 02/02/2024 |
|
|
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);
}
}
}