Référence technique – Vols au format ACMI 2.2

Introduction

Avec Tacview 1.5, un nouveau format de fichier public universel a été introduit. L’objectif était de surmonter la complexité de l’ancien format tout en le rendant beaucoup plus puissant.

Comme son prédécesseur, le nouveau format de fichier est écrit en texte brut UTF-8. Ainsi, il est possible d’exporter facilement des données de vol depuis le langage de programmation le plus simple. Sa syntaxe est très facile à lire pour les humains et, avec le journal de débogage introduit dans Tacview 1.4.3, il est désormais très simple de diagnostiquer les problèmes d’export. Ce nouveau format est tellement simple qu’il pourrait même être écrit à la main si la quantité de données n’était pas astronomique !

Malgré sa simplicité, le nouveau format offre un moyen très puissant de définir et modifier — en temps réel — n’importe quelle propriété de n’importe quel objet sur le champ de bataille. Par exemple, il est maintenant possible de changer la coalition, la couleur ou même le type d’un objet à la volée ! De la même manière, vous pouvez facilement attribuer et modifier des propriétés globales, comme la météo par exemple.

Il est important de noter que les données non encore supportées par Tacview sont conservées et visibles dans la fenêtre de télémétrie brute. Si vous pensez qu’une donnée importante devrait être prise en charge et affichée nativement par Tacview, n’hésitez pas à nous contacter.

Format de fichier ACMI 2.2 – Notions de base

Sans plus attendre, commençons avec le fichier le plus simple possible :

FileType=text/acmi/tacview
FileVersion=2.2

Ce sont les deux seules lignes obligatoires que vous devez placer en premier dans tout fichier ACMI. Cet en-tête indique à Tacview le format attendu. Toutes les données suivantes sont facultatives.

Soyons réalistes : même si Tacview chargera gracieusement ce fichier vide, nous avons besoin d’un peu plus de données pour le rendre utile ! Voici un fichier plus intéressant :

FileType=text/acmi/tacview
FileVersion=2.2
0,ReferenceTime=2011-06-02T05:00:00Z
#47.13
3000102,T=41.6251307|41.5910417|2000.14,Name=C172

Pour mieux comprendre cette structure, il faut savoir qu’à part son en-tête, chaque ligne du fichier peut être :

  • Le signe dièse # introduisant un nouveau repère temporel en secondes par rapport à ReferenceTime
  • Un identifiant d’objet (dans cet exemple 0 et 3000102) suivi d’autant de propriétés que nécessaire séparées par des virgules ,. Chaque propriété reçoit une nouvelle valeur à l’aide du signe égal =.
  • Une ligne commençant par le signe moins - suivi de l’identifiant d’un objet que l’on souhaite retirer du champ de bataille (détruit ou hors de portée d’enregistrement).

Voyons en détail la syntaxe de chaque ligne :

0,ReferenceTime=2011-06-02T05:00:00Z

Cette ligne attribue la valeur 2011-06-02T05:00:00Z à la propriété ReferenceTime de l’objet global désigné par l’identifiant zéro 0. Cette ligne définit la base / heure de référence pour tout l’enregistrement. Pour comprendre cela plus clairement, examinons la ligne suivante :

#47.13

Cette ligne définit un repère temporel en secondes par rapport à ReferenceTime. Cela signifie que les événements ou propriétés suivants se sont produits à ReferenceTime + 47.13 secondes2011-06-02T05:00:47.13Z.

Maintenant, examinons la ligne suivante :

3000102,T=41.6251307|41.5910417|2000.14,Name=C172

Cette ligne définit deux propriétés pour l’objet 3000102. Pour gagner de la place, les identifiants d’objet sont exprimés en hexadécimal sans préfixe ni zéros en tête.

La première propriété T (Transform) est une propriété spéciale utilisée pour définir les coordonnées de l’objet dans l’espace. Pour l’instant, concentrons-nous sur la syntaxe : T = Longitude | Latitude | Altitude.

Notez que Latitude et Longitude sont exprimées en degrés. Les valeurs positives sont vers le nord et l’est. Parce que tout le fichier est toujours en système métrique, l’altitude est exprimée en mètres MSL (au-dessus du niveau de la mer).

