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.