Skip to content

Mapbox GL Types Reference

The mapbox_style module provides Pydantic models for Mapbox GL style specification types.

Layer Types

BackgroundLayer

elzar.generator.mapbox_style.BackgroundLayer

Bases: BaseModel

FillLayer

elzar.generator.mapbox_style.FillLayer

Bases: Layer

min_zoom class-attribute instance-attribute

min_zoom = Field(None, alias='minzoom')

Minimum zoom level at which the layer is visible.

max_zoom class-attribute instance-attribute

max_zoom = Field(None, alias='maxzoom')

Maximum zoom level at which the layer is visible.

filter class-attribute instance-attribute

filter = None

Filter expression to select features from the source layer.

source_layer class-attribute instance-attribute

source_layer = Field(alias='source-layer')

Layer within the vector tile source to use.

source instance-attribute

source

Name of the source to use for this layer.

FillExtrusionLayer

elzar.generator.mapbox_style.FillExtrusionLayer

Bases: Layer

min_zoom class-attribute instance-attribute

min_zoom = Field(None, alias='minzoom')

Minimum zoom level at which the layer is visible.

max_zoom class-attribute instance-attribute

max_zoom = Field(None, alias='maxzoom')

Maximum zoom level at which the layer is visible.

filter class-attribute instance-attribute

filter = None

Filter expression to select features from the source layer.

source_layer class-attribute instance-attribute

source_layer = Field(alias='source-layer')

Layer within the vector tile source to use.

source instance-attribute

source

Name of the source to use for this layer.

LineLayer

elzar.generator.mapbox_style.LineLayer

Bases: Layer

min_zoom class-attribute instance-attribute

min_zoom = Field(None, alias='minzoom')

Minimum zoom level at which the layer is visible.

max_zoom class-attribute instance-attribute

max_zoom = Field(None, alias='maxzoom')

Maximum zoom level at which the layer is visible.

filter class-attribute instance-attribute

filter = None

Filter expression to select features from the source layer.

source_layer class-attribute instance-attribute

source_layer = Field(alias='source-layer')

Layer within the vector tile source to use.

source instance-attribute

source

Name of the source to use for this layer.

SymbolLayer

elzar.generator.mapbox_style.SymbolLayer

Bases: Layer

min_zoom class-attribute instance-attribute

min_zoom = Field(None, alias='minzoom')

Minimum zoom level at which the layer is visible.

max_zoom class-attribute instance-attribute

max_zoom = Field(None, alias='maxzoom')

Maximum zoom level at which the layer is visible.

filter class-attribute instance-attribute

filter = None

Filter expression to select features from the source layer.

source_layer class-attribute instance-attribute

source_layer = Field(alias='source-layer')

Layer within the vector tile source to use.

source instance-attribute

source

Name of the source to use for this layer.

CircleLayer

elzar.generator.mapbox_style.CircleLayer

Bases: Layer

min_zoom class-attribute instance-attribute

min_zoom = Field(None, alias='minzoom')

Minimum zoom level at which the layer is visible.

max_zoom class-attribute instance-attribute

max_zoom = Field(None, alias='maxzoom')

Maximum zoom level at which the layer is visible.

filter class-attribute instance-attribute

filter = None

Filter expression to select features from the source layer.

source_layer class-attribute instance-attribute

source_layer = Field(alias='source-layer')

Layer within the vector tile source to use.

source instance-attribute

source

Name of the source to use for this layer.

Paint Classes

BackgroundPaint

elzar.generator.mapbox_style.BackgroundPaint

Bases: BaseModel

background_color class-attribute instance-attribute

background_color = Field(None, alias='background-color')

The color with which the background will be drawn.

background_opacity class-attribute instance-attribute

background_opacity = Field(None, alias='background-opacity')

The opacity at which the background will be drawn.

background_pattern class-attribute instance-attribute

background_pattern = Field(None, alias='background-pattern')

Name of image in sprite to use for drawing the background.

FillPaint

elzar.generator.mapbox_style.FillPaint

