A library of custom deck.gl layers used by Global Fishing Watch.
yarn add @globalfishingwatch/deck-layersBasemapLayer: Renders base map with bathymetry and landmassBasemapLabelsLayer: Renders map labels with localizationTilesBoundariesLayer: Debug layer for tile boundaries visualization
FourwingsLayer:FourwingsHeatmapLayer: Gridded heatmap visualizationFourwingsPositionsLayer: Individual vessel positions visualizationFourwingsClustersLayer: Clustered activity visualization
VesselLayer: Renders vessel composed with:VesselTracksLayer: Animated vessel track visualizationVesselEventsLayer: Visualization of vessel events
PolygonLayer: Custom polygon visualizationContextLayer: Known areas context visualizationUserContextTileLayer: Custom uploaded user data visualizationUserPointsTileLayer: User-defined point data visualizationGraticulesLayer: Renders graticules for the base map
DrawLayer: Interactive drawing tools for analysisRulerLayer: Ruler tool for measuring distances
nx build deck-layers
nx publish deck-layersTo generate the icon atlas (spritesheet) and JSON mapping file from individual PNG icons:
node scripts/generate-icon-atlas.jsThis script combines all PNG images from the icons/ directory into a single spritesheet (icon-atlas.png) and generates a JSON mapping file (icon-atlas.json) with icon coordinates.
Core dependencies:
@deck.gl/core: Core deck.gl library for WebGL-powered data visualization@deck.gl/layers: Standard deck.gl layer collection@deck.gl/geo-layers: Geospatial layers for deck.gl@deck.gl/mesh-layers: 3D mesh visualization layers@deck.gl-community/editable-layers: Interactive drawing and editing capabilities
Data Processing:
@loaders.gl/core: Data loading and parsing utilities@loaders.gl/mvt: Mapbox Vector Tile support@globalfishingwatch/deck-loaders: Custom data parsing@turf/helpers: Geospatial analysis utilitiesd3-scale: Data scaling and transformation
Peer Dependencies:
@luma.gl/core: WebGL rendering engine used by deck.gl
MIT