La propriété suivante Name définit le nom de l’objet C172, qui est une manière abrégée de désigner un avion Cessna 172.

Maintenant que vous connaissez les bases pour créer un enregistrement de vol, déplaçons notre nouvel avion un peu plus à l’est. Pour cela, il suffit d’ajouter une nouvelle trame à notre fichier :

#49
3000102,T=41.626||

Comme vous pouvez le voir, nous avons défini une nouvelle valeur de longitude 41.626 pour notre avion à l’instant 2011-06-02T05:00:49Z.

Vous avez peut-être remarqué que nous n’avons pas besoin de préciser à nouveau le nom de l’avion puisqu’il n’a pas changé depuis la dernière fois ! Nous avons également omis la latitude et l’altitude car elles n’ont pas changé non plus. Cela permet d’économiser beaucoup de place durant de longs enregistrements de vol. Cette optimisation est particulièrement pertinente pour les objets au sol qui peuvent rester immobiles ou bouger très légèrement.

Spécifications détaillées du fichier

Maintenant que vous commencez à mieux comprendre la structure des fichiers ACMI, passons en revue les exigences et quelques conseils liés au format en général :

Exigences
  • Les données textuelles doivent être écrites en UTF-8 afin de prendre en charge toutes les langues pour les propriétés textuelles.
  • Toutes les données sont exprimées dans le système métrique — mètres, mètres par seconde pour la vitesse, degrés pour les angles, temps UTC, etc.
  • Les identifiants d’objets sont exprimés en nombres hexadécimaux 64 bits (sans préfixe ni zéros en tête pour gagner de la place).
  • L’objet 0 est utilisé pour définir les propriétés globales (comme ReferenceTime ou Briefing).
  • Lorsque vous attribuez une propriété textuelle contenant une virgule ,, vous devez ajouter le caractère d’échappement \ afin qu’elle ne soit pas interprétée comme la fin de la chaîne.
Briefing=Here is a text value\, which contains an escaped comma in it!
Conseils
  • Pour gagner de la place, il est fortement recommandé de terminer les lignes avec uniquement le caractère LF \n.
  • Il est plus propre de préfixer les données textuelles avec l’en-tête UTF-8 BOM.
  • L’ensemble des données textuelles peut être compressé dans une archive zip ou 7z pour économiser la bande passante ou l’espace disque.
  • Les données peuvent être présentées dans le désordre. Tacview fera de son mieux pour les réorganiser en mémoire.

Coordonnées des objets

Examinons maintenant de plus près les différentes notations des coordonnées d’objet. Pour optimiser la taille du fichier, Tacview propose quatre notations différentes.

Voici deux exemples : lors de l’export des coordonnées d’une balle, nous n’avons pas besoin d’informations sur les angles de rotation. À l’inverse, pour un avion dans un simulateur de vol fonctionnant dans un monde « plat » comme Falcon 4.0, il faut exporter la position native dans le monde plat, la rotation et les coordonnées dans le monde sphérique. Ainsi, l’avion sera correctement affiché dans le monde sphérique de Tacview et les calculs de télémétrie seront réalisés dans son système de coordonnées natif pour correspondre aux valeurs visibles dans le simulateur d’origine.

Syntaxe de position de l’objet Utilité
T = Longitude | Latitude | Altitude Objets simples dans un monde sphérique (généralement des objets mineurs comme des balles). Peut également convenir aux sources de données basiques comme les fichiers GPX sans informations de rotation.
T = Longitude | Latitude | Altitude | U | V Objets simples provenant d’un monde plat. U et V représentent les coordonnées natives x et y. Il faut les exprimer en mètres même si les coordonnées d’origine sont en pieds. L’altitude n’est pas répétée car elle est identique dans les deux systèmes (plat et sphérique).
T = Longitude | Latitude | Altitude | Roll | Pitch | Yaw Objets complexes dans un monde sphérique. Roll est positif lors d’un roulis vers la droite. Pitch est positif lors du décollage. Yaw est mesuré dans le sens horaire par rapport au nord vrai.
T = Longitude | Latitude | Altitude | Roll | Pitch | Yaw | U | V | Heading Objets complexes provenant d’un monde plat. Identique à ci-dessus. Heading correspond au lacet relatif au nord du monde plat. Il est requis car le nord natif ne correspond généralement pas au nord sphérique en raison des erreurs de projection.

