Ich habe ein Projekt mit OpenLayers, das Radardaten auf einer Karte anzeigt. Die Radardaten selbst sind nur eine Reihe von Polygonen, von denen jedes mit einer von 6 möglichen Farben gefüllt ist. Ziel ist es, das Radar auf der Karte zu animieren. Jede Datei enthält Radardaten für eine bestimmte Zeit und die Dateien sind etwa 5 Minuten voneinander entfernt. Mein aktueller Ansatz besteht darin, alle Dateien zu durchlaufen und sie einzeln in neue separate Ebenen zu laden. Sobald jeder Layer erstellt wurde, wird seine Sichtbarkeit auf false gesetzt und der Karte hinzugefügt. Ich animiere dann die Ebenen mit einem Timer, der die Sichtbarkeit einer Ebene aktiviert und die Sichtbarkeit der vorhergehenden Ebene deaktiviert. Derzeit sind die Ebenen alle Vektorebenen und die Daten werden aus KML-Dateien geladen, obwohl die Datendateien so ziemlich jedes Format haben können, das für dieses Projekt am besten geeignet ist.
Das Problem bei diesem Ansatz ist, dass der Speicherverbrauch ziemlich hoch wird (ungefähr 250 MB), sobald ich eine ziemlich große Zeitspanne (ungefähr 3 Stunden) von Daten erreicht habe (was ungefähr 36 Schichten entspricht). Das Endprodukt soll in der Lage sein, bis zu 18 Stunden Daten in einer Schleife zu verarbeiten, was basierend auf der obigen Anzahl mehr als 1 GB Speicher nur für die Animation erfordern würde und wahrscheinlich den Browser zum Absturz bringen oder ihn zumindest sehr träge machen würde.
Ich habe das gleiche versucht, indem ich WMS-Ebenen für jede Ebene verwendet habe, aber das Neuzeichnen war zu langsam (die Animation wechselt die Ebenen alle 100 ms) und der Speicherverbrauch war nicht viel besser als bei der Vektorversion.
Ich habe das Netz durchsucht, um ein Beispiel dafür zu finden, aber bisher bin ich mit leeren Händen aufgetaucht. Hat da draußen jemand Vorschläge, wie das geht? Ich nehme alle Ideen auf, die Sie an dieser Stelle haben, da ich seit Wochen daran festhalte und keine Antwort in Sicht bin.
quelle
Haben Sie darüber nachgedacht, die Vektorebenen zu vereinfachen, um ihre Dateigröße zu verringern? Wenn die Polygone mehr Scheitelpunkte enthalten, als für die Anzeige benötigt werden, wird durch Vereinfachung (Glättung) der Dateigröße die Dateigröße reduziert und die Detailkosten reduziert. Ich bin nicht sicher, welche Software Ihnen zur Verfügung steht, aber mehrere GIS-Desktopanwendungen enthalten eine Geoverarbeitungsfunktion, um die Funktionen zu vereinfachen.
quelle
Abgesehen von der Vereinfachung der Daten (selbst ein wenig kann viel Platz sparen) haben Sie MapServer oder eine andere Methode ausprobiert, um Ihre Daten in transparente Kacheln umzuwandeln und eine Kartenebene zu erstellen, die über der Hintergrundebene liegt. Ich habe diesen Ansatz mit Choroplethen-Karten gesehen, die Hunderttausende von Polygonen (oder Markierungen) enthalten, konnte ihn jedoch aufgrund der serverseitigen Anforderungen noch nicht selbst ausprobieren.
quelle