3.1 Layer Style Types
Each map layer’s style array holds one or more sub-layers. The sub-layer type must match the source geometry and determines which paint properties and GG processors apply. Pantograf merges standard MapLibre types with geometry-generated (GG) types in MapLayerStyleTypes.
Configure sub-layers in Layer Symbology; paint keys for each type are listed in 3.2 Paint Properties.
Base geometry → MapLibre types
| Geometry | Allowed type values |
|---|---|
| polygon | fill, fill-extrusion, symbol, line, as-filter |
| line | line, symbol |
| point | circle, symbol, heatmap |
Source keys in project data use synonyms normalized by geometry:
| Canonical | Accepted source geomtype values |
|---|---|
| polygon | polygon, multipolygon |
| line | line, multiline, linestring, multilinestring |
| point | point, multipoint |
Geometry-generated (GG) types
GG types are appended to the same geometry rows above (see 3.5 Geometry Generated (GG)):
GG type | Base geometry | Renders as |
|---|---|---|
gg_inverse-fill | polygon | fill (inverted mask) |
gg_ngon-fill | point | fill (regular n-gon at each point) |
gg_ngon-fill-extrusion | point | fill-extrusion |
gg_line-interpolate | line | circle (points along line) |
gg_point-vector | point | line (direction vectors) |
gg_3dsymbol | point | custom (3D symbol + optional drop line) |
gg_fill-extrusion-floors | polygon | fill-extrusion (stacked floors) |
Merged picker (MapLayerStyleTypes)
After merging, the Layer Symbology type dropdown offers:
Polygon: fill, fill-extrusion, symbol, line, as-filter, gg_inverse-fill, gg_fill-extrusion-floors
Line: line, symbol, gg_line-interpolate
Point: circle, symbol, heatmap, gg_ngon-fill, gg_ngon-fill-extrusion, gg_point-vector, gg_3dsymbol
Sub-layer JSON skeleton
{
"id": "my-layer-fill",
"type": "fill",
"source": "source-id-on-map",
"source-layer": "optional-mvt-layer-name",
"filter": ["==", ["get", "visible"], true],
"paint": {
"fill-color": "#FF2F00",
"fill-opacity": 0.8
},
"gg_params": {}
}
as-filter— masks or clips other layers; paint usesFilteredLayer(layer id list) andType(include/exclude).gg_params— only for GG types; see 3.5 Geometry Generated (GG).labelon the parent layer — pair[subLayerId, attributeName]for feature popups; use- None -to exclude a sub-layer from queries.
Keywords
layer, style, types, polygon, line, point, fill, extrusion, symbol, circle, heatmap, filter, gg, maplibre, geometry, sublayer