Rappelez-vous que vous pouvez omettre les composants qui n’ont pas changé depuis la dernière fois. Cela économise beaucoup de place.

Si certaines données sont manquantes (par exemple la rotation d’un objet), Tacview essaiera de les émuler afin de fournir une relecture réaliste. Indépendamment des optimisations, vous devez maintenir la même notation de données pour un objet durant toute sa durée de vie. Si, à un moment, vous utilisez une notation différente, Tacview promouvra l’objet à un type plus complexe, mais en raison du manque de données initiales, le résultat final pourrait ne pas être celui attendu.

Propriétés globales

Nous avons déjà vu que l’une des propriétés globales les plus importantes est ReferenceTime. Évidemment, il existe de nombreuses autres métadonnées que vous pouvez injecter dans un enregistrement de vol pour rendre la relecture plus détaillée.

Propriétés textuelles
Nom de la propriété Signification
DataSource Simulateur source, station de contrôle ou format de fichier.
DataSource=DCS 2.0.0.48763
DataSource=Fichier GPX
DataRecorder Logiciel ou matériel utilisé pour enregistrer les données.
DataRecorder=Tacview 1.5
DataRecorder=Falcon 4.0
ReferenceTime Heure de base (UTC) de la mission en cours. Cette heure est combinée avec chaque décalage temporel (en secondes) pour obtenir l’heure UTC absolue finale de chaque échantillon de données.
ReferenceTime=2011-06-02T05:00:00Z
RecordingTime Heure (UTC) de création de l’enregistrement (du fichier).
RecordingTime=2016-02-18T16:44:12Z
Author Auteur ou opérateur ayant créé cet enregistrement.
Author=Lt. Cmdr. Rick 'Jester' Heatherly
Title Titre ou désignation de la mission / du vol.
Title=Counter Attack
Category Catégorie de la mission / du vol.
Category=Close air support
Briefing Texte libre contenant le briefing de la mission / du vol.
Briefing=Destroy all SCUD launchers
Debriefing Texte libre contenant le compte-rendu de mission.
Debriefing=Managed to stay ahead of the airplane.
Comments Commentaires libres sur le vol. N’oubliez pas d’échapper tout caractère de fin de ligne que vous souhaitez insérer dans les commentaires.
Comments=Part of the recording is missing because of technical difficulties.
MapId Identifiant textuel unique désignant l’emplacement où se déroule la mission. Utile pour activer ou désactiver automatiquement les couches de terrain pendant le débriefing.
MapId=NuclearOption.Heartland
Propriétés numériques
Nom de la propriété Unité Signification
ReferenceLongitude
ReferenceLatitude
deg Ces propriétés servent à réduire la taille du fichier en centrant les coordonnées autour d’un point médian. Elles sont ajoutées à chaque longitude et latitude des objets pour obtenir les coordonnées finales.
ReferenceLongitude=-129
ReferenceLatitude=43

Événements

Les événements permettent d’injecter du texte, des signets et des informations de débogage dans l’enregistrement de vol. Ils sont un peu particuliers : ils sont déclarés comme des propriétés, mais contrairement aux propriétés, il est possible d’en déclarer plusieurs dans la même trame sans écraser les précédents.

Voici un exemple d’injection d’événements :

#8.62
0,Event=Message|3000100|Voici un événement générique lié à l’objet 3000100
0,Event=Bookmark|Voici un signet permettant de mettre en évidence une partie spécifique de la mission !
#8.72
0,Event=Debug|Voici un texte de débogage, visible uniquement avec l’option de ligne de commande /Debug:on

Vous remarquerez la structure d’une déclaration d’événement :

Event = EventType | FirstObjectId | SecondObjectId | ... | EventText

Pour chaque événement, nous devons déclarer d’abord le type d’événement (par ex. Bookmark), suivi éventuellement des identifiants des objets concernés. Par exemple, lorsque l’utilisateur double-clique sur l’événement, Tacview utilisera ces identifiants pour centrer automatiquement la caméra sur les objets associés. La dernière partie est un message textuel obligatoire. Bien qu’il soit possible de fournir un texte vide, il est recommandé de fournir un message utile pour tirer le meilleur parti du débriefing.