Bases: BaseModel

fill_antialias class-attribute instance-attribute

fill_antialias = Field(None, alias='fill-antialias')

Whether the fill should be antialiased.

fill_color class-attribute instance-attribute

fill_color = Field(None, alias='fill-color')

The color of the filled area.

fill_opacity class-attribute instance-attribute

fill_opacity = Field(None, alias='fill-opacity')

The opacity of the entire fill layer.

fill_outline_color class-attribute instance-attribute

fill_outline_color = Field(None, alias='fill-outline-color')

The outline color of the fill. Requires fill-antialias to be true.

fill_pattern class-attribute instance-attribute

fill_pattern = Field(None, alias='fill-pattern')

Name of image in sprite to use for drawing fill pattern.

fill_translate class-attribute instance-attribute

fill_translate = Field(None, alias='fill-translate')

Geometry offset in pixels [x, y].

FillExtrusionPaint

elzar.generator.mapbox_style.FillExtrusionPaint

Bases: BaseModel

fill_extrusion_base class-attribute instance-attribute

fill_extrusion_base = Field(None, alias='fill-extrusion-base')

Height at which the base of the extrusion starts, in meters.

fill_extrusion_color class-attribute instance-attribute

fill_extrusion_color = Field(None, alias='fill-extrusion-color')

The base color of the extruded fill.

fill_extrusion_height class-attribute instance-attribute

fill_extrusion_height = Field(None, alias='fill-extrusion-height')

Height of the extruded fill, in meters.

fill_extrusion_opacity class-attribute instance-attribute

fill_extrusion_opacity = Field(None, alias='fill-extrusion-opacity')

The opacity of the entire fill-extrusion layer.

fill_extrusion_pattern class-attribute instance-attribute

fill_extrusion_pattern = Field(None, alias='fill-extrusion-pattern')

Name of image in sprite for drawing the extrusion fill pattern.

fill_extrusion_translate class-attribute instance-attribute

fill_extrusion_translate = Field(None, alias='fill-extrusion-translate')

Geometry offset in pixels [x, y].

fill_extrusion_translate_anchor class-attribute instance-attribute

fill_extrusion_translate_anchor = Field(None, alias='fill-extrusion-translate-anchor')

Controls the frame of reference for fill-extrusion-translate.

fill_extrusion_vertical_gradient class-attribute instance-attribute

fill_extrusion_vertical_gradient = Field(None, alias='fill-extrusion-vertical-gradient')

Whether to apply a vertical gradient to the sides of the extrusion.

LinePaint

elzar.generator.mapbox_style.LinePaint

Bases: BaseModel

line_blur class-attribute instance-attribute

line_blur = Field(None, alias='line-blur')

Blur applied to the line, in pixels.

line_color class-attribute instance-attribute

line_color = Field(None, alias='line-color')

The color with which the line will be drawn.

line_dasharray class-attribute instance-attribute

line_dasharray = Field(None, alias='line-dasharray')

Dash pattern as alternating dash/gap lengths in line widths.

line_gap_width class-attribute instance-attribute

line_gap_width = Field(None, alias='line-gap-width')

Draws a line casing outside the actual line path. Value is the gap width in pixels.

line_gradient class-attribute instance-attribute

line_gradient = Field(None, alias='line-gradient')

Defines a gradient for coloring a line along its length.

line_offset class-attribute instance-attribute

line_offset = Field(None, alias='line-offset')

Line offset perpendicular to its direction, in pixels. Positive is right.

line_opacity class-attribute instance-attribute

line_opacity = Field(None, alias='line-opacity')

The opacity at which the line will be drawn.

line_pattern class-attribute instance-attribute

line_pattern = Field(None, alias='line-pattern')

Name of image in sprite to use for drawing the line pattern.

line_translate class-attribute instance-attribute

line_translate = Field(None, alias='line-translate')

Geometry offset in pixels [x, y].

line_translate_anchor class-attribute instance-attribute

line_translate_anchor = Field(None, alias='line-translate-anchor')

