Skip to main content

Type Alias: SizeBy

SizeBy = { mode?: "continuous"; range: [number, number]; thresholds?: number[]; transform?: "linear" | "sqrt"; } | { mode: "stepped"; range: [number, number]; thresholds?: number[]; transform?: "linear"; }

Defined in: spec/types.ts:352

Proportional symbol configuration that maps the numeric mapData value to circle-radius via MapLibre expressions.

When mode is 'continuous' (default), the radius is linearly interpolated across the data range. A sqrt transform can be applied so that circle area (not radius) is proportional to the value — both the input value and the data bounds are transformed to sqrt space so output radii stay within [minRadius, maxRadius].

When mode is 'stepped', the data range is split into discrete bins by thresholds and each bin receives a fixed radius. The sqrt transform is not allowed in stepped mode.

Union Members​

Type Literal​

{ mode?: "continuous"; range: [number, number]; thresholds?: number[]; transform?: "linear" | "sqrt"; }

mode?​

optional mode?: "continuous"

Interpolation mode. Default (or omitted) is 'continuous'.

range​

range: [number, number]

Output radius range in pixels [minRadius, maxRadius]. Both must be > 0.

thresholds?​

optional thresholds?: number[]

Explicit break points. When omitted, thresholds are inherited from the active legend.

transform?​

optional transform?: "linear" | "sqrt"

Radius transformation. Default: 'linear'. Use 'sqrt' so circle AREA is proportional to the value.


Type Literal​

{ mode: "stepped"; range: [number, number]; thresholds?: number[]; transform?: "linear"; }

mode​

mode: "stepped"

Stepped mode: each bin receives a fixed radius.

range​

range: [number, number]

Output radius range in pixels [minRadius, maxRadius]. Both must be > 0.

thresholds?​

optional thresholds?: number[]

Explicit break points. When omitted, thresholds are inherited from the active legend.

transform?​

optional transform?: "linear"

Only 'linear' is allowed in stepped mode.