Voici les différents types d’événements actuellement pris en charge par Tacview :

Nom de l’événement Signification
Message Événement générique.
0,Event=Message|705|Maverick a violé les directives ATC
Bookmark Les signets sont mis en évidence dans la ligne temporelle et le journal d’événements. Ils permettent de repérer facilement des moments importants du vol, comme une attaque ou l’approche finale pour atterrissage.
0,Event=Bookmark|Début de l’exercice d’atterrissage de précaution
Debug Les événements de débogage sont mis en évidence dans la ligne temporelle et le journal d’événements. Comme ils sont destinés au développement, ils sont affichés uniquement lorsque Tacview est lancé avec l’argument /Debug:on.
0,Event=Debug|327 avions actifs
LeftArea Permet d’indiquer qu’un avion (ou n’importe quel objet) a été retiré proprement du champ de bataille (non détruit). Cela empêche Tacview de générer un événement Destroyed par erreur.
0,Event=LeftArea|507|
Destroyed Lorsque un objet a été officiellement détruit.
0,Event=Destroyed|6A56|
TakenOff Parce que Tacview ne détecte pas toujours correctement les décollages, il peut être utile d’injecter cet événement manuellement.
0,Event=TakenOff|2723|Col. Sinclair a décollé de l’aéroport de Camarillo
Landed Parce que Tacview ne détecte pas toujours correctement les atterrissages, il peut être utile d’injecter cet événement manuellement.
0,Event=Landed|705|Maverick a atterri sur l’USS Ranger
Timeout Principalement utilisé pour le débriefing d’entraînement en conditions réelles afin d’indiquer lorsqu’une arme (généralement un missile) atteint ou manque sa cible. Tacview affichera le résultat dans le journal de tir et dans la vue 3D. La plupart des paramètres sont facultatifs. SourceId désigne l’objet ayant tiré l’arme et TargetId désigne la cible. Même si le résultat affiché peut être en milles nautiques, les coordonnées de bullseye doivent être spécifiées en mètres. La cible doit être explicitement détruite ou désactivée via les propriétés appropriées indépendamment de cet événement.
0,Event=Timeout|SourceId:507|AmmoType:FOX2|AmmoCount:1|Bullseye:50/15000/2500|TargetId:201|IntendedTarget:Leader|Outcome:Kill

Propriétés des objets

Depuis Tacview 1.5, il est possible de définir et modifier n’importe quelle propriété d’objet en temps réel. Même si certaines nouvelles propriétés ne sont pas toujours visibles dans la vue 3D, vous pouvez les consulter dans la fenêtre de télémétrie brute pour connaître la valeur actuelle de chaque propriété des objets sélectionnés.


Tacview 1.7 a introduit un nouvel objet permettant de prédéfinir n’importe quelle propriété d’objet, sauf Type et Name. Par exemple, vous pouvez prédéfinir la Shape par défaut d’un F-16C dans la base de données. Si la propriété Shape n’est pas définie dans le fichier de télémétrie, Tacview utilisera la valeur stockée dans la base de données et affichera votre modèle 3D personnalisé pour le F-16C dans la vue 3D.

Apprenez à mettre à jour et étendre la base de données Tacview en lisant la documentation dédiée.