Controls the frame of reference for line-translate.

line_width class-attribute instance-attribute

line_width = Field(None, alias='line-width')

Stroke thickness in pixels.

SymbolPaint

elzar.generator.mapbox_style.SymbolPaint

Bases: BaseModel

icon_color class-attribute instance-attribute

icon_color = Field(None, alias='icon-color')

The color of the icon. Only works with SDF icons.

icon_halo_blur class-attribute instance-attribute

icon_halo_blur = Field(None, alias='icon-halo-blur')

Fade-out blur of the icon halo, in pixels.

icon_halo_color class-attribute instance-attribute

icon_halo_color = Field(None, alias='icon-halo-color')

The color of the icon halo. Only works with SDF icons.

icon_halo_width class-attribute instance-attribute

icon_halo_width = Field(None, alias='icon-halo-width')

Distance of halo to the icon outline, in pixels.

icon_opacity class-attribute instance-attribute

icon_opacity = Field(None, alias='icon-opacity')

The opacity at which the icon will be drawn.

icon_translate class-attribute instance-attribute

icon_translate = Field(None, alias='icon-translate')

Icon offset in pixels [x, y].

icon_translate_anchor class-attribute instance-attribute

icon_translate_anchor = Field(None, alias='icon-translate-anchor')

Controls the frame of reference for icon-translate.

text_color class-attribute instance-attribute

text_color = Field(None, alias='text-color')

The color with which the text will be drawn.

text_halo_blur class-attribute instance-attribute

text_halo_blur = Field(None, alias='text-halo-blur')

Fade-out blur of the text halo, in pixels.

text_halo_color class-attribute instance-attribute

text_halo_color = Field(None, alias='text-halo-color')

The color of the text halo for legibility.

text_halo_width class-attribute instance-attribute

text_halo_width = Field(None, alias='text-halo-width')

Distance of halo to the font outline, in pixels. Max text-halo-width is 1/4 of the font size.

text_opacity class-attribute instance-attribute

text_opacity = Field(None, alias='text-opacity')

The opacity at which the text will be drawn.

text_translate class-attribute instance-attribute

text_translate = Field(None, alias='text-translate')

Text offset in pixels [x, y].

text_translate_anchor class-attribute instance-attribute

text_translate_anchor = Field(None, alias='text-translate-anchor')

Controls the frame of reference for text-translate.

CirclePaint

elzar.generator.mapbox_style.CirclePaint

Bases: BaseModel

circle_blur class-attribute instance-attribute

circle_blur = Field(None, alias='circle-blur')

Amount to blur the circle. 1 blurs to the edge, 0 is sharp.

circle_color class-attribute instance-attribute

circle_color = Field(None, alias='circle-color')

The fill color of the circle.

circle_opacity class-attribute instance-attribute

circle_opacity = Field(None, alias='circle-opacity')

The opacity at which the circle will be drawn.

circle_radius class-attribute instance-attribute

circle_radius = Field(None, alias='circle-radius')

Circle radius in pixels.

circle_stroke_color class-attribute instance-attribute

circle_stroke_color = Field(None, alias='circle-stroke-color')

The stroke color of the circle.

circle_stroke_opacity class-attribute instance-attribute

circle_stroke_opacity = Field(None, alias='circle-stroke-opacity')

The opacity of the circle stroke.

circle_stroke_width class-attribute instance-attribute

circle_stroke_width = Field(None, alias='circle-stroke-width')

The width of the circle stroke, in pixels.

Layout Classes

BaseLayout

elzar.generator.mapbox_style.BaseLayout

Bases: BaseModel

visibility class-attribute instance-attribute

visibility = None

Whether the layer is displayed. 'visible' or 'none'.

LineLayout

elzar.generator.mapbox_style.LineLayout

Bases: BaseLayout

line_cap class-attribute instance-attribute

line_cap = Field(None, alias='line-cap')

Display of line endings. 'butt', 'round', or 'square'.

line_join class-attribute instance-attribute

line_join = Field(None, alias='line-join')

