Manual/Guides

Styling Layers

The Style panel on the right edits the appearance of the layer selected in the Layers panel. Vector and raster layers each get their own set of controls. To open it for a specific vector layer, use that layer’s overflow menu and choose Open Style panel; the shared rail remains collapsed when another workspace (such as the notebook or StoryMap presenter) owns the panel.

Vector styling

For vector layers the Style panel covers fill, stroke, points, labels, and 3D extrusion:

  • Fill: fill color and fill opacity for polygons.
  • Stroke: line color and width for lines and polygon outlines.
  • Points: circle radius for point layers.
  • Labels: text field or expression, color, size, halo, placement, scale range, and data-defined overrides. Turning labels on selects a conventional name field automatically when one exists. Format numbers shows a numeric field with thousands and decimal separators (1234567.5 as 1,234,568), with a fixed number of Decimal places and Separators that follow the app language or are pinned to one style. Text values are unchanged; a label expression formats its own output with MapLibre’s number-format.
  • 3D extrusion: turn polygons into extruded blocks, with a height field, height scale, base height, and color. Advanced expressions are available for both height and color.

You can also set a per-style minimum and maximum zoom so a style only applies within a zoom range.

Point renderer (heatmap and clustering)

For point-only GeoJSON layers — whether dropped on the map, produced by a tool, or loaded through Add Vector Layer in the geojson render mode — the Style panel adds a Point renderer control:

RendererDescription
Single symbolOne circle per point (the default).
HeatmapA density surface colored from cold to hot. Adjust Heatmap radius (the kernel size in pixels) and Heatmap intensity.
ClusteredGroup nearby points into bubbles labeled with the count; zooming in splits them apart. Adjust the Cluster radius (in pixels) and the Cluster max zoom above which points stop clustering. Individual (unclustered) points keep the layer’s circle style.

The renderer choice is saved with the project.

A heatmap draws its density through a color Ramp: start from Default or a palette preset, or edit individual stops, after which the ramp shows as Custom. Zero density stays transparent. A numeric Weight field scales each point’s contribution; None (equal weight) counts every point once. The legend shows the gradient the map draws, in density order.

Style type (data-driven styling)

The Style type control chooses how feature values map to color:

Style typeDescription
Single symbologyOne uniform style for every feature.
GraduatedClassify a numeric field into classes with a color ramp. Choose the field, the number of classes, a classification scheme (such as equal interval or quantile), and a colormap.
CategorizedAssign a color per unique category value of a field.
ExpressionDrive styling with a custom MapLibre expression for full control.

For graduated and categorized styles, Meratyn generates the class breaks or category stops and shows them in the panel, where you can fine-tune individual colors before applying.

Changing, adding, or removing a graduated break switches the scheme to Manual. A manual scheme keeps its breaks: choosing another color ramp recolors them instead of reclassifying, and choosing a computed scheme again regenerates the breaks from the data. Standard deviation classes are centered on the mean: an odd class count puts the middle class around the mean, an even count puts a break on the mean, and breaks beyond the data range are dropped. The legend names the classification method and the drawn class count beside the field.

When Use marker icon is enabled for a point layer, those same finite class colors apply to each built-in marker sprite and to custom SVG markers. Custom SVG sources can use QGIS’s param(fill) (and related fill/outline) placeholders; Meratyn replaces them in each rendered class sprite while preserving the saved inline, data-URL, or HTTPS source. Arbitrary color expressions can have unbounded outputs, so they retain the configured marker color rather than creating an unbounded sprite cache from feature data.

A Custom image marker is SVG markup or an image URL typed into the field, or a PNG, JPEG, GIF, or SVG file chosen with Upload image. Marker colors apply to SVG images only; PNG, JPEG, and GIF images draw as they are, fitted inside the marker size. An uploaded SVG is stored as markup and must be 512 KB or smaller.

Geometry generator