Propriétés textuelles
Property Name Meaning
Name The object name should use the most common notation for each object. It is strongly recommended to use ICAO or NATO names like: C172 or F/A-18C. This will help Tacview to associate each object with the corresponding entry in its database. Type and Name are the only properties which *CANNOT* be predefined in Tacview database.
Name=F-16C-52
Type Object types are built using tags. This makes object management much more powerful and transparent than with the previous exclusive types. (see below for the list of supported types). Type and Name are the only properties which *CANNOT* be predefined in Tacview database.
Type=Air+FixedWing
AdditionalType Any tags defined here will be added to the current object Type. This is useful to force an object type which has not been defined explicitly in the telemetry data. For example, you can use this property to automatically set the FixedWing tag for a Cessna 172 telemetry data which come from a Garmin csv file (which usually does not contain any type declaration). For obvious reasons, this property must be used only in Tacview database, *NOT* in telemetry files.
<AdditionalType>Air+FixedWing</AdditionalType>
Parent Parent hexadecimal object id. Useful to associate for example a missile (child object) and its launcher aircraft (parent object).
Parent=2D50A7
Next Hexadecimal id of the following object. Typically used to link waypoints together.
Next=40F1
ShortName This abbreviated name will be displayed in the 3D view and in any other cases with small space to display the object name. Typically defined in Tacview database. Should not be defined in telemetry data.
ShortName=A-10C
LongName More detailed object name, used in small windows where there is more space than in a cluttered 3D view, but not enough space to display the full detailed name. For readability, it is suggested to start by the short name first (usually an abbreviation like the NATO code), followed by the object nickname / NATO name. Typically defined in Tacview database. Should not be defined in telemetry data.
LongName=A-10C Thunderbolt II
FullName The full object name which is typically displayed in windows and other logs wherever there is enough space to display a lot of data without clutter issues. Typically defined in Tacview database. Should not be defined in telemetry data.
FullName=Fairchild Republic A-10C Thunderbolt II
CallSign The call sign will be displayed in priority over the object name and sometimes pilot name, especially in the 3D view and selection boxes. This is handy for mission debriefings where call signs are more informative than aircraft names.
CallSign=Jester
Registration Aircraft registration (aka tail number)
Registration=N594EX
Squawk Current transponder code. Any code is possible, there is no limitation like with the old 4 digit transponders.
Squawk=1200
ICAO24 Mode S equipped aircraft uniquely assigned ICAO 24-bit address.
ICAO24=A72EC8
Pilot Aircraft pilot in command name.
Pilot=Iceman
Group Group the object belongs to. Used to group objects together. For example, a formation of F-16 flying a CAP together.
Group=Springfield
Country ISO 3166-1 alpha-2 country code.
Country=us
Coalition Coalition
Coalition=Allies
Color Can be one of the following: Red, Orange, Yellow (Tacview 1.8.8), Green, Cyan (Tacview 1.8.8), Blue, Violet. Colors are predefined to ensure a clear display of the whole battlefield in all conditions.
Color=Blue
Shape Filename of the 3D model which will be used to represent the object in the 3D view. 3D models must be in Wavefront .obj file format and stored in either %ProgramData%\Tacview\Data\Meshes\ or %APPDATA%\Tacview\Data\Meshes\.
Learn more about 3D models by reading the dedicated documentation
Shape=Rotorcraft.Bell 206.obj
Debug Debug text visible in the 3D view when Tacview is launched with the /Debug:on command line argument.
Debug=ObjectHandle:0x237CB9
Label Free real-time text displayable in the 3D view and telemetry windows (to provide miscellaneous info to the end-user)
Label=Lead aircraft
FocusedTarget Target currently focused by the object (typically used to designate laser beam target object, can also be used to show what the pilot is currently focused on)
FocusedTarget=3001200
LockedTarget to LockedTarget9 Primary target hexadecimal id (could be locked using any device, like radar, IR, NVG, ...)
LockedTarget2=3001200
Propriétés numériques
Property Name Unit Meaning
Importance ratio The higher the ratio, the more important is the object is (e.g. locally simulated aircraft could be 1.0 importance factor)
Importance=1
Slot index Plane position in its Group (the lowest is the leader)
Slot=0
Disabled boolean Specifies that an object is disabled (typically out-of-combat) without being destroyed yet. This is particularly useful for combat training and shotlogs.
Disabled=1
Visible
ratio This property is useful to hide specific objects from the 3D view. Can be used for a fog-of-war effect, or to prevent virtual objects from being displayed. When set to 1, the object is fully visible. When set to 0, the object is invisible and may be omitted from objects lists.
Visible=0.333
Health
ratio Use this attribute to record the current health status of an object. The ratio is equal to 1.0 when the object is brand new, and 0.0 whenever the object is out of combat/dead/destroyed. This attribute as currently no effect on the events, you still need to remove the object manually whenever it is destroyed.
Health=0.84
Length m Object length. Especially useful when displaying buildings.
Length=20.5
Width m Object width. Especially useful when displaying buildings.
Width=10.27
Height m Object height. Especially useful when displaying buildings.
Height=4
Radius m Object bounding sphere radius. Object bounding sphere radius. Can be used to define custom explosion, smoke/grenade radius. Can be animated.
Radius=82
IAS m/s Indicated airspeed
IAS=69.4444
CAS m/s Calibrated airspeed
CAS=250
TAS m/s True airspeed
TAS=75
Mach ratio Mach number
Mach=0.75
AltimeterSetting hPa Current barometric pressure setting for the altimeter
AltimeterSetting=1013.2
OnGround boolean Indicates whether any part of the aircraft is touching the ground. Typically used to detect when the aircraft is landing, taking off, or in any form of ground contact.
OnGround=1
AOA deg Angle of attack
AOA=15.7
AOS deg Sideslip angle, also called angle of sideslip
AOS=5.2
AGL m Object altitude above ground level
AGL=1501.2
HDG deg Aircraft heading. When there is no roll and pitch data available, this property can be used to specify the yaw while keeping full rotation emulation in the 3D view.
HDG=185.3
HDM deg Aircraft magnetic heading. Heading relative to local magnetic north.
HDM=187.3
Throttle Throttle2 ratio Engine 1 & 2 throttle handle position (could be >1 for Afterburner and <0 for reverse)
Throttle=0.75
EngineRPM EngineRPM2 RPM Engine 1 & 2 speed in RPM (revolutions per minute)
EngineRPM=1500
NR NR2 ratio Normalized rotation speed of the main and secondary rotors (typically from 0.0 to 1.1). For example 0.9 = 90% of max RPM.
NR=0.9
RotorRPM RotorRPM2 RPM Rotation speed of the main and secondary rotors (revolutions per minute). For example 320 RPM.
RotorRPM=320
Afterburner ratio Main/engine #1 afterburner status
Afterburner=1
AirBrakes ratio Air brakes status
AirBrakes=0
Flaps ratio Flaps position
Flaps=0.4
LandingGear ratio Landing gear status
LandingGear=1
LandingGearHandle ratio Landing gear handle position
LandingGearHandle=0
Tailhook ratio Arresting hook status
Tailhook=1
Parachute ratio Parachute status (not to be mistaken for DragChute)
Parachute=0
DragChute ratio Drogue/Drag Parachute status
DragChute=1
FuelWeight to FuelWeight9 kg Fuel quantity currently available in each tanks (up to 10 tanks supported).
FuelWeight4=8750
FuelVolume to FuelVolume9 l Fuel quantity currently available in each tanks (up to 10 tanks supported).
FuelVolume=75
FuelFlowWeight to FuelFlowWeight8 kg/hour Fuel flow for each engine (up to 8 engines supported).
FuelFlowWeight2=38.08
FuelFlowVolume to FuelFlowVolume8 l/hour Fuel flow for each engine (up to 8 engines supported).
FuelFlowVolume2=53.2
RadarMode number Radar mode (0 = off)
RadarMode=1
RadarAzimuth deg Radar azimuth (heading) relative to aircraft orientation
RadarAzimuth=-20
RadarElevation deg Radar elevation relative to aircraft orientation
RadarElevation=15
RadarRoll deg Radar roll angle relative to aircraft orientation
RadarRoll=-45
RadarRange m Radar scan range
RadarRange=296320
RadarHorizontalBeamwidth deg Radar beamwidth in azimuth
RadarHorizontalBeamwidth=40
RadarVerticalBeamwidth deg Radar beamwidth in elevation
RadarVerticalBeamwidth=12
RadarRangeGateAzimuth deg Radar Range Gate azimuth (heading) relative to aircraft orientation
RadarRangeGateAzimuth=-20
RadarRangeGateElevation deg Radar Range Gate elevation relative to aircraft orientation
RadarRangeGateElevation=15
RadarRangeGateRoll deg Radar Range Gate roll angle relative to aircraft orientation
RadarRangeGateRoll=-45
RadarRangeGateMin m Defines the beginning of the range currently focused on by the radar (not to be confused with RadarRange).
RadarRangeGateMin=37040
RadarRangeGateMax m Defines the end of the range currently focused on by the radar (not to be confused with RadarRange).
RadarRangeGateMax=74080
RadarRangeGateHorizontalBeamwidth deg Radar Range Gate beamwidth in azimuth
RadarRangeGateHorizontalBeamwidth=40
RadarRangeGateVerticalBeamwidth deg Radar Range Gate beamwidth in elevation
RadarRangeGateVerticalBeamwidth=12
LockedTargetMode number Primary target lock mode (0 = no lock/no target)
LockedTargetMode=1
LockedTargetAzimuth deg Primary target azimuth (heading) relative to aircraft orientation
LockedTargetAzimuth=14.5
LockedTargetElevation deg Primary target elevation relative to aircraft orientation
LockedTargetElevation=0.9
LockedTargetRange m Primary target distance to aircraft
LockedTargetRange=17303
EngagementMode EngagementMode2 number Enable/disable engagement range (such as when a SAM site turns off its radar) (0 = off)
EngagementMode=1
EngagementRange EngagementRange2 VerticalEngagementRange VerticalEngagementRange2 m Engagement range for anti-aircraft units. This is the radius of the sphere which will be displayed in the 3D view. Typically used for SAM and AAA units, but this can be also relevant to warships.
EngagementRange=2500
You can optionally specify the vertical engagement range to draw an ovoid engagement bubble.
VerticalEngagementRange=1800
RollControlInput
PitchControlInput
YawControlInput
ratio Raw player HOTAS/Yoke position in real-life (flight sim input device)
PitchControlInput=0.41
RollControlPosition
PitchControlPosition
YawControlPosition
ratio HOTAS/Yoke position in simulated (with response curves) or real-life cockpit
PitchControlPosition=0.3
RollTrimTab
PitchTrimTab
YawTrimTab
ratio Trim position for each axis.
PitchTrimTab=-0.15
AileronLeft
AileronRight
Elevator Rudder
ratio Control surfaces position on the aircraft.
Elevator=0.15
LocalizerLateralDeviation
GlideslopeVerticalDeviation
m How far the aircraft is from the runway centerline and perfect descent path. left and below are negative.
GlideslopeVerticalDeviation=52
LocalizerAngularDeviation
GlideslopeAngularDeviation
deg The angle difference from the runway centerline and perfect descent path. Left and below are negative.
LocalizerAngularDeviation=0.23
PilotHeadRoll
PilotHeadPitch
PilotHeadYaw
deg Pilot head orientation in the cockpit relative to the aircraft orientation.
PilotHeadPitch=12
PilotEyeGazePitch
PilotEyeGazeYaw
deg The EyeGaze property represents the pilot's eye orientation relative to their head. This means that if the pilot's eyes are looking straight ahead, irrespective of the head's actual orientation, the EyeGaze value is set to 0,0. This indicates a forward gaze aligned with the head's orientation.
EyeGazePitch=-15
VerticalGForce
LongitudinalGForce
LateralGForce
g Gravitational force equivalent of the acceleration in each axis relative to the aircraft orientation.
VerticalGForce=3.4
QNH
hPA Regional barometric altimeter setting that causes an altimeter to read aircraft elevation above mean sea level.
QNH=1013.25
WindDirection
WindPitch
WindSpeed
deg
deg
m/s
Wind direction relative to true north, pitch, and amplitude at the corresponding object location. Horizontal velocity = cos(WindPitch) * WindSpeed.
WindDirection=45
WindPitch=-8.5
WindSpeed=12.5
TriggerPressed
boolean Position of the main weapon trigger position. Set to 1.0 when the trigger is being fully pressed. All other values (such as 0.0) are considered as released. You could use continuous values from 0.0 to 1.0 to display the course of the trigger during time.
TriggerPressed=1
ENL
ratio Ratio between 0 and 1 describing the current Environmental Noise Level measured by the flight recorder. Typically used by gliders to detect engine use. This is the equivalent of the ENL field which can be found in IGC files.
ENL=0.02
HeartRate
number Heart rate in beats per minute.
HeartRate=72
SpO2
ratio Blood oxygen saturation (SpO2) is the percentage of blood that is saturated with oxygen.
SpO2=0.95