Display of line joins. 'bevel', 'round', or 'miter'.

line_mitter_limit class-attribute instance-attribute

line_mitter_limit = Field(None, alias='line-mitter-limit')

Limit at which miter joins are converted to bevel joins.

line_round_limit class-attribute instance-attribute

line_round_limit = Field(None, alias='line-round-limit')

Limit at which round joins are converted to miter joins.

line_sort_key class-attribute instance-attribute

line_sort_key = Field(None, alias='line-sort-key')

Sorts features within this layer. Lower values are drawn first.

visibility class-attribute instance-attribute

visibility = None

Whether the layer is displayed. 'visible' or 'none'.

SymbolLayout

elzar.generator.mapbox_style.SymbolLayout

Bases: BaseLayout

icon_allow_overlap class-attribute instance-attribute

icon_allow_overlap = Field(None, alias='icon-allow-overlap')

If true, the icon will be visible even if it collides with other icons.

text_allow_overlap class-attribute instance-attribute

text_allow_overlap = Field(None, alias='text-allow-overlap')

If true, the text will be visible even if it collides with other text.

text_transform class-attribute instance-attribute

text_transform = Field(None, alias='text-transform')

Transform text: 'none', 'uppercase', or 'lowercase'.

icon_anchor class-attribute instance-attribute

icon_anchor = Field(None, alias='icon-anchor')

Part of the icon placed closest to the anchor position.

icon_ignore_placement class-attribute instance-attribute

icon_ignore_placement = Field(None, alias='icon-ignore-placement')

If true, other symbols can be visible even if they collide with this icon.

icon_image class-attribute instance-attribute

icon_image = Field(None, alias='icon-image')

Name of image in sprite to use for the icon.

icon_offset class-attribute instance-attribute

icon_offset = Field(None, alias='icon-offset')

Offset of the icon from its anchor [x, y].

icon_optional class-attribute instance-attribute

icon_optional = Field(None, alias='icon-optional')

If true, text can render without the icon when icon collides.

icon_padding class-attribute instance-attribute

icon_padding = Field(None, alias='icon-padding')

Padding around the icon bounding box for collision detection, in pixels.

icon_pitch_alignment class-attribute instance-attribute

icon_pitch_alignment = Field(None, alias='icon-pitch-alignment')

Orientation of the icon when the map is pitched.

icon_rotate class-attribute instance-attribute

icon_rotate = Field(None, alias='icon-rotate')

Rotates the icon clockwise, in degrees.

icon_rotation_alignment class-attribute instance-attribute

icon_rotation_alignment = Field(None, alias='icon-rotation-alignment')

Combined with symbol-placement, determines icon rotation behavior.

icon_size class-attribute instance-attribute

icon_size = Field(None, alias='icon-size')

Scales the original size of the icon. 1 is original size.

icon_text_fit class-attribute instance-attribute

icon_text_fit = Field(None, alias='icon-text-fit')

Scales the icon to fit the text. Used for stretchable road shields.

icon_text_fit_padding class-attribute instance-attribute

icon_text_fit_padding = Field(None, alias='icon-text-fit-padding')

Padding [top, right, bottom, left] added to icon-text-fit dimensions.

symbol_avoid_edges class-attribute instance-attribute

symbol_avoid_edges = Field(None, alias='symbol-avoid-edges')

If true, symbols will not cross tile edges to avoid partial rendering.

symbol_placement class-attribute instance-attribute

symbol_placement = Field(None, alias='symbol-placement')

Placement of the symbol relative to its geometry. 'point', 'line', or 'line-center'.

symbol_sort_key class-attribute instance-attribute

symbol_sort_key = Field(None, alias='symbol-sort-key')

Sorts features within this layer. Lower values are drawn first and placed first.

symbol_spacing class-attribute instance-attribute

symbol_spacing = Field(None, alias='symbol-spacing')

Distance between symbol instances along a line, in pixels.

symbol_z_order class-attribute instance-attribute

symbol_z_order = Field(None, alias='symbol-z-order')

