Appearance
Layer gallery
Every layer type the panel can build from query rows, with the query that produces it. Nineteen of kepler's twenty-six registered layer types can be driven by data — and the panel registers layer types of its own, shown with amber icons in kepler's layer menu: among them Streamlines and a vector field for a grid of velocities, Symbols for anything with a bearing, Markers for points you drag, a Zarr tileset for a store of arrays, Photos for a picture at each point, and XYZ tiles for a {z}/{x}/{y} tile server.
Two of kepler's own, a5 and geohash, are grid-index layers like H3 and S2, detected from a column's name. A third, kepler's Flow Field, draws streamlines through scattered velocities where the panel's Streamlines need a grid.
Many of these are easier to judge moving than in a still: they are drawing right now on the live demo dashboards, which anyone can open as a read-only viewer.
Of the seven that take a URL instead, two can now be driven by one as well — a query that returns a link to imagery draws a rasterTile layer, and one that names a service draws a wms layer. See Rasters and WMS services. The rest — vector tiles, 3D tiles, a bitmap, 3D models and kepler's own Zarr layer — and adding any of them by hand, are on Layers configured with a URL.
point
heatmap
grid
hexagon
cells
contour
cluster
voronoi
donut
geojson
hexagonId (H3)
s2
geohash
a5
arc
line
flow
trip
flowField
symbol
markers
vectorTile
tile3d
bitmap
3DWhich ones you get without asking
Some are built for you when the columns are right. The rest you add by hand in kepler's layer panel, choosing the dataset and pointing the layer's columns at it.
| Built automatically | Trigger |
|---|---|
| point | a latitude/longitude pair |
| geojson | a geometry column |
| hexagonId (H3) | a column whose values are valid H3 indices |
| geohash | a column named geohash, geo_hash or geohash_id. A geohash column also gives a Point layer at the cells' centres. See geohash. |
| a5 | a column named a5, a5_token or a5_id, holding hexadecimal cell ids. See a5. |
| trip | a trip id and a time and a position |
| flow | origin and destination columns |
| flowfield | a position and a velocity, and no trip id — a layer type this plugin adds, named Streamlines. kepler's own Flow Field would be created for the same grid, and is removed. See Velocity fields. |
| flowField | columns named exactly u and v beside a position, when the rows are not a regular grid — kepler's own Flow Field, which the panel leaves in place. See Velocity fields. |
| vectorfield | never guessed — switch a Streamlines layer's type, or add it from Add Layer. Arrows and wind barbs over the same grid. See Velocity fields. |
| symbol | a position and a numeric bearing, and no trip id — a layer type this plugin adds, named Symbols. The Point layer kepler would guess from the same coordinates is removed. See Symbols. |
| markers | never guessed — add it from Add Layer. Draggable reference points bound to dashboard variables; it draws nothing from its dataset. See Markers. |
| line | a query chosen in Draw as a route, or edges with source and target beside a query of nodes. See Routes and networks. |
| cells | never guessed — add it from Add Layer on a dataset with coordinates. Points counted in H3, A5, S2 or geohash cells at a level that follows the zoom. See cells. |
| photos | never guessed — add it from Add Layer on a dataset with coordinates and a column of picture addresses, and pick that column in its panel. A converted Geomap Photos layer is one. See photos. |
See How a query becomes a map.
About these images
Fifteen of them come from the plugin's own layer gallery dashboard, provisioning/dashboards/layers.json, which is provisioned into the dev Grafana and shows them on synthetic data around Cuenca, Ecuador. Bring it up with npm run server and open Kepler.gl layer gallery. The two the panel adds that the gallery does not carry — symbol and markers — are photographed on their own provisioned dashboards, symbols.json and markers.json. The seven kepler layers after them — geohash, a5, flowField, vectorTile, tile3d, bitmap and 3D — were photographed the same way on a test Grafana, from dashboards that are not provisioned, so npm run docs:shots does not retake them.
They are captured by npm run docs:shots, one panel at a time through Grafana's single-panel view — a dozen maps on one page would exceed the browser's WebGL context budget and black out the oldest. kepler's side panel and playback widget are hidden for the shot; they overlay the map rather than sitting beside it, so hiding them reveals the map underneath.
The gallery is a regression test
A layer type that stops rendering after a kepler.gl version bump is visible immediately as a blank map in a page you scroll. That is the reason it exists, and the reason it is worth keeping current.