Types d’objets (alias Tags)

Les types d’objets sont désormais définis à l’aide d’une combinaison libre de tags. Plus il y a de tags, plus la définition d’un objet est précise. Les tags sont séparés par le signe plus + Voici quelques exemples :

Object Kind Type (Tags)
Aircraft Carrier Type=Heavy+Sea+Watercraft+AircraftCarrier
F-16C Type=Medium+Air+FixedWing
Bicycle Type=Light+Ground+Vehicle
AIM-120C Type=Medium+Weapon+Missile
Waypoint Type=Navaid+Static+Waypoint

Voici la liste des tags actuellement supportés. Tacview les utilise pour l’affichage et l’analyse.

Use Tags
Class
  • Air
  • Ground
  • Sea
  • Weapon
  • Sensor
  • Navaid
  • Misc
Attributes
  • Static
  • Heavy
  • Medium
  • Light
  • Minor
Basic Types
  • FixedWing
  • Rotorcraft
  • Armor
  • AntiAircraft
  • Vehicle
  • Watercraft
  • Human
  • Biologic
  • Missile
  • Rocket
  • Bomb
  • Torpedo
  • Projectile
  • Beam
  • Decoy
  • Building
  • Bullseye
  • Waypoint
Specific Types
  • Tank
  • Warship
  • AircraftCarrier
  • Submarine
  • Infantry
  • Parachutist
  • Shell
  • Bullet
  • Grenade
  • Flare
  • Chaff
  • SmokeGrenade
  • Aerodrome
  • Container
  • Shrapnel
  • Explosion

