# visgl/deck.gl

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/visgl-deck-gl).**

13,875 stars · 2,194 forks · TypeScript · mit

## Links

- GitHub: https://github.com/visgl/deck.gl
- Homepage: https://deck.gl
- awesome-repositories: https://awesome-repositories.com/repository/visgl-deck-gl.md

## Topics

`data-visualization` `geospatial-analysis` `javascript` `maps` `python` `visualization` `webgl`

## Description

This project is a declarative visualization library and geospatial framework designed for rendering large-scale data sets within web browsers. It functions as a high-performance graphics engine that leverages hardware acceleration to display complex 2D and 3D visual layers, enabling the visualization of millions of data points through a structured, component-based syntax.

The framework distinguishes itself through its ability to synchronize custom data visualizations with third-party mapping platforms. By managing camera states and coordinate systems, it allows developers to overlay high-performance data directly onto existing map interfaces. It supports advanced spatial analysis by providing tools for multi-viewport layouts, interactive widgets, and dynamic data filtering, ensuring that complex information remains navigable and responsive.

Beyond its core mapping capabilities, the library provides a comprehensive suite of tools for managing the rendering lifecycle, including support for incremental data loading, animation interpolation, and spatial data aggregation. It offers a flexible architecture for composing visual scenes, allowing for the integration of custom geometries, lighting effects, and interactive callbacks to facilitate deep data exploration.

## Tags

### Graphics & Multimedia

