Format de fichier d'index pour les fichiers de données brutes
Un fichier d'index dédié est créé pour améliorer l'accès aux données ping individuelles, dans le fichier de données brutes. Ce fichier d'index est utilisé lorsque vous naviguez en avant ou en arrière, dans le fichier, à l'aide de la barre de relecture. L'extension du fichier d'index est .idx.
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.