Structure de fichier
Le fichier d'index contient un en-tête de fichier avec un datagramme de configuration XML et un certain nombre de datagrammes
binaires d'index. Il existe un datagramme binaire d’index pour chaque transmission (« ping »).
|
• |
Le datagramme XML de configuration dans l'en-tête est une copie du datagramme XML de configuration dans le fichier de données
brutes correspondant. |
|
• |
Chaque datagramme binaire d’index contient des informations essentielles sur le ping, ainsi qu'un pointeur (FileOffset) sur l'emplacement des données du ping, dans le fichier de données brutes correspondant. |
Structure de fichier:
|
• |
Datagramme XML de configuration (Le type est XML0.) |
|
• |
Datagrammes binaires d’index avec des pointeurs Indexer (Il existe un pour chaque transmission (« ping »).):
|
1 |
Datagramme binaire d’index (Le type est IDX0.) |
|
2 |
Datagramme binaire d’index |
|
3 |
Datagramme binaire d’index ...Il existe un pour chaque transmission (« ping »)....
|
|
Description
struct IndexFileDatagram |
|
{ |
|
StructDatagramHeader DgHeader; |
|
ULONG PingNumber; |
|
double VesselDistance; |
|
double Latitude; |
|
double Longitude; |
|
DWORD FileOffset; |
|
}; |
Le pointeur FileOffset
Lorsqu'un fichier brut est ouvert, tous les datagrammes jusqu'au FileOffset pour le premier « ping » sont lus. Le FileOffset pour le premier « ping » dans le fichier d'index pointe vers le premier datagramme après l'en-tête du fichier de données
brutes. Cela peut être n'importe lequel des datagrammes suivants, car ils peuvent apparaître dans un ordre différent dans chaque « ping ».
|
• |
Exemple de données pour chaque canal et ping:
|
a |
Datagramme XML de paramètre |
|
b |
Datagramme binaire d’échantillon |
|
c |
Datagramme de texte NMEA (Asynchrone) |
|
d |
Datagramme texte d'annotation (ASCII) (Asynchrone) |
|
e |
Datagramme binaire de mouvement (Asynchrone) |
|
Le pointeur FileOffset pour le ping « n » pointe vers le premier datagramme après le datagramme binaire d’échantillon pour le ping « n-1 ». Par conséquent, pour un ping « n », vous avez besoin des datagrammes du fichier brut entre fileOffset du numéro de datagramme binaire Index « n » et de fileOffset du numéro de datagramme binaire d’index « n + 1 ». Cela peut être la fin du dernier fichier ping.
Avec cette modification, la précédente unité de référence de mouvement (MRU) et d’autres données seront utilisées pour la
lecture du ping « n », au lieu des suivantes.
Cela donnera le même résultat si vous reproduisez un seul ping ou si le ping est reproduit dans une séquence de plusieurs
pings. Le datagramme XML de paramètre pour le ping « n » est toujours situé avant l'exemple de datagramme binaire et sera donc toujours
inclus dans le datagramme lu dans le fichier de données brutes.
Les fichiers d'index vont commencer par le datagramme XML0/ Version, suivi d'une liste de datagrammes IDX0. Avec plusieurs modifications ultérieures qui indiquent que le fichier doit être fractionné, toutes en une seconde, vous perdrez
le stockage des données ping.
Le format de l'heure pour les fichiers est une résolution d’1 seconde. Si plusieurs fichiers sont requis dans la même seconde, le fichier sera écrasé et les dernières données ping seront stockées
dans le fichier.