/ol-airship-bridge

Proof of concept for a integration of Airship components with OpenLayers

Primary LanguageJavaScript

Screenshot

Live example here!

Airship components are UI widgets made for data visualization and available as web components:

This example uses OpenLayers 6.1.1 and its experimental WebGLPointsLayer to render the map.

A CSV dataset describing around 50,000 earthquakes is loaded at startup. All features are then added to the map with a style that show points with sizes dependent on the magnitude.

At the same time, all the features are also sent to a dedicated worker (using GeoJSON as an exchange format, as OL features are not serializable). The worker is then in charge of finding the features in the current view extent using vectorSource.getFeaturesInExtent and computing the data intended for the time series widget (buckets with start/end dates and an amount of features in each).

The worker then sends back only the buckets to the main thread, which injects the data in the time series widget.

To run the example, npm install && npm run start then navigate to http://localhost:8080.