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.