Données relatives aux à l'occupation des parkings publics

La Régie Parcs d'Azur (RPA), gère des parkings au sein de la Ville de Nice. Les données relatives aux parkings sont disponibles dans l'entrepôt de données de la Métropole Nice Côte d'Azur. Le modèle de données OffStreetParking est destiné aux données liées au stationnement des véhicules dans des parkings multi emplacements et matérialisés par une ou plusieurs « entrées et sorties ». Pour plus d'information sur Nice parking : http://niceazurparking.fr/


Liste des capteurs

ID Name Adresse Localisation Date de mise en service Propriétés Assets
Device:JALDYN-OFFSTPKG-OBJ001Parking Massena 18 Avenue Félix Faure
06000 Nice
7.26985643
43.69770086
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ002Parking Corvesy 3 Rue Alexandre Mari
06000 Nice
7.27213
43.69654415
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ003Parking Saleya Cours Saleya
06000 Nice
7.27374683
43.69573495
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ004Parking Palais de Justice Place du Palais de Justice
06000 Nice
7.27402474
43.69631646
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ005Parking Les Arts 18 Avenue Saint-Jean-Baptiste
06000 Nice
7.27810532
43.70087911
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ006Parking Palais Massena 29 Prom. des Anglais
06000 Nice
7.25996345
43.69519501
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ007Parking Mozart 11 Avenue Auber
06000 Nice
7.26190962
43.70053547
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ008Parking Louvre 20 Boulevard Victor Hugo
06000 Nice
7.26445177
43.69992958
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ009Parking Palais Méditerranée 63 Rue de France
06000 Nice
7.26287123
43.69556265
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ010Parking Grimaldi 11 Rue Maccarani
06000 Nice
7.26441619
43.69801298
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ011Parking Ruhl Méridien 1 Prom. des Anglais
06000 Nice
7.26596991
43.6956485
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ012Parking Nice Etoile Rue Lamartine
06000 Nice
7.26843645
43.70099682
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ013Parking Sulzer 103 Quai des États-Unis
06000 Nice
7.27109925
43.69536681
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ034Parking St Roch 50 Boulevard Saint-Roch
06000 Nice
7.293372
43.712966
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ035Parking Acropolis Avenue du XVème Corps
06000 Nice
7.2803553
43.7074462
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ036Parking Barla Rue Auguste Gal
06300 Nice
7.2848911
43.7021683
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ037Parking Lenval 57 Avenue de la Californie
06200 Nice
7.2410026
43.6893049
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ038Parking Arenas 455 Promenade des Anglais
06200 Nice
7.2147461
43.6681686
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ039Parking Magnan 4 Rue de la Corderie
06000 Nice
7.2435164
43.6910143
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking
Device:JALDYN-OFFSTPKG-OBJ040Parking INT_PARK 4 Rue de la Corderie
06000 Nice
7.2435164
43.6910143
22/02/2002
  • availableSpotNumber
  • totalSpotNumber
  • OffStreetParking

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": "OffStreetParking:JALDYN-OFFSTPKG-OBJ001",
  "type": "OffStreetParking",
  "address": {
    "type": "PostalAddress",
    "value": {
      "addressCountry": "FR",
      "streetAddress": "18 Avenue Félix Faure",
      "postalCode": "06000",
      "addressLocality": "Nice"
    }
  },
  "availableSpotNumber": {
    "type": "Number",
    "value": 325,
    "metadata": {
      "timestamp": {
        "type": "DateTime",
        "value": "2024-07-04T08:55:35.000Z"
      }
    }
  },
  "dataProvider": {
    "type": "Text",
    "value": "Métropole Nice Côte d%27Azur"
  },
  "dateModified": {
    "type": "DateTime",
    "value": "2024-07-04T08:55:35.000Z"
  },
  "location": {
    "type": "geo:json",
    "value": {
      "coordinates": [
        7.26985643,
        43.69770086
      ],
      "type": "Point"
    }
  },
  "message": {
    "type": "Text",
    "value": "325",
    "metadata": {
      "timestamp": {
        "type": "DateTime",
        "value": "2024-07-04T08:55:35.000Z"
      }
    }
  },
  "name": {
    "type": "Text",
    "value": "Parking Massena"
  },
  "refDevice": {
    "type": "Text",
    "value": "Device:JALDYN-OFFSTPKG-OBJ001"
  },
  "source": {
    "type": "Text",
    "value": "Dedale"
  },
  "totalSpotNumber": {
    "type": "Number",
    "value": 325,
    "metadata": {
      "timestamp": {
        "type": "DateTime",
        "value": "2024-07-04T08:55:35.000Z"
      }
    }
  }
}

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 parkings de type "OffStreetParking"
    • 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 parkings de type "OffStreetParking"
curl -X GET "https://api.nicecotedazur.org/nca/parking/offstreet/?idPattern=^OffStreetParking:JALDYN-OFFSTPKG&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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001?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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001?attrs=availableSpotNumber,address&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/parking/offstreet/histo/OffStreetParking:JALDYN-OFFSTPKG-OBJ001?attrs=availableSpotNumber&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 parkings de type "OffStreetParking"
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/parking/offstreet/?idPattern=^OffStreetParking:JALDYN-OFFSTPKG&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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001?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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001?attrs=availableSpotNumber,address&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/parking/offstreet/histo/OffStreetParking:JALDYN-OFFSTPKG-OBJ001?attrs=availableSpotNumber&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 parkings de type "OffStreetParking"
const url = "https://api.nicecotedazur.org/nca/parking/offstreet/"
 
const params = {
    idPattern: '^OffStreetParking:JALDYN-OFFSTPKG',
    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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001"
 
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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001"
 
const params = {
    attrs: 'availableSpotNumber,address',
    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/parking/offstreet/histo/OffStreetParking:JALDYN-OFFSTPKG-OBJ001"
 
const params = {
    attrs: 'availableSpotNumber',
    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 parkings de type "OffStreetParking"
import requests
import urllib.parse
 
url = "https://api.nicecotedazur.org/nca/parking/offstreet/"
searchParams = {
  'idPattern': "^OffStreetParking:JALDYN-OFFSTPKG",
  '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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001"
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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001"
searchParams = {
  'attrs': 'availableSpotNumber,address',
  '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/parking/offstreet/histo/OffStreetParking:JALDYN-OFFSTPKG-OBJ001"
searchParams = {
  'attrs': 'availableSpotNumber',
  '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 parkings de type "OffStreetParking"
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/parking/offstreet/";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "idPattern=^OffStreetParking:JALDYN-OFFSTPKG&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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001";
 
            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/parking/offstreet/OffStreetParking:JALDYN-OFFSTPKG-OBJ001";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "attrs=availableSpotNumber,address&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/parking/offstreet/histo/OffStreetParking:JALDYN-OFFSTPKG-OBJ001";
 
            using var client = new HttpClient();
            var builder = new UriBuilder(URL)
            {
               Query = "attrs=availableSpotNumber&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);
        }
    }
}