Controls the order of overlapping symbols.

text_field class-attribute instance-attribute

text_field = Field(None, alias='text-field')

Value to use for the text label. Expression or string template.

text_font class-attribute instance-attribute

text_font = Field(None, alias='text-font')

Font stack to use for displaying text.

text_size class-attribute instance-attribute

text_size = Field(None, alias='text-size')

Font size in pixels.

text_anchor class-attribute instance-attribute

text_anchor = Field(None, alias='text-anchor')

Part of the text placed closest to the anchor.

text_variable_anchor class-attribute instance-attribute

text_variable_anchor = Field(None, alias='text-variable-anchor')

Anchor positions to try in order when placing text. Enables automatic anchor selection.

text_justify class-attribute instance-attribute

text_justify = Field(None, alias='text-justify')

Text justification: 'auto', 'left', 'center', or 'right'.

text_offset class-attribute instance-attribute

text_offset = Field(None, alias='text-offset')

Offset of the text from its anchor [x, y] in ems.

text_radial_offset class-attribute instance-attribute

text_radial_offset = Field(None, alias='text-radial-offset')

Radial offset of text from its anchor, in ems. Overrides text-offset.

text_optional class-attribute instance-attribute

text_optional = Field(None, alias='text-optional')

If true, the icon can render without text when text collides.

text_padding class-attribute instance-attribute

text_padding = Field(None, alias='text-padding')

Padding around text bounding box for collision detection, in pixels.

text_max_width class-attribute instance-attribute

text_max_width = Field(None, alias='text-max-width')

Maximum width for text wrapping, in ems.

text_rotation_alignment class-attribute instance-attribute

text_rotation_alignment = Field(None, alias='text-rotation-alignment')

Combined with symbol-placement, determines text rotation behavior.

text_letter_spacing class-attribute instance-attribute

text_letter_spacing = Field(None, alias='text-letter-spacing')

Letter spacing in ems.

visibility class-attribute instance-attribute

visibility = None

Whether the layer is displayed. 'visible' or 'none'.

Style

Style

elzar.generator.mapbox_style.Style

Bases: BaseModel

id instance-attribute

id

Unique style identifier.

version class-attribute instance-attribute

version = 8

Style specification version. Always 8.

name class-attribute instance-attribute

name = 'NAMAE'

Human-readable style name.

sprite instance-attribute

sprite

URL template for the sprite image and metadata.

glyphs instance-attribute

glyphs

URL template for loading glyph PBF ranges.

sources instance-attribute

sources

Map of source ID to source definition.

layers instance-attribute

layers

Ordered list of layers in the style.

metadata class-attribute instance-attribute

metadata = None

Arbitrary metadata about the style.

StyleMetadata

elzar.generator.mapbox_style.StyleMetadata

Bases: BaseModel

Type Aliases

Interpolation Types

"""MapLibre GL type aliases for interpolatable values."""

from elzar.generator.mapbox_style import (
    NumberInterpolate,
    NumberOrInterpolate,
    StringInterpolate,
    StringOrInterpolate,
)

# String with zoom interpolation
color_static: StringOrInterpolate = "#ff0000"
color_stops: StringOrInterpolate = StringInterpolate(stops=[(10, "#ff0000"), (14, "#00ff00")])

# Number with zoom interpolation
width_static: NumberOrInterpolate = 2.0
width_stops: NumberOrInterpolate = NumberInterpolate(stops=[(10, 1.0), (14, 3.0)])

StringInterpolate

elzar.generator.mapbox_style.StringInterpolate

Bases: BaseModel

base class-attribute instance-attribute

base = None

Exponential interpolation base. 1 produces linear interpolation.

stops instance-attribute

stops

Zoom-string pairs defining the interpolation curve.

NumberInterpolate

elzar.generator.mapbox_style.NumberInterpolate

Bases: BaseModel

base class-attribute instance-attribute

base = None

Exponential interpolation base. 1 produces linear interpolation.

stops instance-attribute

stops

Zoom-value pairs defining the interpolation curve.