deck.gl | Website
GPU-powered, highly performant large-scale data visualization
deck.gl is designed to simplify high-performance, WebGL2/WebGPU based visualization of large data sets. Users can quickly get impressive visual results with minimal effort by composing existing layers, or leverage deck.gl's extensible architecture to address custom needs.
deck.gl maps data (usually an array of JSON objects) into a stack of visual layers - e.g. icons, polygons, texts; and look at them with views: e.g. map, first-person, orthographic.
deck.gl handles a number of challenges out of the box:
- Performant rendering and updating of large data sets
- Interactive event handling such as picking, highlighting and filtering
- Cartographic projections and integration with major basemap providers
- A catalog of proven, well-tested layers
Deck.gl is designed to be highly customizable. All layers come with flexible APIs to allow programmatic control of each aspect of the rendering. All core classes such are easily extendable by the users to address custom use cases.
Flavors
Script Tag
<script src="https://unpkg.com/deck.gl@latest/dist.min.js"></script>
NPM Module
npm install deck.gl
Pure JS
React
Python
pip install pydeck
Third-Party Goodies
- deckgl-typings (Typescript)
- mapdeck (R)
- vega-deck.gl (Vega)
- earthengine-layers (Google Earth Engine)
- deck.gl-native (C++)
- deck.gl-raster (Computation on rasters)
Learning Resources
- API documentation for the latest release
- Website demos with links to source
- Interactive playground
- deck.gl Codepen demos
- deck.gl Observable demos
- vis.gl Medium blog
- deck.gl Slack workspace
Contributing
deck.gl is part of vis.gl, an OpenJS Foundation project. Read the contribution guidelines if you are interested in contributing.
Attributions
Data sources
Data sources are listed in each example.