"description":"A source ID or list of source IDs from which features should be extracted",
"oneOf":[
{
"type":"string"
},
{
"type":"array",
"items":{
"type":"string"
}
}
]
},
"min_tile_cover_size":{
"description":"include objects of a certain geometry size, where 1.0 means \"is the same size as a tile at this zoom\"",
"type":"number",
"minimum":0,
"maximum":1
},
"include_when":{
"description":"A tag specification which determines the features to include. If unspecified, all features from the specified sources are included",
"$ref":"#/$defs/boolean_expression"
},
"exclude_when":{
"description":"A tag specification which determines the features to exclude. This rule is applied after `includeWhen`. If unspecified, no exclusion filter is applied.",
"$ref":"#/$defs/boolean_expression"
},
"min_zoom":{
"description":"An expression that returns the minimum zoom to render this feature at.",
"$ref":"#/$defs/expression"
},
"attributes":{
"description":"Specifies the attributes that should be rendered into the tiles for this feature, and how they are constructed",
"description":"Minimum length of line features or square root of the minimum area of polygon features to emit below the maximum zoom-level of the map",
"description":"Combines linestrings with the same set of attributes into a multilinestring where segments with touching endpoints are merged",
"type":"object",
"properties":{
"min_length":{
"description":"Minimum tile pixel length of features to emit, or 0 to emit all merged linestrings",
"type":"number"
},
"tolerance":{
"description":"After merging, simplify linestrings using this pixel tolerance, or -1 to skip simplification step",
"type":"number"
},
"buffer":{
"description":"Number of pixels outside the visible tile area to include detail for, or -1 to skip clipping step",
"type":"number"
}
}
},
"merge_polygons":{
"description":"Combines polygons with the same set of attributes into a multipolygon where overlapping/touching polygons are combined into fewer polygons covering the same area",
"type":"object",
"properties":{
"min_area":{
"description":"Minimum area in square tile pixels of polygons to emit",
"description":"A filter specification which determines whether to include this attribute. If unspecified, the attribute will be included unless excluded by `excludeWhen`",
"$ref":"#/$defs/boolean_expression"
},
"exclude_when":{
"description":"A filter specification which determines whether to exclude this attribute. This rule is applied after `includeWhen`. If unspecified, no exclusion filter is applied.",
"$ref":"#/$defs/boolean_expression"
},
"min_zoom":{
"description":"The minimum zoom at which to render this attribute",
"$ref":"#/$defs/zoom_level"
},
"min_zoom_by_value":{
"description":"Minimum zoom to render this attribute depending on the value. Contains a map of `value: zoom` entries that indicate the minimum zoom for each possible value",
"type":"object",
"additionalProperties":{
"$ref":"#/$defs/zoom_level"
}
}
}
}
]
},
"boolean_expression":{
"anyOf":[
{
"type":"string"
},
{
"$ref":"#/$defs/single_boolean_expression"
},
{
"type":"array",
"items":{
"$ref":"#/$defs/single_boolean_expression"
}
}
]
},
"single_boolean_expression":{
"type":"object",
"properties":{
"__all__":{
"$ref":"#/$defs/boolean_expression"
},
"__any__":{
"$ref":"#/$defs/boolean_expression"
},
"__not__":{
"$ref":"#/$defs/boolean_expression"
}
},
"additionalProperties":{
"anyOf":[
{
"description":"Matches any value for this key",
"const":"__any__"
},
{
"description":"Matches when this key is missing or empty",
"const":""
},
{
"type":"array",
"description":"A list of possible values for the key",
"items":{
"description":"One of the possible values for the key"
"description":"Value of the attribute in the tile, as copied from the value of the specified tag key. If neither constantValue nor tagValue are specified, the default behavior is to set the tag value equal to the input value (pass-through)",