J'ai un projet utilisant OpenLayers qui affiche des données radar sur une carte. Les données radar elles-mêmes ne sont qu'un groupe de polygones, chacun étant rempli d'une des 6 couleurs possibles. Le but est d'animer le radar sur la carte. Chaque fichier contient des données radar pour un temps donné et les fichiers sont séparés d'environ 5 minutes, mon approche actuelle consiste donc à parcourir tous les fichiers et à les charger un par un dans de nouvelles couches distinctes. Une fois que chaque couche est créée, sa visibilité est définie sur false et elle est ajoutée à la carte. J'anime ensuite les calques à l'aide d'une minuterie qui active la visibilité d'un calque et désactive la visibilité du calque précédent. Actuellement, les couches sont toutes des couches vectorielles et les données sont chargées à partir de fichiers KML bien que les fichiers de données puissent être à peu près n'importe quel format qui fonctionnera le mieux pour ce projet.
Le problème avec cette approche est qu'une fois que j'ai atteint une période de temps assez longue (environ 3 heures environ) de données (ce qui équivaut à environ 36 couches), la consommation de mémoire devient assez élevée (environ 250 Mo). Le produit final est censé être capable de gérer jusqu'à 18 heures de données dans une boucle, ce qui, sur la base du nombre ci-dessus, nécessiterait plus de 1 Go de mémoire uniquement pour l'animation et planterait probablement le navigateur ou au moins le rendrait très lent.
J'ai tenté la même chose en utilisant des couches WMS pour chaque couche mais le redessin était trop lent (l'animation change de couche toutes les 100 ms) et la consommation de mémoire n'était pas beaucoup meilleure que la version vectorielle.
J'ai parcouru le filet en essayant de trouver un exemple de la façon de procéder, mais jusqu'à présent, je suis les mains vides. Quelqu'un a-t-il des suggestions sur la façon de procéder? Je vais prendre toutes les idées que vous avez à ce stade car je suis coincé là-dessus depuis des semaines sans aucune réponse en vue.