Schauen Sie sich die Live-Demo an
Dieses Projekt ist ein Experiment zur clientseitigen Datenverarbeitung und Visualisierung. Der Großteil des Codes in diesem Projekt stammt von https://github.com/cambecc/earth und wurde umgestaltet, um eine einfachere Anwendung auf eine Vielzahl von Mapping-APIs und Frameworks zu unterstützen.
Der Code für dieses Projekt verwendet ausschließlich ein HTML5-Canvas-Element und reines Javascript. Die Daten stammen vom Global Forecast System, das eine große Vielfalt an Datensätzen als kontinuierliche globale Rasterdatensätze erzeugt (weitere Informationen unten). Die Daten werden an eine JS-Klasse namens Windy
übergeben, die die Grenzen der Karte, der Daten und des Canvas-Elements übernimmt und dann eine bilineare Interpolation anwendet, um eine glatte Oberfläche zu erzeugen. Sobald die Oberfläche generiert wurde, platziert eine Funktion zufällig „Partikel“ an zufälligen x/y-Punkten auf der Leinwand. Jedes Teilchen wird dann „entwickelt“ und bewegt sich in eine Richtung und mit einer Geschwindigkeit, die durch die interpolierte Oberfläche vorgegeben wird.
Bevor GFS-Daten mit diesem Code verwendet werden können, müssen sie in JSON konvertiert werden. Dazu haben wir ein weiteres tolles Projekt von @cambecc namens grib2json
verwendet. Dieses Tool konvertiert Daten im GRIB2-Dateiformat in eine JSON-Struktur, wobei das Raster als Array dargestellt wird. Ein Beispielergebnis dieses Tools ist in der Datei gfs.json
zu sehen.
Finden Sie einen Fehler oder möchten Sie eine neue Funktion anfordern? Bitte teilen Sie uns dies mit, indem Sie ein Problem einreichen.
Esri freut sich über Beiträge von jedermann. Bitte beachten Sie unsere Richtlinien für Beiträge.
Der gesamte Dank für diese Arbeit geht an @cambecc für die Erstellung von cambecc/earth. Der Großteil dieses Codes stammt direkt von dort, da er absolut großartig ist.
Dieses Projekt erbt eine MIT-Lizenz von cambecc/earth, da 95 % des Codes hier von diesem Projekt kopiert wurden.
Eine Kopie der Lizenz ist in der Datei „license.txt“ des Repositorys verfügbar.