Voici les types courants recommandés (combinaisons de tags) que vous devriez utiliser pour décrire la plupart de vos objets pour l’affichage dans Tacview 1.x :

Type Tags
Plane Air + FixedWing
Helicopter Air + Rotorcraft
Anti-Aircraft Ground + AntiAircraft
Armor Ground + Heavy + Armor + Vehicle
Tank Ground + Heavy + Armor + Vehicle + Tank
Ground Vehicle Ground + Vehicle
Watercraft Sea + Watercraft
Warship Sea + Watercraft + Warship
Aircraft Carrier Sea + Watercraft + AircraftCarrier
Submarine Sea + Watercraft + Submarine
Sonobuoy Sea + Sensor
Human Ground + Light + Human
Infantry Ground + Light + Human + Infantry
Parachutist Ground + Light + Human + Air + Parachutist
Missile Weapon + Missile
Rocket Weapon + Rocket
Bomb Weapon + Bomb
Projectile Weapon + Projectile
Beam Weapon + Beam
Shell Projectile + Shell
Bullet Projectile + Bullet
Ballistic Shell Projectile + Shell + Heavy
Grenade Projectile + Grenade
Decoy Misc + Decoy
Flare Misc + Decoy + Flare
Chaff Misc + Decoy + Chaff
Smoke Grenade Misc + Decoy + SmokeGrenade
Building Ground + Static + Building
Aerodrome Ground + Static + Aerodrome
Bullseye Navaid + Static + Bullseye
Waypoint Navaid + Static + Waypoint
Container Misc + Container
Shrapnel Misc + Shrapnel
Minor Object Misc + Minor
Explosion Misc + Explosion

Commentaires

Pour vous aider lors du processus de débogage de votre exporteur, il est possible de commenter n’importe quelle ligne du fichier en la préfixant avec le double slash comme en C++.

// This line and the following are commented
// 3000102,T=41.6251307|41.5910417|2000.14,Name=C172

Ces lignes seront ignorées par Tacview lors du chargement du fichier. Les commentaires ne sont pas conservés. Vous remarquerez qu’ils disparaîtront lors du prochain enregistrement du fichier depuis Tacview. Si vous souhaitez inclure des informations de débogage persistantes, vous pouvez utiliser l’événement Debug dédié décrit plus tôt dans les propriétés globales.

Pour des raisons de performance lors du chargement, il n’est possible d’insérer un commentaire qu’au début d’une ligne.

Besoin d’aide ? Une question ?

Accédez à la documentation, aux forums communautaires, ou contactez le support.