Je cherche des approches pour compresser une grande quantité (et une croissance dynamique) de données pour la visualisation dans une vue graphique.Approches pour une visualisation rapide d'une énorme quantité de données
Disons que j'ai un fichier binaire composé de paires de valeurs d'horodatage. Ce fichier est en croissance en temps réel et peut facilement dépasser plusieurs gigaoctets.
Il existe maintenant plusieurs vues affichant ces données sous forme de graphique/tracé. Puisque dans la plupart des cas, il y a beaucoup plus de données que de pixels sur notre axe des x, nous devons compresser ces données d'une manière ou d'une autre à la résolution désirée. Chaque vue peut nécessiter une résolution différente en fonction de sa taille sur l'écran. Un zoom avant et arrière entraînera également des changements rapides de cette résolution.
L'algorithme actuel divise les données en sections de longueur égale et calcule la valeur minimale et maximale. Maintenant, pour chaque pixel sur notre axe des x, nous dessinons une ligne verticale de la valeur min à la valeur max. De cette façon, nous pouvons être sûrs de ne pas manquer les valeurs aberrantes. (Ce qui est une exigence)
Chaque fois qu'une nouvelle résolution est nécessaire, nous devons choisir une autre longueur de section et parcourir tout le fichier, ce qui est un moyen de ralentir.
Une solution serait de créer une sorte de couche de mise en cache nous permettant de faire des appels (à temps constant) pour des données de différentes résolutions. Malheureusement, je ne sais pas comment mettre en place un tel cache d'une manière qui nous montre encore des valeurs aberrantes.
Avez-vous des conseils ou de la documentation sur les approches de ce genre de problème?
L'environnement est Microsoft .net mais cela ne devrait pas faire de différence puisqu'il s'agit d'idées générales.
Merci d'avance.
Merci. La réponse a été très utile. Nous avons finalement accepté de l'appliquer de cette façon. –