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.
la source
Avez-vous envisagé de simplifier les couches vectorielles pour réduire leur taille de fichier. Si les polygones contiennent plus de sommets que nécessaire pour les besoins de votre affichage, leur simplification (lissage) réduira la taille du fichier avec le coût de détails réduits. Je ne sais pas quel logiciel vous avez à votre disposition, mais plusieurs applications de bureau SIG contiennent une fonction de géotraitement pour simplifier les fonctionnalités.
la source
En plus de simplifier les données (même un peu peut économiser beaucoup d'espace), avez-vous essayé MapServer ou une autre façon de transformer vos données en mosaïques avec transparence et de créer une couche de carte à superposer à la couche d'arrière-plan. J'ai vu cette approche avec des cartes choroplèthes qui ont des centaines à des centaines de milliers de polygones (ou marqueurs), mais je n'ai pas encore pu l'essayer moi-même (en raison de l'exigence côté serveur).
la source