• Nenhum resultado encontrado

Partie 3 La réalisation de visualisations

C. Application du modèle de Data Flow aux visualisations de l‟ATC

Généralement, les modèles de visualisation décrivent des systèmes dédiés à la recherche d‟information ou à la production d‟images. Les visualisations ATC sont différentes des systèmes de visualisation classiques sur plusieurs points.

 elles sont dynamiques ; elles évoluent au cours du temps,

 elles sont considérées comme des systèmes de supervision car les transformations ne sont pas modifiées par l‟utilisateur. L‟utilisateur observe l‟image mais ne la modifie pas,

 elles se ressemblent car elles se basent toutes sur les mêmes données, ce qui nous oblige à plus de précision pour différencier les caractéristiques de chaque représentation.

Les informations affichées proviennent soit des données radar, soit des plans de vol avions (succession de points de référence que doit suivre l‟avion pendant son vol). Nous considérons que les données sont stockées dans une table, dont chaque ligne contient un enregistrement.

Données Détails Type

Code

transpondeur Identifiant avion N

X Longitude Q

Y Latitude Q

Vitesse sol Q

AFL Niveau de vol

(Altitude) Q Taux de

montée Vitesse verticale Q Temps Heure du plot

radar O

Les données radar et plan de vol sont traitées pour être affichées. Ainsi sont produites, avec les mêmes données, les visualisations du domaine du Contrôle Aérien, comme par exemple des visualisations radar (ODS, ASTER), des séquenceurs au départ et à l‟arrivée des aéroports (MAESTRO), des systèmes de prévisions et de gestion de conflits (ERATO).

Transformations radar

plan de vol

Données Visualisations

ODS ASTER

MAESTRO ERATO

1. Réalisation de l’image radar

Pour valider l‟utilisation du modèle de Data Flow dans le domaine du Contrôle Aérien, nous allons réaliser la visualisation principale utilisée par les contrôleurs aériens : la vue radar qui affiche les positions courantes et passées des avions avec la piste radar. Ce terme est historique et ne fait pas référence à la zone de décollage et d‟atterrissage des avions mais au système de suivi radar de la position des avions.

La position actuelle de l‟avion est symbolisée par un triangle : le symbole tête de chaîne.

Les positions passées sont représentées par des carrés de plus en plus petits en fonction de leur ancienneté. L‟ensemble des positions passées forme la comète radar. Les informations de vitesse, de niveau de vol (Altitude) et l‟identifiant de l‟avion sont données sous forme textuelle et sont regroupées dans l’étiquette. Le leader connecte le symbole tête de chaîne à l‟étiquette. Le vecteur vitesse part de la position de l‟avion et s‟arrête à sa future position dans 3, 6 ou 9 minutes si les paramètres de vol (cap et vitesse) ne sont pas modifiés.

Pour réaliser cette image, nous avons dû réaliser trois fonctions de transformation des données vers un visuel. Pour ce faire, nous avons créé trois couches avec pour chacune un ensemble de choix de designs et des filtrages sur les données.

a) Réalisation du vecteur vitesse

Il existe plusieurs façons de réaliser le vecteur vitesse. Nous avons choisi d‟utiliser les paramètres de position, taille, et orientation.

Le vecteur vitesse est représenté par une ligne (forme) positionnée en X-Y sur l‟écran en fonction des champs X-Y de l‟avion, avec une taille qui varie avec le champ GroundSpeed (vitesse de l‟avion), et avec une orientation fonction du champ Heading (direction de l‟avion).

Pour ne pas surcharger la vue, nous avons filtré les données pour n‟afficher que les vecteurs vitesse à un instant (utilisation du filtrage dynamique sur le champ Time_Of_Plot). Ce filtrage sur les données n‟est pas forcement optimal. Il implique que les données de tous les avions soient présentes à chaque instant. Si on veut afficher le vecteur vitesse de tous les avions à 12h50min10sec, il faut que les données de position, orientation et vitesse soient présentes pour tous les avions. Dans la pratique ce n‟est pas le cas car les radars transmettent les données avions de façon asynchrone : pour obtenir les informations d‟avions ayant volé à une heure précise, il faut effectuer un filtrage sur une plage d‟heure et non sur l‟heure. C‟est pourquoi l‟image suivante utilise deux rangesliders (heure + marge).

Vecteur vitesse Etiquette

Leader

Symbole tête de chaîne Comète

2. Réalisation de l’étiquette radar