The Geometry generator section draws a derived centroid, bounding box, convex hull, or buffer over the source features. A buffer can use one fixed distance or a numeric Distance field. Field values are interpreted per feature; missing, blank, non-numeric, or non-scalar values use the fixed distance, while a value of 0 skips that feature. For centroid generators, choosing a numeric Size field maps its value range to the configured minimum and maximum point radii. An invalid or degenerate range falls back to the fixed point radius.

Importing Mapbox class layers

When a Mapbox GL style contains multiple filtered fill, line, or circle layers, the Style → Import command combines flat-color classes into a Meratyn rule-based renderer. Mapbox draws later layers on top, so imported rules are ordered with the top-most (later-drawn) class first. A class that omits its color uses the Mapbox style-spec default (#000000); an explicit null has the same meaning. A class with no flat color—because it is data-driven, or because a pattern/gradient paint supplies its rendering—is left in the first imported layer and produces a compatibility warning rather than being flattened to an incorrect solid color. If a class explicitly names a flat color, that color is retained. The imported rule ranges retain each class’s zoom bounds.

Layers the style’s author hid ("visibility": "none") do not compete with drawn layers: each render type imports from its bottom-most drawn layer, a hidden class is imported disabled, and only drawn classes set the zoom range. A style in which nothing is drawn, such as an export of a hidden layer, still imports.

A pattern fill exported by Meratyn records its built-in pattern and color in the render layer’s mappview:fill-pattern metadata, so importing the style (including a URL style or one layer of a multi-file export) restores the pattern instead of warning about a flat fill. Other clients ignore the entry and draw the flat fill color. A heatmap’s ramp and weight field are read back from its heatmap-color and heatmap-weight paint, with or without Meratyn metadata.

QGIS QML imports multiply a symbol’s alpha into its fill, outline, and line opacity, so a translucent symbol keeps its transparency.

Quick filters

The Quick filters section authors viewer-facing controls without requiring a MapLibre expression. Add a field, choose categories, number range, date range, or text, then use the controls from the layer row. Text comparisons are case-insensitive; date controls support ISO text, epoch milliseconds, and epoch seconds. Filter state is saved in the project and remains editable after reopen.

Advanced MapLibre paint expressions

Expand Advanced MapLibre paint to drive fill opacity, stroke color, stroke opacity, stroke width, or point radius with feature attributes and camera zoom. Each channel opens the same typed Expression Builder used by filters and labels. Meratyn validates the expression’s result type at authoring time, again when a project is loaded, and before it reaches MapLibre; an invalid value falls back to the matching literal control.

Saved projects and Style Manager entries retain these expressions. Mapbox GL style JSON imports and exports them on their native paint properties. QGIS QML and OGC SLD cannot represent arbitrary MapLibre expressions, so those exporters use the literal fallback values and show a compatibility warning.

Choropleth maps To make a choropleth, select Graduated, pick a numeric attribute, choose a colormap, and click Apply style type. See the Your First Map tutorial.

Raster styling

For raster layers the Style panel exposes image adjustments:

  • Brightness (minimum and maximum)
  • Saturation
  • Contrast
  • Hue rotation (in degrees)

These let you tune the look of GeoTIFF, COG, and tile-based raster layers without changing the underlying data.

Blend modes

The Blend mode selector controls how a layer’s pixels combine with the layers below it. Normal uses ordinary alpha compositing; Multiply, Screen, Lighten, and Add provide common darkening, lightening, and additive effects. The choice is saved in the layer style and applies to MapLibre-painted vector and raster layers. Labels remain on normal compositing so they stay legible. Plugin-owned or client-rendered layers keep their own renderer controls and do not expose this selector.

Legends and colorbars

To display a legend or a continuous colorbar on the map, open them from the Map menu. They reflect the styling you set here.

Blank background

Choose Change background and select Blank Background to close the picker and reveal Background appearance in the Layers panel. Pick a color and opacity to save them with the project.