- [Camera Projection Systems](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/coordinate-viewport-transformations/camera-projection-systems.md) — Synchronizes internal camera matrices with external map providers to project abstract data coordinates into screen space.
- [Geospatial Visualizations](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations.md) — Synchronizes camera states and coordinate systems to display high-performance data over interactive maps. ([source](https://deck.gl/docs/developer-guide/base-maps/using-with-mapbox))
- [Mapping Libraries](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/mapping-libraries.md) — Synchronizes camera viewports and coordinate systems with third-party mapping engines. ([source](https://deck.gl/docs/get-started/using-standalone))
- [Hardware-Accelerated Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering.md) — Leverages hardware-accelerated graphics to render massive geospatial and complex datasets. ([source](https://deck.gl/docs))
- [GPU-Accelerated UI Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/gpu-accelerated-ui-rendering.md) — Uses programmable shaders to draw multiple data layers onto a single canvas for high-performance visualization.
- [WebGL & GPU Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/webgl-gpu-rendering.md) — Functions as a WebGL-based graphics engine for rendering massive datasets and complex geometries in the browser.
- [Camera Interaction Controllers](https://awesome-repositories.com/f/graphics-multimedia/camera-systems/camera-interaction-controllers.md) — Manages 2D and 3D navigation using specialized controllers that support defined bounds and smooth interactions. ([source](https://deck.gl/docs/whats-new))
- [Cross-Platform Rendering Layers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering/cross-platform-rendering-layers.md) — Composes multiple visual layers on a single canvas using hardware-accelerated rendering. ([source](https://deck.gl/docs/api-reference/core/deck))
- [Viewport-Aware Tiling](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers/viewport-aware-tiling.md) — Fetches and renders data incrementally based on current camera bounds to maintain performance with massive datasets.
- [Data Visualization Scales](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/mapping-libraries/data-visualization-scales.md) — Maps raw data properties to visual attributes like color, size, and position using functional accessors. ([source](https://deck.gl/docs/developer-guide/using-layers))
- [Overlay Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/post-processing-pipelines/multi-pass-rendering-pipelines/real-time-rendering-engines/overlay-rendering-engines.md) — Displays high-performance data layers as transparent overlays on maps and viewports. ([source](https://deck.gl/docs/get-started/using-standalone))
- [Picking Buffers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines/texture-mapping-pipelines/render-to-texture-buffers/picking-buffers.md) — Renders hidden object identifiers to an off-screen buffer to enable rapid spatial queries and interaction detection.
- [Large Scale Processing](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/image-processing/large-scale-processing.md) — Utilizes hardware-accelerated pipelines to render massive datasets with high performance. ([source](https://deck.gl/docs/get-started/getting-started))
- [3D Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/3d-rendering-engines.md) — Supports the projection and real-time rendering of complex 3D models and scene graphs. ([source](https://deck.gl/docs/get-started/getting-started))
- [State Transition Animators](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/programmatic-animation-apis/state-transition-animators.md) — Calculates intermediate visual states between data updates to provide smooth transitions for dynamic properties.
- [3D Visual Effects](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/mathematical-visualization-engines/3d-surface-visualizations/3d-visual-effects.md) — Enhances spatial visualizations with lighting, shadows, and post-processing effects. ([source](https://deck.gl/docs/api-reference/arcgis/overview))

### User Interface & Experience

- [Declarative Visualization Frameworks](https://awesome-repositories.com/f/user-interface-experience/declarative-visualization-frameworks.md) — Uses a declarative syntax to construct complex, multi-layered visual scenes for data representation.
- [Visual Layering Systems](https://awesome-repositories.com/f/user-interface-experience/visual-layering-systems.md) — Overlays multiple distinct visualization layers to build complex, multi-layered data representations. ([source](https://deck.gl/docs/developer-guide/using-layers))
- [Data Visualization Components](https://awesome-repositories.com/f/user-interface-experience/data-visualization-components.md) — Constructs complex visualizations using declarative syntax to define layers and widgets as nested components. ([source](https://deck.gl/docs/get-started/using-with-react))
- [Multi-Viewport Layouts](https://awesome-repositories.com/f/user-interface-experience/layout-utilities/multi-viewport-windowing-systems/multi-viewport-layouts.md) — Arranges independent camera views and interactive widgets on a single canvas to display diverse perspectives of spatial data.
- [Viewport Navigation Controls](https://awesome-repositories.com/f/user-interface-experience/viewport-navigation-controls.md) — Applies pan, zoom, and rotation controls to camera views to facilitate user navigation through data. ([source](https://deck.gl/docs/api-reference/core/deck))
- [Interactive Data Interfaces](https://awesome-repositories.com/f/user-interface-experience/interactive-data-interfaces.md) — Triggers custom logic in response to user interactions with rendered data elements. ([source](https://deck.gl/docs/api-reference/arcgis/overview))
- [Interactive Widgets](https://awesome-repositories.com/f/user-interface-experience/interactive-widgets.md) — Provides modular controls and information displays that interact with map cameras and data layers. ([source](https://deck.gl/docs/whats-new))
- [Layout Management](https://awesome-repositories.com/f/user-interface-experience/layout-management.md) — Arranges multiple independent viewports on a single canvas to display diverse data perspectives simultaneously. ([source](https://deck.gl/docs/whats-new))
- [Render Lifecycle Controllers](https://awesome-repositories.com/f/user-interface-experience/content-rendering-components/render-lifecycle-controllers.md) — Manages the lifecycle of visual layers, including resource cleanup and state synchronization during rendering updates. ([source](https://deck.gl/docs/api-reference/core/deck))

### Web Development

- [Map Data Overlays](https://awesome-repositories.com/f/web-development/data-mapping/map-data-overlays.md) — Synchronizes custom data visualizations with third-party mapping platforms to overlay information directly on maps.
- [Visual Attribute Mappings](https://awesome-repositories.com/f/web-development/standard-html-attribute-mapping/visual-attribute-mappings.md) — Transforms raw data properties into visual attributes using accessor functions during the render loop.

### Data & Databases

- [Declarative Visualization Languages](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/declarative-visualization-languages.md) — Constructs complex scenes using structured data formats instead of imperative code. ([source](https://deck.gl/docs/get-started/getting-started))
- [Geospatial Data & Services](https://awesome-repositories.com/f/data-databases/geospatial-data-services.md) — Provides high-performance rendering of complex geographic information and spatial datasets. ([source](https://deck.gl/docs/whats-new))
- [Geospatial Data Structures](https://awesome-repositories.com/f/data-databases/geospatial-data-structures.md) — Renders complex geospatial data layers using high-performance graphics techniques. ([source](https://deck.gl/docs/api-reference/arcgis/overview))
- [Spatial Aggregation Functions](https://awesome-repositories.com/f/data-databases/spatial-data-extensions/spatial-aggregation-functions.md) — Provides hardware-accelerated spatial aggregation functions to summarize large datasets into grids or hexagons for visualization. ([source](https://deck.gl/docs/whats-new))
- [Data Visualization](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/data-visualization.md) — Transforms raw data points into summarized visual representations like heatmaps and hexagonal bins. ([source](https://deck.gl/docs/get-started/getting-started))
- [Dynamic Filtering](https://awesome-repositories.com/f/data-databases/dynamic-filtering.md) — Implements dynamic filtering to hide or highlight map features based on spatial boundaries and data categories. ([source](https://deck.gl/docs/whats-new))
- [Spatial Querying](https://awesome-repositories.com/f/data-databases/data-querying/spatial-querying.md) — Enables retrieval of rendered objects at specific screen coordinates or within spatial bounding boxes. ([source](https://deck.gl/docs/api-reference/core/deck))
- [Data Streaming](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/stream-processing-systems/data-streaming.md) — Handles continuous streams of data objects for efficient real-time visualization. ([source](https://deck.gl/docs/developer-guide/using-layers))

### Scientific & Mathematical Computing

- [Map Integration](https://awesome-repositories.com/f/scientific-mathematical-computing/data-modeling-processing/geospatial-and-location-services/location-services/map-integration.md) — Overlays custom data points and shapes directly on top of existing third-party map interfaces. ([source](https://deck.gl/docs/whats-new))

### Software Engineering & Architecture

- [Declarative Scene Graphs](https://awesome-repositories.com/f/software-engineering-architecture/declarative-scene-graphs.md) — Organizes complex visual scenes as structured trees that manage their own lifecycle and rendering state.
- [High-Performance Rendering](https://awesome-repositories.com/f/software-engineering-architecture/high-performance-rendering.md) — Leverages hardware-accelerated rendering pipelines to display millions of objects smoothly within the browser.
- [Viewport-Based Data Loaders](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/large-dataset-optimizations/viewport-based-data-loaders.md) — Fetches and renders map tiles based on the current viewport to display massive datasets efficiently. ([source](https://deck.gl/docs/whats-new))
- [Visualization Extenders](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/visualization-extenders.md) — Integrates community modules and experimental layer packs to add specialized functionality to visual scenes. ([source](https://deck.gl/docs))

### Development Tools & Productivity

- [Third-Party Service Integrations](https://awesome-repositories.com/f/development-tools-productivity/third-party-service-integrations.md) — Connects the rendering engine to third-party geospatial platforms using specialized adapters. ([source](https://deck.gl/docs/get-started/getting-started))