L‟étiquette radar regroupe les informations sur un avion. Elle est composée de la vitesse exprimée en Nœud sur la première ligne, du nom de l‟avion avec son indicatif (compagnie aérienne avec un numéro de vol) sur la deuxième ligne, de son niveau de vol (l‟altitude de l‟avion) exprimé en pied sur la troisième ligne.

Pour simplifier la réalisation de l‟étiquette, nous nous sommes cantonnés à afficher des informations textuelles : le nom de l‟avion et son code transpondeur (code identifiant l‟avion). Pour afficher l‟étiquette, nous avons créé deux couches, une par information à afficher. Nous avons choisi d‟afficher sur l‟écran en X-Y les données des champs X-Y avec du texte correspondant aux champs SSR (code transpondeur) et CallSign (nom de l‟avion).

Nous retrouvons le même problème que pour le vecteur vitesse avec l‟affichage de toutes les étiquettes, la visualisation est rendue inexploitable.

Pour y remédier, on peut utiliser un filtrage dynamique sur le temps, mais la visualisation n‟est toujours pas optimale car les données ne sont pas uniformes : tous les champs des

enregistrements ne sont pas renseignés au même instant (time_Of_Plot), il en résulte des étiquettes sans information car renseignées plus tard.

La seule solution consiste à modifier le Data Flow en introduisant des systèmes de mémoire pour conserver des informations à ne pas dupliquer : dans notre cas, on affiche le CallSign de l‟avion seulement s‟il n‟est pas déjà affiché. Une limitation de cette méthode est le choix de la position d‟affichage de la donnée textuelle. Dans notre cas elle est affichée avec la première donnée contenant l‟information textuelle de chaque avion.

Notre jeu de données est ordonné dans le temps (car les données radar arrivent ordonnées dans le temps), il en résulte l‟affichage du nom de l‟avion sur le premier plot de chaque trajectoire. C‟est un choix de design convenable mais non paramétrable avec notre modèle de mémorisation.

3. Réalisation de la comète radar

La réalisation de la comète est un peu plus complexe car la fonction de transformation fait intervenir le temps courant. En effet, la comète est composée de plusieurs points qui correspondent aux positions passées de l‟avion. Chaque position a une taille qui dépend de l‟ancienneté du plot radar (par rapport au temps courant) : la plus grande taille correspond à la position la plus récente, la plus petite, à la position la plus ancienne.

Les connexions entre les champs des données et les variables visuelles sont simples :

L‟image suivante correspond à l‟affichage d‟une comète par avion avec toutes les données du jeu (dans ce cas une heure d‟enregistrement radar au-dessus de Bordeaux).

Time_Of_Plot

Pour la création de la comète, nous avons besoin des positions des avions entre deux instants correspondant au début et la fin de la comète. Ensuite, il faut que la taille de chaque plot corresponde à son ancienneté. Nous sommes obligés d‟utiliser le filtrage pour n‟afficher que les plots radar concernant la comète entre deux instants : filtrage de l‟heure du plot radar avec comme borne supérieure l‟heure du plot radar pour la tête de la comète et comme borne inférieure l‟heure du plot radar de la queue de la comète.

De plus, la taille de chaque point doit être calculée en fonction du champ Time_Of_Plot en prenant garde d‟obtenir la taille maximale et minimale en fonction des bornes du filtre. Les deux images suivantes correspondent à l‟affichage de la comète entre les bornes définies par le rangeslider Time_Of_Plot. Dans ce cas la taille des plots radar est directement proportionnelle aux valeurs des bornes du rangeslider, alors que le visuel recherché doit produire des plots avec une taille fixe : les plots radar qui ont le champ Time_Of_Plot égal à la valeur minimale du rangeslider doivent avoir la taille minimale à l‟écran, les plots radar qui ont le champ Time_Of_Plot égal à la valeur maximale du rangeslider doivent avoir la taille maximale à l‟écran.

L‟image suivante illustre le filtrage avec une sélection sur la plage basse des heures. Il en résulte une faible taille de comète sur toute sa longueur.

Time_Of_Plot

L‟image suivante illustre le filtrage avec une sélection sur la plage haute des heures. Il en résulte une taille de comète épaisse sur toute sa longueur.

Time_Of_Plot

Si on prend en compte les valeurs des bornes de sélection du rangeslider Time_Of_Plot, on obtient une image qui produit la comète avec les bons paramètres de design.

4. Image radar complète

Un fois toutes les couches assemblées, nous obtenons l‟image radar utilisée par les contrôleurs aériens :

 Une couche pour le vecteur vitesse,

 Une couche pour la comète,

 Une couche pour l‟étiquette radar.