Aller au contenu principal

Exemples de fichiers

Fichiers d'exemple OSF​

Le répertoire examples/ du dépôt contient deux types de fichiers permettant d'apprendre le format et de tester un reader pas à pas : des fichiers de référence générés (synthétiques, une caractéristique par fichier) et des échantillons de terrain (enregistrements réels d'appareils de mesure optiMEAS).

Fichiers de référence générés​

Les fichiers sous examples/generated/ sont produits par l'implémentation de référence Delphi (reproductibles de façon non interactive avec OSFGeneratorCLI). Chaque fichier cible une caractéristique, et existe à chaque fois en variante OSF4 (en-tête XML) et en variante OSF5 (en-tête JSON) :

Fichier (OSF4 / OSF5)Illustre
osf4_equidistant.osf / osf5_equidistant.osfCanal équidistant (fréquence d'échantillonnage fixe)
osf4_scalar_numeric.osf / osf5_scalar_numeric.osfCanaux scalaires à virgule flottante horodatés
osf4_scalar_int64.osf / osf5_scalar_int64.osfCanal entier signé sur 64 bits
osf4_scalar_unsigned.osf / osf5_scalar_unsigned.osfCanaux entiers non signés
osf4_gpslocation.osf / osf5_gpslocation.osfCanal de position GPS
osf4_timestamped_string.osf / osf5_timestamped_string.osfDonnées utiles string horodatées
osf4_timestamped_binary.osf / osf5_timestamped_binary.osfBlobs binary horodatés
osf4_mixed.osf / osf5_mixed.osfPlusieurs types de canaux dans un même fichier
— / osf5_mixed_extended.osfFichier OSF5 mixte étendu

Au total 17 fichiers (8 OSF4 + 9 OSF5). Un reader correct doit tous les traiter sans erreur. Ces fichiers sont les fixtures de lecture communes à tous les langages ; l'appariement OSF4/OSF5 vérifie en même temps les règles déterministes selon la version — par exemple la terminaison par un octet nul des données utiles string/binary (OSF4 avec, OSF5 sans 0x00 final).

Échantillons de terrain — enregistrements réels​

Données réelles issues d'appareils optiMEAS. Elles couvrent ce que les fichiers synthétiques ne peuvent pas offrir : un grand nombre de canaux, des motifs d'horodatage réels et des flux se terminant brusquement. Un reader doit les lire sans plantage et restituer les données présentes.

CheminFormatDescription
motorbike.osfOSF481 canaux de télémétrie de moto — vitesses, températures, GPS, état du système
steam_loco.osf (+ .csv)OSF4123 canaux issus d'un enregistrement de locomotive à vapeur (le .csv est un export de référence des mêmes données)
weather_station.osfzOSF4, gzip28 canaux, OSFZ compressé en gzip — vérifie la décompression transparente à la lecture
Testdata Motorbike/OSFZEnregistrements de moto sur plusieurs jours dans des sous-dossiers journaliers (YYYYMMDD/…) — tests de robustesse et de lecture en masse

Ouvrir un fichier​

Le plus rapide est d'utiliser le paquet Python osfdata :

import osf

mgr = osf.load("examples/steam_loco.osf")
print(f"{len(mgr)} Kanäle")
for ch in mgr.channels:
print(ch.name, ch.data_type, ch.sample_count)

Les fichiers peuvent également être ouverts avec l'implémentation Rust (cargo run --example inspect -- <pfad>), l'implémentation C++ ou l'implémentation Delphi (osftool info). Le chapitre Format OSF fournit une introduction au format.

Ce document est publié sous licence CC BY 4.0. Attribution : optiMEAS GmbH et optiMEAS Switzerland GmbH.