Des compteurs de trafic sont installés le long des tronçons routiers importants afin de mesurer tous les mouvements de trafic par direction et par heure. Ils sont capables de compter, de classer et de détermis sont responsables, à tous les niveaux, de l’exploitation de leur réseau de stations permanentes de comptage automatique de la circulation sur les principaux axes routiers du pays. L’objectif final est d’enregistrer tous les mouvements de trafic par direction et par heure. Cet ensemble de données peut être considéré comme un pot commun qui regroupe ce type de données pour toutes les autorités routières intéressées par le partage de leurs données.
Description des données
Format
ner la vitesse de tous les véhicules qui traversent des endroits spécifiques.
En Suisse, les autorités routière
DATEX II est la norme pour l’échange de données relatives au trafic routier. Le format est basé sur un schéma XML spécifique. Chaque pays peut créer et publier des profils spécifiques en fonction de ses besoins.
Le profil suisse de DATEX II est basé sur DATEX II version 2.3.
Fréquence d’actualisation
Les données sont mises à jour toutes les minutes et concernent les mouvements de trafic de la minute complète précédente. Les nouvelles données remplacent toujours les dernières données publiées. Les données historiques ne sont pas disponibles pour cet ensemble de données. Les données de la dernière minute sont toujours publiées 20 secondes après une minute complète en UTC 0.
Contenu
Les données se rapportent à l’ensemble de données statiques “Traffic Counters (Road Traffic)” qui peut être trouvé ici ou via cette même API.
Données statiques
La table des sites de mesure (MST) informe les utilisateurs sur le réseau des compteurs de trafic. En général, les compteurs de trafic enregistrent les données de plus d’une voie de circulation. Des détecteurs multiples sont donc utilisés. Dans ce contexte, les détecteurs sont appelés “Measurement Site Record” (MSR) et chacun d’entre eux possède un identifiant unique dans DATEX II.
Le tableau d’enregistrement des sites de mesure contient des informations telles que les identifiants des compteurs, les identifiants des fournisseurs et la géolocalisation.
- Données sur la plateforme de données ouvertes
- Informations détaillées sur le réseau de compteurs de trafic de l’Office fédéral des routes (OFROU)
- Exemple de données statiques
Données dynamiques
Les données sont agrégées et publiées toutes les minutes. Il fournit essentiellement le nombre de véhicules et la vitesse moyenne dans deux catégories par “fiche de site de mesure” (MSR):
- Véhicules légers tels que voitures, motos, bus et petits camions de livraison (classes suisses 1 à 7)
- Poids lourds tels que les camions et les camions avec remorque (classes 8 à 10 de la Suisse)
Pour la gestion des erreurs, deux catégories supplémentaires sont communiquées:
- Le nombre de véhicules sans classification
- Le nombre de véhicules dont la vitesse n’est pas valide (données non plausibles)
Lien entre les données statiques et dynamiques
Chaque publication de données dynamiques renvoie à la version actuelle d’un MST. Si le numéro de version de la MeasurementSiteTable référencée dans les données dynamiques a augmenté (measurementSiteTableReference), veuillez demander la nouvelle MST en utilisant l’opération “pullMeasurementSiteTable”.
Filtrage
Comme le traitement du XML complet de données dynamiques peut être lourd, il est possible de demander les données pour une sélection de RSM. Le filtre est transféré dans une structure de données facultative (“GenericPayLoad”) dans la demande SOAP pour l’opération “pullMeasuredData”. Selon le profil DATEX II pour les données de trafic en Suisse, le GenericPayload doit contenir les éléments suivants:
- Lang: saisir “en” comme valeur par défaut
- publicationTime: saisir l’horodatage de la demande actuelle
- country: indiquez votre pays d’origine
- nationalIdentifier : Dans le cas du service d’appel d’offres, il ne s’agit pas d’un identifiant pour l’authentification, car les identifiants des consommateurs ne sont pas normalisés. Vous pouvez entrer ce que vous voulez ici, cela n’a pas d’effet
- Les identifiants des compteurs sont séparés une fois par deux points et une fois par un point.
- XX : = acronyme du fournisseur (par ex. CH : = OFROU, ZH : = canton de Zurich)
- = ID de la station de comptage (par ex. 0610 ou 0043)
- ID du détecteur allant de 01 à 09 (par ex. 01, 02)
- Le filtrage est supporté par deux syntaxes possibles : MQTT et Expressions Régulières (testeur de regex en ligne).
- Du côté droit des deux points, la syntaxe MQTT peut être utilisée.
- Le “+” est un joker à un niveau et peut donc être utilisé plusieurs fois.
- “#” est un joker à tous les niveaux et ne peut donc être utilisé qu’une seule fois et uniquement à la fin.
Exemple:
- MQTT-Syntax : CH:0610/# est traduit par l’expression régulière CH:0610.[0-9.]* qui demandera tous les détecteurs de la station de comptage CH:0610.
- CH:0610/+ (identique à 1. à condition que le bureau d’enregistrement n’utilise pas d’autres étapes à droite du ” :”)
- CH:+.+ (toutes les stations de comptage avec tous les détecteurs du fournisseur “CH”)
- CH:# (identique au point 3, à condition que le bureau d’enregistrement n’utilise pas d’autres étapes à droite du ” :”)
- CH:+. # (Formellement autorisé, résultat identique à 4.)
Pour la version, la valeur “0” est interprétée comme la “version actuelle” et inclut les numéros 1 ou supérieurs. Cette fonction est utile car tous les ID MSR qui correspondent à une expression de caractère générique n’ont pas nécessairement la même version.
Pour un exemple complet de demande filtrée, veuillez vous référer à la page des exemples.
Selon les exemples ci-dessus, un filtre pourrait se présenter comme suit:
1 2 3 4 5 6 7 8 9 |
<measuredDataFilter xsi:type="dx223:MeasuredDataFilter"> <dx223:measurementSiteTableReference xsi:type="dx223:_MeasurementSiteTableVersionedReference" targetClass="MeasurementSiteTable" id="OTD:TrafficData" version="0"/> <dx223:siteRequestReference xsi:type="dx223:_MeasurementSiteRecordVersionedReference" targetClass="MeasurementSiteRecord" id="CH:0003.01" version="0"/> <dx223:siteRequestReference xsi:type="dx223:_MeasurementSiteRecordVersionedReference" targetClass="MeasurementSiteRecord" id="CH:0003/02" version="0"/> <dx223:siteRequestReference xsi:type="dx223:_MeasurementSiteRecordVersionedReference" targetClass="MeasurementSiteRecord" id="CH:0346\.[0-9]*" version="0"/> <dx223:siteRequestReference xsi:type="dx223:_MeasurementSiteRecordVersionedReference" targetClass="MeasurementSiteRecord" id="CH:0347/+" version="0"/> <dx223:siteRequestReference xsi:type="dx223:_MeasurementSiteRecordVersionedReference" targetClass="MeasurementSiteRecord" id="CH:0610/#" version="0"/> <dx223:siteRequestReference xsi:type="dx223:_MeasurementSiteRecordVersionedReference" targetClass="MeasurementSiteRecord" id="CH:067[0-9.]*" version="0"/> </measuredDataFilter> |
Configuration technique
Autorisation avec clé API
Une clé API est nécessaire pour obtenir les données dynamiques. La clé peut être obtenue via le portail du développeur. Vous avez besoin d’une clé du type “Compteurs de trafic (trafic routier)”.
Une fois connecté, allez dans le menu “Clés API” et sélectionnez la clé correspondante:
Le jeton doit être envoyé dans l’en-tête HTTP avec le nom “Authorization” (voir l’exemple ci-dessous).
Une telle clé permet d’obtenir 260 000 requêtes en 6 mois.
URL pour extraire les données
La plateforme OpenTransportData (OTD) offre une interface PULL qui permet d’accéder aux données via des requêtes http POST (SOAP, pas REST).
https://api.opentransportdata.swiss/TDP/Soap_Datex2/Pull
Attention: pas de “/” à la fin de l’URL
Avec l’en-tête Authorization et Content-Type = “text/XML” ou “application/XML”.
Pour obtenir des données dynamiques, il faut indiquer SoapAction= http://opentransportdata.swiss/TDP/Soap_Datex2/Pull/v1/pullMeasuredData dans l’en-tête (paire clé/valeur, selon l’outil, elle pourrait par exemple être séparée par deux points ou être insérée dans deux champs).
Opérations SOAP
Comme décrit dans le fichier WSDL, il y a trois opérations possibles:
- pullMeasurementSiteTable: réponses avec le MST complet et à jour
- pullMeasuredData: réponses avec des données dynamiques actualisées
- keepAlive: à des fins de développement
Utilisez toujours des opérations SOAP. Nous avons créé un projet SOAPUI pour le montrer.
Accès aux données (Open Data sous conditions)
Dans le cadre de la stratégie d’échange de données de l’OFROU, ces données sont disponibles sous le concept de “données ouvertes conditionnelles”. L’objectif est d’encourager les propriétaires potentiels de données de trafic à participer à cette communauté de données en fournissant certaines de leurs données de trafic. En échange, ils bénéficient d’un accès complet aux données. Toutefois, les utilisateurs peuvent accéder aux données pendant six mois sans aucune restriction. Si un utilisateur a besoin d’un accès plus long aux données, veuillez contacter l’administrateur de l’OFROU. Pour plus de détails, veuillez lire les conditions générales de l’OFROU.
Qualité attendue des données
Les données sont transmises en mode “best effort” avec des contrôles de plausibilité minimaux et n’ont pas fait l’objet d’une vérification formelle. Pour plus de précision, les données doivent être mises en corrélation avec d’autres données telles que les sites de construction, etc. Par conséquent, il peut y avoir des différences entre ces données “brutes” et les statistiques officielles des autorités routières.
Gestion des erreurs
Error code | Description, Translation |
---|---|
EMPTY_RESPONSE | EN: The data provider is offline.
DE: Der Datenlieferant ist offline. FR: Le fournisseur de données est hors ligne. IT: Il fornitore di dati è offline. |
PRV_OFFLINE | EN: A third party supplying system is currently offline.
DE: Ein Drittanbieter-System ist momentan offline. FR: Un système d’approvisionnement tiers est actuellement hors ligne. IT: Un sistema di fornitura di terze parti è attualmente offline. |
AGG_OFFLINE | EN: The aggregation module is currently offline.
DE: Der Aggregationsdienst ist momentan offline. FR: Le service d’agrégation est actuellement hors ligne. IT: Il servizio di aggregazione è attualmente offline. |
VD_OFFLINE | EN: Communication interruption with the vehicle detector or vehicle detector is offline. No reception of traffic messages.
DE: Die Kommunikation zum Verkehrszähler ist unterbrochen oder der Verkehrszähler ist offline. Es werden im Moment keine Daten empfangen. FR: La communication avec le compteur de trafic est interrompue ou le compteur de trafic est hors ligne. Aucune donnée n’est reçue pour le moment. IT: La comunicazione con il contatore del traffico viene interrotta o il contatore del traffico è offline. Al momento non vengono ricevuti dati. |
VD_ERROR | EN: The vehicle detector is defect and is therefore not transmitting any data or the transmitted data are invalid.
DE: Der Verkehrszähler ist defekt und sendet daher keine oder ungültige Daten. FR: Le compteur de trafic est défectueux et n’envoie donc aucune donnée ou des données invalides. IT: Il contatore di traffico è difettoso e quindi non invia dati o dati non validi. |
SENSOR_ERROR | EN: The sensor of the vehicle detector is defect and is therefore not transmitting data or the transmitted data are invalid.
DE: Der Sensor des Verkehrszählers ist offline oder defekt und sendet daher keine oder ungültige Daten. FR: Le capteur du compteur de trafic est hors ligne ou défectueux et n’envoie donc aucune donnée ou des données invalides. IT: Il sensore del contatore di traffico è difettoso e quindi non invia dati o dati non validi. |
SENSOR_WWD | EN: The sensor has detected traffic in wrong direction. Possible reasons: due to diversion in construction zone, wrong way driving.
DE: Der Sensor hat Verkehr in Gegenrichtung detektiert. Mögliche Ursachen: Umleitung wegen Baustelle, Falschfahrer oder zum Beispiel durch ein Überholmanöver. FR: Le capteur a détecté du trafic dans la direction opposée. Causes possibles: Déviation due à un chantier de construction, conducteur roulant en sens inverse ou par exemple lors d’un dépassement. IT: Il sensore ha rilevato il traffico nella direzione opposta. Possibili cause: Deviazione a causa del cantiere, contromano. |
Plus d’informations sur DATEX II
Téléchargeur de données sur le trafic
L’outil “Traffic Data Downloader” vous permet de télécharger et d’enregistrer facilement les données actuelles et les données de base sur votre ordinateur. L’outil génère un fichier CSV pour chaque téléchargement commencé.
Traffic Data Downloader V1.0 est disponible gratuitement. Une fois l’application lancée, il vous suffit de saisir votre clé API, de définir le dossier de sortie et de lancer le téléchargement.