1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
# Deck.gl
deck.gl is a WebGL-powered framework for visual exploratory data analysis of large datasets which has a Python layer available under [pydeck](https://pydeck.gl/).
trame leverages pydeck (see documentation and examples [here](https://deckgl.readthedocs.io/en/latest/)) to build data layers which deck.gl then renders. Developers can make interactive data layers on top of base map providers like [Mapbox](https://github.com/Kitware/trame/blob/3cec4490d9a550d61e44dc1a4c1b059c66a2ce54/examples/v1/PlainPython/GeoMaps/MappingDemo/app.py#L10).
[](https://deckgl.readthedocs.io/en/latest/)
## How to use it?
```python
from trame.html import deckgl
import pydeck as pdk
# Make data layer with pydeck
deck = pdk.Deck(**pydeck_parameters)
deck2 = pdk.Deck(**pydeck_parameters_2) # make a change
# Deck.gl component properties
deckgl_options = {
"mapboxApiKey": ..., # api token for mapbox layer
"tooltip": False, # whether to show tooltip
"customLibraries": ..., # deckgl add-ons
}
# Method 1 ----------------------------------------------------------------------
deck_component = deckgl.Deck(
deck=deck, # Deck of layers to render
**deckgl_options,
)
deck_component.update(deck2) # Make changes
# Method 2 ----------------------------------------------------------------------
deck_component2 = deckgl.Deck(
name="myDeck", # Shared state name for deck
**deckgl_options,
)
deck_component2.update(deck) # Set deck
deck_component2.update(deck2) # Make changes
```
## Examples
- [API](https://trame.readthedocs.io/en/latest/trame.html.deckgl.html)
- [GeoMaps/UberPickupsNYC](https://github.com/Kitware/trame/blob/master/examples/v1/PlainPython/GeoMaps/UberPickupsNYC)
- [GeoMaps/MappingDemo](https://github.com/Kitware/trame/blob/master/examples/v1/PlainPython/GeoMaps/MappingDemo)
|