Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and...
Transcript of Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and...
![Page 1: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/1.jpg)
carto Documentation
Carto contributors
Feb 13, 2019
![Page 2: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/2.jpg)
![Page 3: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/3.jpg)
Contents:
1 Installation & Usage 31.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Usage from the command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Usage from JavaScript (Carto API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Language Elements 92.1 Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Float . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7 Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.8 Percentages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.9 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.10 Mapnik Render-Time Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.11 Controlling output of symbolizers and symbolizer attributes . . . . . . . . . . . . . . . . . . . . . . 12
3 Styling Concepts 153.1 Attachments and Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Variables & Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Nested Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4 FontSets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5 Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 MML File Structure 194.1 Properties Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Layer property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3 Stylesheet property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Mapnik API documentation 295.1 3.0.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.2 3.0.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.3 3.0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215.4 3.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1675.5 2.3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
i
![Page 4: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/4.jpg)
5.6 2.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515.7 2.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2885.8 2.1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3185.9 2.0.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3495.10 2.0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3715.11 2.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
ii
![Page 5: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/5.jpg)
carto Documentation
CartoCSS (short: Carto) is a language for map design. It is similar in syntax to CSS, but builds upon it with specificabilities to filter map data and by providing things like variables. It targets the Mapnik renderer and is able to generateMapnik XML or a JSON variant of Mapnik XML. It can run from the command line or in the browser by using abundler like Browserify.
Carto is an evolution of the Cascadenik idea and language, with an emphasis on speed and flexibility.
Contents: 1
![Page 6: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/6.jpg)
carto Documentation
2 Contents:
![Page 7: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/7.jpg)
CHAPTER 1
Installation & Usage
1.1 Installation
If you are using a map design application like Kosmtik, Mapbox Studio Classic or Tilemill you already have CartoCSSinstalled and might be more interested in the language reference.
Else you can install the carto binary with NPM by running:
npm install -g carto
You should consider using a Node.js version manager like NVM.
Optionally you may also want to install millstone which is required for resolving data in the same way as MapboxStudio Classic does:
npm install -g millstone
Having millstone installed specifically enables support for localizing external resources (URLs and local files) refer-enced in your MML file, and detecting projections (using node-srs).
1.2 Usage from the command line
Now that Carto is installed you should have a carto command line tool available that can be run on a CartoCSS project:
carto project.mml > mapnik.xml
The following command line options are available:
-a / –api VERSION Specify Mapnik API version (e.g. –api 3.0.10) (default: latest Mapnik API version)
-b / –benchmark Outputs total compile time
-f / –file Outputs to the specified file instead of stdout
3
![Page 8: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/8.jpg)
carto Documentation
-h / –help Display help message
-l / –localize Use millstone to localize resources when loading an MML (default: off)
-n / –nosymlink Use absolute paths instead of symlinking files
-o / –output Specify output format, possible values are mapnik and json (default: mapnik)
-ppi RESOLUTION Pixels per inch used to convert m, mm, cm, in, pt, pc to pixels (default: 90.714)
-q / –quiet Do not output any warnings (default: off)
-v / –version Display version information
1.3 Usage from JavaScript (Carto API)
Alternatively, Carto can be used from JavaScript. While you theoretically could instantiate almost all of the classesthe main outward facing stable interfaces are the Renderer and the MML interface. We start with an example anddescribe the details afterwards:
// defined variables:// - input (the name or identifier of the file being parsed)var carto = require('carto');
try {var data = fs.readFileSync(input, 'utf-8');var mml = new carto.MML({});mml.load(path.dirname(input), data, function (err, data) {
var output = {};
if (!err) {output = new carto.Renderer({
filename: input}).render(data);
}
if (output.msg) {output.msg.forEach(function (v) {
if (v.type === 'error') {console.error(carto.Util.getMessageToPrint(v));
}else if (v.type === 'warning') {
console.warn(carto.Util.getMessageToPrint(v));}
});}
// output content (if no errors)if (output.data) {
console.log(output.data);}
});} catch (err) {
// program failures...
}
4 Chapter 1. Installation & Usage
![Page 9: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/9.jpg)
carto Documentation
1.3.1 MML
The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the classwith carto.MML. The constructor takes a options object with the following possible attributes:
• localize boolean (same as -l / –localize on the command line) - this uses millstone to localize stylesheetresources
• nosymlink boolean (same as -n / –nosymlink on the command line) - for millstone, tells it to use unmodifiedpaths instead of symlinking files
By calling load(basedir, data, callback) the MML file is loaded and processed. This method does notperform reading from a file, so you have to read the contents of the file yourself and provide it as string to the methodvia the data parameter to the load function. The basedir parameter is used to resolve stylesheet references. Whenthe processing is finished the specified callback function is called, which has the following signature:
function (err, data) {}
If an error occurred you find the message within err and data is null. When successful you find the processedMML data structure in data and err is null. The structure within data is excpected by the Renderer interface’srender method.
Note: If you want to use Carto within the browser you should not use MML loading via carto.MML.load. Insteadyou should supply the JSON of the MML including the Stylesheet strings directly to carto.Renderer.render.
1.3.2 Renderer
The Renderer interface performs the parsing and transformation for rendering from a MML file string (either selfloaded or loaded through the MML interface) or from a MSS file string (without layers). You instantiate the class withcarto.Renderer. The constructor takes a options object with the following possible attributes:
• benchmark boolean (similar to -b / –benchmark on the command line) - specifies if carto should run inbenchmarking mode
• effects array - a container for side-effects limited to FontSets
• filename string - name of the input file, used to format errors and warnings
• outputFormat string [mapnik|json] (similar to -o / –output on the command line) - specifies which formatthe output should have, either Mapnik XML or JSON similar to Mapnik XML
• ppi float (similar to -ppi on the command line) - Pixels per inch used to convert m, mm, cm, in, pt, pc to pixels
• quiet boolean (similar to -q / –quiet on the command line) - if carto should output warnings or not
• reference class - carto uses a reference to validate input. You can specify your own which has to adhere tothe specification. (see Using a custom reference)
• validationData object
– fonts array - a list of fonts that carto should use to validate if used fonts are valid/present
• version string (semver) (similar to -a / –api on the command line) - specify which Mapnik API version cartoshould use
carto.Renderer offers two methods for actual rendering. You can either use render(data) orrenderMSS(data). Both accept a string of either a processed MML file or a MSS style fragment. The rendermethod produces a full-featured style output while the renderMSS outputs only a style fragment. Both return thefollowing object:
1.3. Usage from JavaScript (Carto API) 5
![Page 10: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/10.jpg)
carto Documentation
{msg: [],data: ''
}
If errors or warnings occurred during rendering you will find them in msg and data will be null (in case of errors).The actual output is found in data if no errors occurred.
1.3.3 Util
Carto provides a Util class to assist you with e.g. message formatting. Like in the example you can callgetMessageToPrint with a received message object to output it nicely formatted as string.
1.3.4 Using a custom reference
Carto uses a reference to validate input. This reference specifies which rules and functions are valid and which typesa rule can take. It also describes how rules are transformed for the output. By default carto uses mapnik-reference asreference, but you can also use your own. It has to adhere to the following specification:
{versions: [], // array of versions (semver) as stringslatest: '', // latest version (semver) as stringsload: function (version) {} // return data structure for specified version
}
The data structure returned by load has to look like this:
{version: '', // version (semver) as stringstyle: {}, // rules that apply to the style as a wholelayer: {}, // rules that apply to a layer as a wholesymbolizers: {}, // rules that apply to different elements of the renderer, this
→˓elements make up the mapcolors: {}, // color names and their mapping to RGB valuesdatasources: {} // possible data sources for the rendering library and their
→˓parameters}
Note: datasources is not yet used by carto for validation.
All entries that contain rules are objects where there attributes are named after a color, symbolizer or rule. style andlayer have the same inner structure. Here is an example:
{'filter-mode': {type: {},doc: '','default-value': '','default-meaning': ''
}...
}
6 Chapter 1. Installation & Usage
![Page 11: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/11.jpg)
carto Documentation
symbolizer first contains the possible symbolizers and then their rules:
{polygon: {fill: {},'fill-opacity': {}...
}...
}
colors maps color names to their RGB values:
{aliceblue: [ 240, 248, 255 ],antiquewhite: [ 250, 235, 215 ]...
}
datasources is similar to symbolizers and contains first the possible data sources and then their possibleparameters:
{csv: {file: {},base: {}...
}}
Rules (all the parts that where specified with {} with a little preview at filter-mode) can have several attributesthat are evaluated:
name: {css: '', // rule name which is used in CartoCSSdefault-meaning: '', // meaning of the default valuedefault-value: '', // default value of the ruledoc: '', // documentation about the ruleexpression: bool, // whether this rule is a expression or notfunctions: [], // array of arrays that contain function name and # of params e.g.
→˓["matrix", 6]range: '', // range of values that are allowed e.g. 0-1required: bool, // if this rule is requiredstatus: '[unstable|experimental|deprecated]', // if omitted it means stabletype: '[bbox|boolean|color|float|functions|numbers|string|uri]', // type can also
→˓be an array of keywords}
Caution: Adherence to the specification is not assessed in-depth because that would be too resource intensive. Ifyou don’t adhere to the specification it is quite likely that you hit runtime errors.
1.3. Usage from JavaScript (Carto API) 7
![Page 12: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/12.jpg)
carto Documentation
8 Chapter 1. Installation & Usage
![Page 13: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/13.jpg)
CHAPTER 2
Language Elements
Below is a list of values and an explanation of any expression that can be applied to properties in CartoCSS.
2.1 Color
CartoCSS accepts a variety of syntaxes for colors - HTML-style hex values, rgb, rgba, hsl, hsla, hsluv, and hsluva. Italso supports the predefined HTML colors names, like yellow and blue.
#line {line-color: #ff0;line-color: #ffff00;line-color: rgb(255, 255, 0);line-color: rgba(255, 255, 0, 1);line-color: hsl(100, 50%, 50%);line-color: hsla(100, 50%, 50%, 1);line-color: hsluv(100, 50%, 50%); // same values yield different color than HSLline-color: hsluva(100, 50%, 50%, 1);line-color: yellow;
}
Especially of note is the support for HSL and HSLuv, which can be easier to reason about than RGB. CartoCSS alsoincludes several color operation functions borrowed from LessCSS:
// lighten and darken colorslighten(#ace, 10%);darken(#ace, 10%);
// saturate and desaturatesaturate(#550000, 10%);desaturate(#00ff00, 10%);
// increase or decrease the opacity of a colorfadein(#fafafa, 10%);
(continues on next page)
9
![Page 14: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/14.jpg)
carto Documentation
(continued from previous page)
fadeout(#fefefe, 14%);
// spin rotates a color around the color wheel by degreesspin(#ff00ff, 10);
// mix generates a color in between two other colors.mix(#fff, #000, 50%);
// get color componentshue(#ff00ff);saturation(#ff00ff);lightness(#ff00ff);alpha(hsla(100, 50%, 50%, 0.5));
These functions all take arguments which can be color variables, literal colors, or the results of other functions oper-ating on colors. All the above mentioned functions also come in a functionp-variant (e.g. lightenp), which force agiven color into HSLuv color space.
2.2 Float
Float is a fancy way of saying ‘number’. In CartoCSS, you specify just a number - unlike CSS, there are no units, buteverything is specified in pixels.
#line {line-width: 2;
}
It’s also possible to do simple math with number values:
#line {line-width: 4 / 2; // divisionline-width: 4 + 2; // additionline-width: 4 - 2; // subtractionline-width: 4 * 2; // multiplicationline-width: 4 % 2; // modulus
}
2.3 URI
URI is a fancy way of saying URL. When an argument is a URI, you use the same kind of url('place.png')notation that you would with HTML. Quotes around the URL aren’t required, but are highly recommended. URIs canbe paths to places on your computer, or on the internet.
#markers {marker-file: url('marker.png');
}
10 Chapter 2. Language Elements
![Page 15: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/15.jpg)
carto Documentation
2.4 String
A string is basically just text. In the case of CartoCSS, you’re going to put it in quotes. Strings can be anything, thoughpay attention to the cases of text-name and shield-name - they actually will refer to features, which you referto by putting them in brackets, as seen in the example below.
#labels {text-name: "[MY_FIELD]";
}
2.5 Boolean
Boolean means yes or no, so it accepts the values true or false.
#markers {marker-allow-overlap: true;
}
2.6 Expressions
Expressions are statements that can include fields, numbers, and other types in a really flexible way. You have run intoexpressions before, in the realm of ‘fields’, where you’d specify "[FIELD]", but expressions allow you to drop thequotes and also do quick addition, division, multiplication, and concatenation from within CartoCSS syntax.
#buildings {building-height: [HEIGHT_FIELD] * 10;
}
2.7 Numbers
Numbers are comma-separated lists of one or more number in a specific order. They’re used in line dash arrays, inwhich the numbers specify intervals of line, break, and line again.
#disputedboundary {line-dasharray: 1, 4, 2;
}
2.8 Percentages
In CartoCSS, the percentage symbol, % universally means value/100. It’s meant to be used with ratio-relatedproperties, like opacity rules.
Attention: You should not use percentages as widths, heights, or other properties - unlike CSS, percentages arenot relative to cascaded classes or page size, they’re, as stated, simply the value divided by one hundred.
2.4. String 11
![Page 16: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/16.jpg)
carto Documentation
In an example:
#world {// this syntaxpolygon-opacity: 50%;
// is equivalent topolygon-opacity: 0.5;
}
2.9 Functions
Functions are comma-separated lists of one or more functions. For instance, transforms use the functions type toallow for transforms within CartoCSS, which are optionally chainable.
#point {point-transform: scale(2, 2);
}
2.10 Mapnik Render-Time Variables
Mapnik >= 3.0.0 supports variables of the form @var. These can be used from CartoCSS by specifying them asstrings. For example:
#layer {line-width: '@zoom';
}
For this to have any effect you have to pass the variables to Mapnik at render time in a hashmap of the formvariable_name:variable_value.
2.11 Controlling output of symbolizers and symbolizer attributes
You can control symbolizer output by using rules that work on the whole symbolizer. E.g. line works on the linesymbolizer. By using the keywords none or auto you can either suppress the symbolizer or output it with defaultvalues. The keyword auto does not work on shield and text symbolizers because they have attributes without defaultvalues. Here is an example how this works:
#layer {line: none;line-width: 2;[feature = 'redfeature'] {line-color: red;
}[feature = 'bluefeature'] {line-color: blue;
}}
12 Chapter 2. Language Elements
![Page 17: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/17.jpg)
carto Documentation
Without line: none carto would output a line symbolizer with default values for all features other than redfeatureand bluefeature, that is a black line with width 1. In contrast, you can quickly output a symbolizer with default valueby using auto:
#layer {[feature = 'quickfeature'] {marker: auto;
}}
This outputs a default markers symbolizer for all quickfeature features.
You can also control the output of individual symbolizer properties by specifying them with the keyword none e.g.line-color: none. They will then be removed from the symbolizer thus using their default value or not usingthem at all. This does not work or makes sense for all properties like e.g. not for text-face-name as it does nothave a default value. For an overview over properties where this works or makes sense see this list. In this case theuse of none and auto is equivalent. In both cases the default value will be used as Mapnik uses the default valueautomatically when the property is not present.
2.11. Controlling output of symbolizers and symbolizer attributes 13
![Page 18: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/18.jpg)
carto Documentation
14 Chapter 2. Language Elements
![Page 19: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/19.jpg)
CHAPTER 3
Styling Concepts
3.1 Attachments and Instances
In CSS, a certain object can only have one instance of a property. A <div> has a specific border width and color,rules that match better than others (#id instead of .class) override previous definitions. CartoCSS acts the same waynormally for the sake of familiarity and organization, but Mapnik itself is more powerful.
Layers in Mapnik can have multiple borders and multiple copies of other attributes. This ability is useful in drawingline outlines, like in the case of road borders or ‘glow’ effects around coasts. CartoCSS makes this accessible byallowing attachments to styles:
#world {line-color: #fff;line-width: 3;
}
#world::outline {line-color: #000;line-width: 6;
}
Attachments are optional.
While attachments allow creating implicit “layers” with the same data, using instances allows you to create multiplesymbolizers in the same style/layer:
#roads {casing/line-width: 6;casing/line-color: #333;line-width: 4;line-color: #666;
}
This makes Mapnik first draw the line of color #333 with a width of 6, and then immediately afterwards, it draws thesame line again with width 4 and color #666. Contrast that to attachments: Mapnik would first draw all casings before
15
![Page 20: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/20.jpg)
carto Documentation
proceeding to the actual lines.
3.2 Variables & Expressions
CartoCSS inherits from its basis in LessCSS some new features in CSS. One can define variables in stylesheets, anduse expressions to modify them.
@mybackground: #2B4D2D;
Map {background-color: @mybackground
}
#world {polygon-fill: @mybackground + #222;line-color: darken(@mybackground, 10%);
}
3.3 Nested Styles
CartoCSS also inherits nesting of rules from LessCSS.
/* Applies to all layers with .land class */.land {
line-color: #ccc;line-width: 0.5;polygon-fill: #eee;/* Applies to #lakes.land */#lakes {polygon-fill: #000;
}}
This can be a convenient way to group style changes by zoom level:
[zoom > 1] {/* Applies to all layers at zoom > 1 */polygon-gamma: 0.3;#world {polygon-fill: #323;
}#lakes {polygon-fill: #144;
}}
3.4 FontSets
By defining multiple fonts in a text-face-name definition, you create FontSets in CartoCSS. These are useful forsupporting multiple character sets and fallback fonts for distributed styles.
This CartoCSS code
16 Chapter 3. Styling Concepts
![Page 21: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/21.jpg)
carto Documentation
#world {text-name: "[NAME]";text-size: 11;text-face-name: "Georgia Regular", "Arial Italic";
}
becomes this XML code
<FontSet name="fontset-0"><Font face-name="Georgia Regular"><Font face-name="Arial Italic">
</FontSet><Style name="world-text">
<Rule><TextSymbolizer fontset-name="fontset-0"
size="11"name="[NAME]">
</Rule></Style>
3.5 Filters
CartoCSS supports a variety of filter styles:
Numeric comparisons:
#world[population > 100]#world[population < 100]#world[population >= 100]#world[population <= 100]
General comparisons:
#world[population = 100]#world[population != 100]
String comparisons:
/* a regular expression over name */#world[name =~ "A.*"]
More complex expressions:
#world[[population] % 50 = 0]#world[[population] * 2 < 1000]
3.5. Filters 17
![Page 22: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/22.jpg)
carto Documentation
18 Chapter 3. Styling Concepts
![Page 23: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/23.jpg)
CHAPTER 4
MML File Structure
The MML file (here: Map Markup Language file) is a YAML or JSON file containing layer definitions and stylesheetreferences. It is the central part of a CartoCSS stylesheet. If you generate Mapnik XML from a stylesheet this is thefile you feed to carto and from which and its references the XML is produced.
You may wonder whether you should use YAML or JSON. Internally, JSON is used because it is a language that iseasy to understand for machines. YAML is a superset of JSON and is easier to read and write for humans and is alsoless verbose. If you edit a stylesheet collaboratively and use version control YAML might make it easier to resolveversion conflicts. Carto fully understands both forms.
Note: YAML makes it less tedious to specify repeating properties like database information for PostGIS datasourcesor extents by using a language feature called anchors or aliases.
4.1 Properties Overview
What follows is an overview over properties a MML file can have. This list is not complete. There may be other (alsoundocumented) options that Mapnik understands. Simple properties are described here in alphabetical order whilemore complex ones get their own section.
4.1.1 center
Type: Array
Specifies the initial center coordinates and zoom level of the map. Longitude, latitude and zoom level in that order.Example (WGS84): [-1.28398, 47.08997, 17]
4.1.2 bounds
Type: Array
19
![Page 24: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/24.jpg)
carto Documentation
Defines a bounding box of the map extent. Lower left coordinates (longitude, latitude) and upper right coordinates(longitude, latitude) in that order. Example (WGS84): [-179, -80, 179, 80]
4.1.3 description
Type: String
A description for the stylesheet (usually a bit longer than the name)
4.1.4 format
Type: Keyword
Possible values: png, jpeg, tiff, webp
Specifies the output format Mapnik should use. For more details see the Mapnik wiki page on Image IO.
4.1.5 Layer
Lists all layers used in the project (see Layer property)
4.1.6 maxzoom
Type: Integer
Specifies the maximum zoom level of the map
4.1.7 metatile
Type: Integer
Specifies the number of tiles that make up one side of a metatile. For example, if the number is 2 then the metatile is 2tiles wide and tall and consists of 4 individual tiles. For efficiency reasons Mapnik generates metatiles before splittingthem into individual tiles.
4.1.8 minzoom
Type: Integer
Specifies the minimum zoom level of the map
4.1.9 name
Type: String
A name for the stylesheet
20 Chapter 4. MML File Structure
![Page 25: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/25.jpg)
carto Documentation
4.1.10 _properties
Type: Object
This is the same as the properties property for layers, but on a global level with a bit different structure. It is usedwhen you do not specify the layers in the MML itself but only reference them. This is used in vector tile styles wherethe style and the data are separate.
First specifiy the layer name and then below it specify its properties as you would do in the properties propertyof the specific layer.
4.1.11 scale
Type: Integer
Specifies pixel scaling for the output. For example, a scale of 2 means that there are two pixels for each map pixel inthe output.
4.1.12 srs
Type: String
Specifies the projection used by Mapnik using the PROJ.4 format (SRS means Spatial reference system). The formatcan be determined by e.g. using spatialreference.org.
4.1.13 Stylesheet
Lists all styles or style files in the project (see Stylesheet property)
4.2 Layer property
Type: Array
Beneath this property layer objects are referenced that are the building blocks of the map style. The order of specifi-cation is important as it constitutes the drawing order of layers used by Mapnik. Layers specified first are drawn firstand those specified later are drawn afterwards.
Layers have different properties and their data can come from different data sources such as shape files or relationaldatabases like PostgreSQL/PostGIS.
A layer object can have the following properties (there may be more that Mapnik understands, also undocumentedones).
4.2.1 class
Type: String
One or more classes associated with this layer separated by blanks. In style selectors a class can be referenced by.classname if class contains classname similar to CSS.
4.2. Layer property 21
![Page 26: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/26.jpg)
carto Documentation
4.2.2 Datasource
Mapnik supports different datasources. Beneath this property you specify the type of the datasource and additionalproperties depending on the type.
Not all possible configuration options for each datasource are listed here. For further information see the page for thedatasource type on the Mapnik Wiki: e.g. PostGIS, PgRaster, ShapeFile, GDAL, OGR, OsmPlugin.
type
Type: Keyword
Possible values: shape, postgis, pgraster, raster, (gdal), (ogr), (osm)
Specifies the format of the data source. Types in parenthesis are not build by default according to the Mapnik Wiki.
band (gdal, pgraster)
Type: Integer
With this property you can request a specific raster band index (1-based). By specifying -1 (gdal) / 0 (pgraster) yourequest to read all bands.
dbname (postgis, pgraster)
Type: String
Specifies the database name of the PostgreSQL database.
encoding (ogr, postgis, shape)
Type: String
Specifies the encoding of the database or shapefile e.g. utf-8 or latin1.
extent (ogr, postgis, pgraster)
Type: String
Specifies the maximum extent of the geometries or raster data. Lower left coordinates (longitude, latitude) and upperright coordinates (longitude, latitude) in that order. By default this is deduced from the metadata of the table.
file (gdal, ogr, osm, raster, shape)
Type: String
Path and file name.
geometry_field (postgis)
Type: String
Specifies the name of the column that contains the geometry. Normally this will be deduced from the query butsometimes it can be necessary to specify it manually e.g. when there is more than one column with geometry.
22 Chapter 4. MML File Structure
![Page 27: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/27.jpg)
carto Documentation
host (postgis, pgraster)
Type: String
Specifies the hostname of the PostgreSQL database.
layer (ogr)
Type: String
The name of the layer to display.
layer_by_index (ogr)
Type: Integer
The index of the layer to display (mandatory if no layer name specified).
layer_by_sql (ogr)
Type: String
SQL-Statement to execute against the OGR datasource.
password (postgis, pgraster)
Type: String
Specifies the password for connecting to the PostgreSQL database.
port (postgis, pgraster)
Type: String
Specifies the port of the PostgreSQL database.
raster_field (pgraster)
Type: String
Specifies the name of the column that contains the raster data. Normally this will be deduced from the query butsometimes it can be necessary to specify it manually e.g. when there is more than one column with raster data.
simplify_geometries (postgis)
Type: Boolean
Specify if input vertices should be automatically reduced or not.
4.2. Layer property 23
![Page 28: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/28.jpg)
carto Documentation
table (postgis, pgraster)
Type: String
Either the name of the table to fetch or a sub query (. . . ) AS queryname.
user (postgis, pgraster)
Type: String
Specifies the username for connecting to the PostgreSQL database.
4.2.3 extent
Type: Array
Defines a bounding box of the layer extent. Lower left coordinates (longitude, latitude) and upper right coordinates(longitude, latitude) in that order. Example (WGS84): [-179, -80, 179, 80]
4.2.4 geometry
Type: Keyword
Possible values: linestring, point, polygon, raster
Specifies the geometry type for (the datasource of) this layer.
4.2.5 id
Type: String
A unique identifier for this layer. In style selectors it can be referenced with #layerid if the id is layerid similarto CSS.
4.2.6 properties
Type: Object
This property basically adds any sub-property as attribute to the Mapnik layer. So available values depend greatly onwhat Mapnik allows. Here is an (incomplete) list:
abstract
Type: String
A short description of this layer (typically longer than the title).
24 Chapter 4. MML File Structure
![Page 29: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/29.jpg)
carto Documentation
group-by
Type: String
Enables grouped rendering for Mapnik by specifying the field of the datasource that should be used for grouping.Mapnik then renders all styles of the layer for those features that have the same value for that field before moving onto other features that have different value.
maxzoom
Type: Integer
Specifies the zoom level until which the layer is visible.
minzoom
Type: Integer
Specifies the zoom level from which the layer is visible.
status
Type: Integer
Specifies if the layer is active or not. 0 means inactive or off, 1 means active or on.
title
Type: String
The title of this layer. Probably more verbose than the ID.
4.2.7 srs
Type: String
Specifies the projection for this layer using the PROJ.4 format (SRS means Spatial reference system). The format canbe determined by e.g. using spatialreference.org.
4.2.8 srs-name
Type: String
The name of this SRS.
4.3 Stylesheet property
Type: Array
You have two options to specify the styles. Either you reference MSS files (here: Map Stylesheet files) or you specifystyle objects directly.
4.3. Stylesheet property 25
![Page 30: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/30.jpg)
carto Documentation
4.3.1 Referencing style files
Here you reference the style files used in an array of paths/file names. Carto understands relative as well as absolutepaths. The order of style references is normally not important, but re-definition of variables can be affected by theorder of the style files referenced.
4.3.2 Specifying style objects
Internally style file references are transformed into style objects anyway, so you can also specify them directly. Thisonly makes sense if you generate them programmatically otherwise the notation could become a bit tedious. Youspecify an array of style objects. The order of the objects is normally not important, but re-definition of variables canbe affected by the order of the style objects.
A style object consists of the following properties.
id
This is the identifier of the style object. When styles are being read from a style file this is usually the file name. Theproperty is used when generating errors or warnings so it is advisable to set something recognizable here.
data
This contains the actual style in the form of a string.
4.4 Example
Here is a simple MML file example with two layers (one shapefile and one PostGIS layer) referencing one style file inYAML format. It has been modified from the MML file of openstreetmap-carto.
scale: 1metatile: 2name: Example MML filedescription: A example MML file to illustrate its optionsbounds: &world
- -180- -85.05112877980659- 180- 85.05112877980659
center:- 0- 0- 4
format: pngminzoom: 0maxzoom: 19srs: "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.→˓0 +units=m +nadgrids=@null +wktext +no_defs +over"
# Various parts to be included later on_parts:
extents: &extentsextent: *world
(continues on next page)
26 Chapter 4. MML File Structure
![Page 31: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/31.jpg)
carto Documentation
(continued from previous page)
srs-name: "900913"srs: "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0
→˓+k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over"osm2pgsql: &osm2pgsqltype: "postgis"dbname: "gis"key_field: ""geometry_field: "way"extent: "-20037508,-20037508,20037508,20037508"
Stylesheet:- style_file.mss
Layer:- id: worldname: worldgeometry: polygon<<: *extentsDatasource:
file: data/simplified-land-polygons-complete-3857/simplified_land_polygons.shptype: shape
properties:maxzoom: 9
- id: landcover-low-zoomname: landcover-low-zoomgeometry: polygon<<: *extentsDatasource:
<<: *osm2pgsqltable: |-
(SELECTway, name, way_pixels,COALESCE(wetland, landuse, "natural") AS feature
FROM (SELECTway, COALESCE(name, '') AS name,('landuse_' || (CASE WHEN landuse IN ('forest', 'military') THEN
→˓landuse ELSE NULL END)) AS landuse,('natural_' || (CASE WHEN "natural" IN ('wood', 'sand', 'scree',
→˓'shingle', 'bare_rock') THEN "natural" ELSE NULL END)) AS "natural",('wetland_' || (CASE WHEN "natural" IN ('wetland', 'mud') THEN (CASE
→˓WHEN "natural" IN ('mud') THEN "natural" ELSE tags->'wetland' END) ELSE NULL END))→˓AS wetland,
way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_→˓pixels
FROM planet_osm_polygonWHERE (landuse IN ('forest', 'military')OR "natural" IN ('wood', 'wetland', 'mud', 'sand', 'scree', 'shingle',
→˓'bare_rock'))AND way_area > 0.01*!pixel_width!::real*!pixel_height!::realAND building IS NULL
ORDER BY COALESCE(layer,0), way_area DESC) AS features
) AS landcover_low_zoomproperties:
minzoom: 7maxzoom: 9
4.4. Example 27
![Page 32: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/32.jpg)
carto Documentation
28 Chapter 4. MML File Structure
![Page 33: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/33.jpg)
CHAPTER 5
Mapnik API documentation
The following is a list of properties provided in CartoCSS that you can apply to map elements when using the Mapnikrenderer. Each API version of Mapnik has its own subsection. Pick the one that applies to the version you are running.If there is no subsection for your specific version the next older listed version applies to this version.
5.1 3.0.20
5.1.1 Style
image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradienty-gradient invert sharpen color-blind-protanope color-blind-deuteranopecolor-blind-tritanope colorize-alpha color-to-alpha scale-hsla
Default Value: none (no filters)
A list of image filters that will be applied to the active rendering canvas for a given style. The presence of one moreimage-filters will trigger a new canvas to be created before starting to render a style and then this canvas will becomposited back into the main canvas after rendering all features and after all image-filters have been applied.See direct-image-filters if you want to apply a filter directly to the main canvas.
image-filters-inflate
Type: boolean
Default Value: false (No special handling will be done and image filters that blur data will only blur up to the edge ofa tile boundary)
29
![Page 34: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/34.jpg)
carto Documentation
A property that can be set to true to enable using an inflated image internally for seamless blurring across tiles (requiresbuffered data).
direct-image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradienty-gradient invert sharpen color-blind-protanope color-blind-deuteranopecolor-blind-tritanope colorize-alpha color-to-alpha scale-hsla
Default Value: none (no filters)
A list of image filters to apply to the main canvas (see the image-filters doc for how they work on a separatecanvas).
comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (add the current layer on top of other layers)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
opacity
Type: float
Default Value: 1 (No separate buffer will be used and no alpha will be applied to the style after rendering.)
An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited backto main buffer).
5.1.2 Symbolizers
map
background-color
Type: color
Default Value: none (Will be rendered transparent.)
Map Background color.
30 Chapter 5. Mapnik API documentation
![Page 35: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/35.jpg)
carto Documentation
background-image
Type: uri
Default Value: (No background image will be used.)
An image that is repeated below all features on a map as a background. Accepted formats: svg, jpg, png, tiff, andwebp.
background-image-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (The background-image will be blended with the background normally (placed on top of anyexisting background-color).)
Set the compositing operation used to blend the image into the background.
background-image-opacity
Type: float
Default Value: 1 (The image opacity will not be changed when applied to the map background.)
Set the opacity of the image.
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space.)
Map spatial reference (proj4 string).
5.1. 3.0.20 31
![Page 36: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/36.jpg)
carto Documentation
buffer-size
Type: float
Default Value: 0 (No buffer will be used.)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
maximum-extent
Type: string
Default Value: -20037508.34,-20037508.34,20037508.34,20037508.34 (All data will be clipped to global mercatorextent (default is applied in Carto.js).)
An extent to be used to limit the bounds used to query all layers during rendering. Should be minx, miny, maxx, maxyin the coordinates of the Map.
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered.)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon
Type: keyword
Status: unstable
32 Chapter 5. Mapnik API documentation
![Page 37: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/37.jpg)
carto Documentation
Possible values: auto none
Default Value:
Allows omitting a polygon symbolizer rule or emitting it with default values.
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (Gray and fully opaque (alpha = 1), same as rgb(128,128,128) orrgba(128,128,128,1).)
Fill color to assign to a polygon.
polygon-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the polygon.
polygon-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of polygon edges.
polygon-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA.)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
5.1. 3.0.20 33
![Page 38: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/38.jpg)
carto Documentation
polygon-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extend outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
polygon-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify geometries by the given tolerance.
polygon-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify geometries by the given algorithm.
polygon-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform polygon geometry with specified function.
34 Chapter 5. Mapnik API documentation
![Page 39: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/39.jpg)
carto Documentation
polygon-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line
line
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a line symbolizer rule or emitting it with default values.
line-color
Type: color
Default Value: black (black and fully opaque (alpha = 1), same as rgb(0,0,0) or rgba(0,0,0,1).)
The color of a drawn line.
line-width
Type: float
Default Value: 1 (The line will be rendered 1 pixel wide.)
The width of a line in pixels.
line-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of a line.
5.1. 3.0.20 35
![Page 40: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/40.jpg)
carto Documentation
line-join
Type: keyword
Possible values: miter miter-revert round bevel
Default Value: miter (The line joins will be rendered using a miter look.)
The behavior of lines when joining.
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt (The line endings will be rendered using a butt look.)
The display of line endings.
line-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of stroke line.
line-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA.)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
line-dasharray
Type: numbers
Default Value: none (The line will be drawn without dashes.)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
36 Chapter 5. Mapnik API documentation
![Page 41: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/41.jpg)
carto Documentation
line-dash-offset
Type: numbers
Default Value: none (The line will be drawn without dashes.)
Valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is notyet enabled).
line-miterlimit
Type: float
Default Value: 4 (Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec:‘miterLength / stroke-width = 1 / sin ( theta / 2 )’.)
The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joinsfor sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to beset, but a larger value can sometimes help avoid jaggy artifacts.
line-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
line-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify geometries by the given tolerance.
line-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify geometries by the given algorithm.
5.1. 3.0.20 37
![Page 42: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/42.jpg)
carto Documentation
line-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-offset
Type: float
Status: unstable
Default Value: 0 (Will not be offset.)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The line will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
line-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform line geometry with specified function.
line-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
38 Chapter 5. Mapnik API documentation
![Page 43: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/43.jpg)
carto Documentation
markers
marker
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a marker symbolizer rule or emitting it with default values.
marker-file
Type: uri
Default Value: none (An ellipse or circle, if width equals height.)
A file that this marker shows at each placement. If no file is given, the marker will show an ellipse. Accepted formats:svg, jpg, png, tiff, and webp.
marker-opacity
Type: float
Default Value: 1 (The stroke-opacity and fill-opacity of the marker.)
The overall opacity of the marker, if set, overrides both the opacity of the fill and the opacity of the stroke.
marker-fill-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The fill opacity of the marker. This property will also set the fill-opacity of elements in an SVG loaded from afile.
marker-line-color
Type: color
Default Value: black (The marker will be drawn with a black outline.)
The color of the stroke around the marker. This property will also set the stroke of elements in an SVG loaded froma file.
5.1. 3.0.20 39
![Page 44: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/44.jpg)
carto Documentation
marker-line-width
Type: float
Default Value: 0.5 (The marker will be drawn with an outline of .5 pixels wide.)
The width of the stroke around the marker, in pixels. This is positioned on the boundary, so high values can cover thearea itself. This property will also set the stroke-width of elements in an SVG loaded from a file.
marker-line-opacity
Type: float
Default Value: 1 (Color is fully opaque. This property will also set the ‘‘stroke-opacity‘‘ of elements in an SVG loadedfrom a file.)
The opacity of a line.
marker-placement
Type: keyword
Possible values: point line interior vertex-first vertex-last
Default Value: point (Place markers at the center point (centroid) of the geometry.)
Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times alonga line. ‘interior’ placement can be used to ensure that points placed on polygons are forced to be inside the polygoninterior. The ‘vertex-first’ and ‘vertex-last’ options can be used to place markers at the first or last vertex of lines orpolygons.
marker-multi-policy
Type: keyword
Possible values: each whole largest
Default Value: each (If a feature contains multiple geometries and the placement type is either point or interior then amarker will be rendered for each.)
A special setting to allow the user to control rendering behavior for ‘multi-geometries’ (when a feature containsmultiple geometries). This setting does not apply to markers placed along lines. The ‘each’ policy is default andmeans all geometries will get a marker. The ‘whole’ policy means that the aggregate centroid between all geometrieswill be used. The ‘largest’ policy means that only the largest (by bounding box areas) feature will get a renderedmarker (this is how text labeling behaves by default).
40 Chapter 5. Mapnik API documentation
![Page 45: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/45.jpg)
carto Documentation
marker-type
Type: keyword
Status: deprecated
Possible values: arrow ellipse
Default Value: ellipse (The marker shape is an ellipse.)
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width).
marker-width
Type: float
Default Value: 10 (The marker width is 10 pixels.)
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10 (The marker height is 10 pixels.)
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue (The marker fill color is blue.)
The color of the area of the marker. This property will also set the fill of elements in an SVG loaded from a file.
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow markers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
5.1. 3.0.20 41
![Page 46: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/46.jpg)
carto Documentation
marker-avoid-edges
Type: boolean
Default Value: false (Markers will be potentially placed near tile edges and therefore may look cut off unless they arerendered on each adjacent tile.)
Avoid placing markers that intersect with tile boundaries.
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache.)
Value to control whether the placement of the feature will prevent the placement of other features.
marker-spacing
Type: float
Default Value: 100 (In the case of marker-placement:line then draw a marker every 100 pixels along a line.)
Space between repeated markers in pixels. If the spacing is less than the marker size or larger than the line segmentlength then no marker will be placed. Any value less than 1 will be ignored and the default will be used instead.
marker-max-error
Type: float
Default Value: 0.2 (N/A: not intended to be changed.)
N/A: not intended to be changed.
marker-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform marker instance with specified function. Ignores map scale factor.
42 Chapter 5. Mapnik API documentation
![Page 47: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/47.jpg)
carto Documentation
marker-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
marker-simplify
Type: float
Default Value: 0 (Geometry will not be simplified.)
geometries are simplified by the given tolerance.
marker-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
marker-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
marker-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform marker geometry with specified function.
5.1. 3.0.20 43
![Page 48: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/48.jpg)
carto Documentation
marker-offset
Type: float
Default Value: 0 (Will not be offset.)
Offsets a marker from a line a number of pixels parallel to its actual path. Positive values move the marker left,negative values move it right (relative to the directionality of the line).
marker-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
marker-direction
Type: keyword
Possible values: auto auto-down left right left-only right-only up down
Default Value: right (Markers are oriented to the right in the line direction.)
How markers should be placed along lines. With the “auto” setting when marker is upside down the marker is auto-matically rotated by 180 degrees to keep it upright. The “auto-down” value places marker in the opposite orientation to“auto”. The “left” or “right” settings can be used to force marker to always be placed along a line in a given directionand therefore disables rotating if marker appears upside down. The “left-only” or “right-only” properties also force agiven direction but will discard upside down markers rather than trying to flip it. The “up” and “down” settings don’tadjust marker’s orientation to the line direction.
shield
shield
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a shield symbolizer rule.
44 Chapter 5. Mapnik API documentation
![Page 49: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/49.jpg)
carto Documentation
shield-name
Type: string
Default Value: (No text label will be rendered with the shield.)
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name].
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text. Accepted formats: svg, jpg, png, tiff, and webp.
shield-face-name
Type: string
Default Value: none
Font name and style to use for the shield text.
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image.
shield-size
Type: float
Default Value: 10 (Font size of 10 will be used to render text.)
The size of the shield text in pixels.
5.1. 3.0.20 45
![Page 50: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/50.jpg)
carto Documentation
shield-fill
Type: color
Default Value: black (The shield text will be rendered black.)
The color of the shield text.
shield-placement
Type: keyword
Possible values: point line vertex interior grid alternating-grid
Default Value: point (One shield will be placed per geometry.)
How this shield should be placed. Point placement places one shield on top of a point geometry and at the centroid ofa polygon or the middle point of a line, line places along lines multiple times per feature, vertex places on the vertexesof polygons, and interior attempts to place inside of a polygon.
shield-avoid-edges
Type: boolean
Default Value: false (Shields will be potentially placed near tile edges and therefore may look cut off unless they arerendered on each adjacent tile.)
Avoid placing shields that intersect with tile boundaries.
shield-allow-overlap
Type: boolean
Default Value: false (Do not allow shields to overlap with other map elements already placed.)
Control whether overlapping shields are shown or hidden.
shield-margin
Type: float
Default Value: 0 (No extra margin will be used to determine if a shield collides with any other text, shield, or marker.)
Minimum distance that a shield can be placed from any other text, shield, or marker.
46 Chapter 5. Mapnik API documentation
![Page 51: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/51.jpg)
carto Documentation
shield-repeat-distance
Type: float
Default Value: 0 (Shields with the same text will be rendered without restriction.)
Minimum distance between repeated shields. If set this will prevent shields being rendered nearby each other thatcontain the same text. Similar to shield-min-distance with the difference that it works the same no matter whatplacement strategy is used.
shield-min-distance
Type: float
Status: deprecated
Default Value: 0 (Shields with the same text will be rendered without restriction.)
Minimum distance to any other collision object. Deprecated: replaced by text-margin.
shield-spacing
Type: float
Default Value: 0 (Only one shield per line will attempt to be placed.)
Distance the renderer should use to try to place repeated shields on a line.
shield-min-padding
Type: float
Default Value: 0 (No margin will be used to detect if a shield is nearby a tile boundary.)
Minimum distance a shield will be placed from the edge of a tile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the tile.
shield-label-position-tolerance
Type: float
Default Value: shield-spacing/2.0 (If a shield cannot be placed then the renderer will advance by shield-spacing/2.0to try placement again.)
Allows the shield to be displaced from its ideal position by a number of pixels (only works with placement:line).
5.1. 3.0.20 47
![Page 52: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/52.jpg)
carto Documentation
shield-wrap-width
Type: unsigned
Default Value: 0 (Text will not be wrapped.)
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
shield-wrap-before
Type: boolean
Default Value: false (Wrapped lines will be a bit longer than wrap-width.)
Wrap text before wrap-width is reached.
shield-wrap-character
Type: string
Default Value: ” ” (Lines will be wrapped conforming to the (untailored) Unicode Line Break Algorithm provided byICU BreakIterator.)
Must be a single character. If you set it to other than the space character, Mapnik will wrap strictly on that characterwithout involving any additional rules.
shield-halo-fill
Type: color
Default Value: white (The shield halo text will be rendered white.)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo.)
Specify the radius of the halo in pixels.
48 Chapter 5. Mapnik API documentation
![Page 53: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/53.jpg)
carto Documentation
shield-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The shield will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate text halo rendering method that sacrifices quality for speed.
shield-halo-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation.)
Transform shield halo relative to the actual text with specified function. Allows for shadow or embossed effects.Ignores map scale factor.
shield-halo-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
shield-halo-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text halo.
shield-character-spacing
Type: unsigned
Default Value: 0 (The default character spacing of the font will be used.)
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
5.1. 3.0.20 49
![Page 54: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/54.jpg)
carto Documentation
shield-line-spacing
Type: float
Default Value: 0 (The default font spacing will be used.)
Vertical spacing between lines of multiline labels (in pixels).
shield-text-dx
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the shield right.
shield-text-dy
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the shield down.
shield-dx
Type: float
Default Value: 0 (Shield will not be displaced.)
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right.
shield-dy
Type: float
Default Value: 0 (Shield will not be displaced.)
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down.
50 Chapter 5. Mapnik API documentation
![Page 55: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/55.jpg)
carto Documentation
shield-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the image used for the shield.
shield-text-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the text placed on top of the shield.
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto (TODO.)
The shield’s horizontal alignment from its centerpoint.
shield-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: middle (TODO.)
The shield’s vertical alignment from its centerpoint.
shield-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy (Alternative placements will not be enabled.)
Re-position and/or re-size shield to avoid overlaps. “simple” for basic algorithm (using shield-placements string,)“dummy” to turn this feature off.
5.1. 3.0.20 51
![Page 56: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/56.jpg)
carto Documentation
shield-placements
Type: string
Default Value: (No alternative placements will be used.)
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example isshield-placements: "E,NE,SE,W,NW,SW";.
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize reverse
Default Value: none (No text transformation will be applied.)
Transform the case of the characters.
shield-justify-alignment
Type: keyword
Possible values: left center right auto
Default Value: auto (TODO.)
Define how text in a shield’s label is justified.
shield-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform shield instance with specified function. Ignores map scale factor.
shield-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
52 Chapter 5. Mapnik API documentation
![Page 57: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/57.jpg)
carto Documentation
shield-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify the geometries used for shield placement by the given tolerance.
shield-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify the geometries used for shield placement by the given algorithm.
shield-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out the angles of the geometry used for shield placement. 0 isno smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries.
shield-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
shield-grid-cell-width
Type: float
Default Value: 0 (No placement will be done.)
Controls horizontal spacing between placements of placement type grid or alternating-grid.
5.1. 3.0.20 53
![Page 58: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/58.jpg)
carto Documentation
shield-grid-cell-height
Type: float
Default Value: 0 (No placement will be done.)
Controls vertical spacing between placements of placement type grid or alternating-grid.
line-pattern
line-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a line pattern symbolizer rule or emitting it with default values.
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line. Accepted formats: svg, jpg, png, tiff, and webp.
line-pattern-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
line-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications.)
Apply an opacity level to the image used for the pattern.
54 Chapter 5. Mapnik API documentation
![Page 59: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/59.jpg)
carto Documentation
line-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
geometries are simplified by the given tolerance.
line-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
line-pattern-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-pattern-offset
Type: float
Default Value: 0 (The line will not be offset.)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
line-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform line geometry with specified function and apply pattern to transformed geometry.
5.1. 3.0.20 55
![Page 60: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/60.jpg)
carto Documentation
line-pattern-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform line pattern instance with specified function.
line-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
polygon-pattern
polygon-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a polygon pattern symbolizer rule or emitting it with default values.
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon. Accepted formats: svg, jpg, png, tiff, and webp.
56 Chapter 5. Mapnik API documentation
![Page 61: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/61.jpg)
carto Documentation
polygon-pattern-alignment
Type: keyword
Possible values: global local
Default Value: global (Patterns will be aligned to the map (or tile boundaries) when being repeated across polygons.This is ideal for seamless patterns in tiled rendering.)
Specify whether to align pattern fills to the layer’s geometry (local) or to the map (global).
polygon-pattern-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of polygon pattern edges.
polygon-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications.)
Apply an opacity level to the image used for the pattern.
polygon-pattern-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
polygon-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
geometries are simplified by the given tolerance.
5.1. 3.0.20 57
![Page 62: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/62.jpg)
carto Documentation
polygon-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
polygon-pattern-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform polygon geometry with specified function and apply pattern to transformed geometry.
polygon-pattern-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform polygon pattern instance with specified function.
polygon-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
58 Chapter 5. Mapnik API documentation
![Page 63: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/63.jpg)
carto Documentation
raster
raster
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a raster symbolizer rule or emitting it with default values.
raster-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the raster symbolizer on top of other symbolizers.
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: near fast bilinear bicubic spline16 spline36 hanning hamming hermitekaiser quadric catrom gaussian bessel mitchell sinc lanczos blackman
Default Value: near (Nearest neighboor resampling will be used to scale the image to the target size of the map.)
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
5.1. 3.0.20 59
![Page 64: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/64.jpg)
carto Documentation
raster-mesh-size
Type: unsigned
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image.)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
raster-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
raster-colorizer-default-mode
Type: keyword
Possible values: discrete linear exact
Default Value: linear (A linear interpolation is used to generate colors between the two nearest stops.)
This can be either discrete, linear or exact. If it is not specified then the default is linear.
raster-colorizer-default-color
Type: color
Default Value: transparent (Pixels that are not colored by the colorizer stops will be transparent.)
This can be any color. Sets the color that is applied to all values outside of the range of the colorizer-stops. If notsupplied pixels will be fully transparent.
60 Chapter 5. Mapnik API documentation
![Page 65: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/65.jpg)
carto Documentation
raster-colorizer-epsilon
Type: float
Default Value: 1.1920928955078125e-07 (Pixels must very closely match the stop filter otherwise they will not becolored.)
This can be any positive floating point value and will be used as a tolerance in floating point comparisions. The higherthe value the more likely a stop will match and color data.
raster-colorizer-stops
Type: tags
Default Value: (No colorization will happen without supplying stops.)
Assigns raster data values to colors. Stops must be listed in ascending order, and contain at a minimum the value andthe associated color. You can also include the color-mode as a third argument, like stop(100,#fff,exact).
point
point
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a point symbolizer rule or emitting it with default values.
point-file
Type: uri
Default Value: none (A 4x4 black square will be rendered.)
Image file to represent a point. Accepted formats: svg, jpg, png, tiff, and webp.
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
5.1. 3.0.20 61
![Page 66: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/66.jpg)
carto Documentation
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache.)
Control whether the placement of the feature will prevent the placement of other features.
point-opacity
Type: float
Default Value: 1 (Fully opaque.)
A value from 0 to 1 to control the opacity of the point.
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid (The centroid of the geometry will be used to place the point.)
Control how this point should be placed. Centroid calculates the geometric center of a polygon, which can be outsideof it, while interior always places inside of a polygon.
point-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform point instance with specified function. Ignores map scale factor.
point-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
62 Chapter 5. Mapnik API documentation
![Page 67: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/67.jpg)
carto Documentation
text
text
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a text symbolizer rule.
text-name
Type: string
Default Value: none
Value to use for a text label. Data columns are specified using brackets like [column_name].
text-face-name
Type: string
Default Value: none
Font name and style to render a label in.
text-size
Type: float
Default Value: 10 (Font size of 10 will be used to render text.)
Text size in pixels.
text-ratio
Type: unsigned
Default Value: 0 (TODO.)
Define the amount of text (of the total) present on successive lines when wrapping occurs.
5.1. 3.0.20 63
![Page 68: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/68.jpg)
carto Documentation
text-wrap-width
Type: unsigned
Default Value: 0 (Text will not be wrapped.)
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
text-wrap-before
Type: boolean
Default Value: false (Wrapped lines will be a bit longer than wrap-width.)
Wrap text before wrap-width is reached.
text-wrap-character
Type: string
Default Value: ” ” (Lines will be wrapped conforming to the (untailored) Unicode Line Break Algorithm provided byICU BreakIterator.)
Must be a single character. If you set it to other than the space character, Mapnik will wrap strictly on that characterwithout involving any additional rules.
text-repeat-wrap-character
Type: boolean
Status: unstable
Default Value: false (Character will be removed when used to wrap a line.)
Keep the character used to wrap a line instead of removing it, and repeat it on the new line.
text-spacing
Type: unsigned
Default Value: 0 (Only one label per line will attempt to be placed.)
Distance the renderer should use to try to place repeated text labels on a line.
64 Chapter 5. Mapnik API documentation
![Page 69: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/69.jpg)
carto Documentation
text-character-spacing
Type: float
Default Value: 0 (The default character spacing of the font will be used.)
Horizontal spacing adjustment between characters in pixels. This value is ignored when horizontal-alignmentis set to adjust. Typographic ligatures are turned off when this value is greater than zero.
text-line-spacing
Type: float
Default Value: 0 (The default font spacing will be used.)
Vertical spacing adjustment between lines in pixels.
text-label-position-tolerance
Type: float
Default Value: text-spacing/2.0 (If a shield cannot be placed then the renderer will advance by text-spacing/2.0 to tryplacement again.)
Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line).
text-max-char-angle-delta
Type: float
Default Value: 22.5 (The label will not be placed if a character falls on a line with an angle sharper than 22.5 degrees.)
The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally isconverted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed aroundaround sharp corners.
text-fill
Type: color
Default Value: black (The text will be rendered black.)
Specifies the color for the text.
5.1. 3.0.20 65
![Page 70: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/70.jpg)
carto Documentation
text-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text.
text-halo-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text halo.
text-halo-fill
Type: color
Default Value: white (The halo will be rendered white.)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo.)
Specify the radius of the halo in pixels.
text-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The text will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate text halo rendering method that sacrifices quality for speed.
66 Chapter 5. Mapnik API documentation
![Page 71: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/71.jpg)
carto Documentation
text-halo-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation.)
Transform text halo relative to the actual text with specified function. Allows for shadow or embossed effects. Ignoresmap scale factor.
text-dx
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text by fixed amount, in pixels, +/- along the X axis. With “dummy” placement-type, a positive valuedisplaces to the right. With “simple” placement-type, it is either left, right or unchanged, depending on the placementselected. Any non-zero value implies “horizontal-alignment” changes to “left” by default. Has no effect with ‘line’text-placement-type.
text-dy
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text by fixed amount, in pixels, +/- along the Y axis. With “dummy” placement-type, a positive valuedisplaces downwards. With “simple” placement-type, it is either up, down or unchanged, depending on the placementselected. With “line” placement-type, a positive value displaces above the path.
text-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: auto (Default affected by value of dy; “top” for dy>0, “bottom” for dy<0.)
Position of label relative to point position.
5.1. 3.0.20 67
![Page 72: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/72.jpg)
carto Documentation
text-avoid-edges
Type: boolean
Default Value: false (Text will be potentially placed near tile edges and therefore may look cut off unless the same textlabel is rendered on each adjacent tile.)
Avoid placing labels that intersect with tile boundaries.
text-margin
Type: float
Default Value: 0 (No extra margin will be used to determine if a label collides with any other text, shield, or marker.)
Minimum distance that a label can be placed from any other text, shield, or marker.
text-repeat-distance
Type: float
Default Value: 0 (Labels with the same text will be rendered without restriction.)
Minimum distance between repeated text. If set this will prevent text labels being rendered nearby each other thatcontain the same text. Similar to text-min-distance with the difference that it works the same no matter what placementstrategy is used.
text-min-distance
Type: float
Status: deprecated
Default Value: 0 (Labels with the same text will be rendered without restriction.)
Minimum distance to the next label with the same text. Only works for line placement. Deprecated: replaced bytext-repeat-distance and text-margin
text-min-padding
Type: float
Default Value: 0 (No margin will be used to detect if a text label is nearby a tile boundary.)
Minimum distance a text label will be placed from the edge of a tile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the tile.
68 Chapter 5. Mapnik API documentation
![Page 73: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/73.jpg)
carto Documentation
text-min-path-length
Type: float
Default Value: 0 (place labels on all geometries no matter how small they are.)
Place labels only on polygons and lines with a bounding width longer than this value (in pixels).
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
text-orientation
Type: float
Default Value: 0 (Text is not rotated and is displayed upright.)
Rotate the text. (only works with text-placement:point).
text-rotate-displacement
Type: boolean
Default Value: false (Label center is used for rotation.)
Rotates the displacement around the placement origin by the angle given by “orientation”.
text-upright
Type: keyword
Possible values: auto auto-down left right left-only right-only
Default Value: auto (Text will be positioned upright automatically.)
How this label should be placed along lines. By default when more than half of a label’s characters are upside downthe label is automatically flipped to keep it upright. By changing this parameter you can prevent this “auto-upright”behavior. The “auto-down” value places text in the opposite orientation to “auto”. The “left” or “right” settings can beused to force text to always be placed along a line in a given direction and therefore disables flipping if text appearsupside down. The “left-only” or “right-only” properties also force a given direction but will discard upside down textrather than trying to flip it.
5.1. 3.0.20 69
![Page 74: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/74.jpg)
carto Documentation
text-placement
Type: keyword
Possible values: point line vertex interior grid alternating-grid
Default Value: point (One shield will be placed per geometry.)
How this label should be placed. Point placement places one label on top of a point geometry and at the centroid of apolygon or the middle point of a line, line places along lines multiple times per feature, vertex places on the vertexesof polygons, and interior attempts to place inside of a polygon.
text-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy (Alternative placements will not be enabled.)
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
text-placements
Type: string
Default Value: (No alternative placements will be used.)
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example is text-placements:"E,NE,SE,W,NW,SW";.
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize reverse
Default Value: none (Transform text instance with specified function. Ignores map scale factor.)
Transform the case of the characters.
70 Chapter 5. Mapnik API documentation
![Page 75: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/75.jpg)
carto Documentation
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto adjust
Default Value: auto (TODO.)
The text’s horizontal alignment from it’s centerpoint. If placement is set to line, then adjust can be set toauto-fit the text to the length of the path by dynamically calculating character-spacing.
text-align
Type: keyword
Possible values: left right center auto
Default Value: auto (Auto alignment means that text will be centered by default except when using the ‘‘placement-type‘‘ parameter - in that case either right or left justification will be used automatically depending on where the textcould be fit given the ‘‘text-placements‘‘ directives.)
Define how text is justified.
text-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
text-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify the geometries used for text placement by the given tolerance.
text-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify the geometries used for text placement by the given algorithm.
5.1. 3.0.20 71
![Page 76: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/76.jpg)
carto Documentation
text-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out the angles of the geometry used for text placement. 0 is nosmoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries.
text-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text-halo-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text-font-feature-settings
Type: string
Default Value: (Default set of typographic features recommended by OpenType specification. Ligatures are turned offby default when ‘‘character-spacing‘‘ is greater than zero.)
Comma separated list of OpenType typographic features. The syntax and semantics conforms tofont-feature-settings from W3C CSS.
72 Chapter 5. Mapnik API documentation
![Page 77: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/77.jpg)
carto Documentation
text-largest-bbox-only
Type: boolean
Status: experimental
Default Value: true (For multipolygons only polygon with largest bbox area is labeled (does not apply to other geome-tries).)
Controls default labeling behavior on multipolygons. The default is true and means that only the polygon with largestbbox is labeled.
text-grid-cell-width
Type: float
Default Value: 0 (No placement will be done.)
Controls horizontal spacing between placements of placement type grid or alternating-grid.
text-grid-cell-height
Type: float
Default Value: 0 (No placement will be done.)
Controls vertical spacing between placements of placement type grid or alternating-grid.
building
building
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a building symbolizer rule or emitting it with default values.
5.1. 3.0.20 73
![Page 78: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/78.jpg)
carto Documentation
building-fill
Type: color
Default Value: The color gray will be used for fill. (Gray and fully opaque (alpha = 1), same as rgb(128,128,128) orrgba(128,128,128,1).)
The color of the buildings fill. Note: 0.8 will be used to multiply each color component to auto-generate a darkenedwall color.
building-fill-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0 (Buildings will not have a visual height and will instead look like flat polygons.)
The height of the building in pixels.
debug
debug-mode
Type: keyword
Possible values: collision vertex
Default Value: collision (The otherwise invisible collision boxes will be rendered as squares on the map.)
The mode for debug rendering.
dot
dot
Type: keyword
Status: unstable
Possible values: auto none
74 Chapter 5. Mapnik API documentation
![Page 79: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/79.jpg)
carto Documentation
Default Value:
Allows omitting a dot symbolizer rule or emitting it with default values.
dot-fill
Type: color
Default Value: gray (The dot fill color is gray.)
The color of the area of the dot.
dot-opacity
Type: float
Default Value: 1 (The opacity of the dot.)
The overall opacity of the dot.
dot-width
Type: float
Default Value: 1 (The marker width is 1 pixel.)
The width of the dot in pixels.
dot-height
Type: float
Default Value: 1 (The marker height is 1 pixels.)
The height of the dot in pixels.
dot-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current layer on top of other layers.)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
5.1. 3.0.20 75
![Page 80: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/80.jpg)
carto Documentation
5.2 3.0.6
5.2.1 Style
image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradienty-gradient invert sharpen color-blind-protanope color-blind-deuteranopecolor-blind-tritanope colorize-alpha color-to-alpha scale-hsla
Default Value: none (no filters)
A list of image filters that will be applied to the active rendering canvas for a given style. The presence of one moreimage-filters will trigger a new canvas to be created before starting to render a style and then this canvas will becomposited back into the main canvas after rendering all features and after all image-filters have been applied.See direct-image-filters if you want to apply a filter directly to the main canvas.
image-filters-inflate
Type: boolean
Default Value: false (No special handling will be done and image filters that blur data will only blur up to the edge ofa tile boundary)
A property that can be set to true to enable using an inflated image internally for seamless blurring across tiles (requiresbuffered data).
direct-image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradienty-gradient invert sharpen color-blind-protanope color-blind-deuteranopecolor-blind-tritanope colorize-alpha color-to-alpha scale-hsla
Default Value: none (no filters)
A list of image filters to apply to the main canvas (see the image-filters doc for how they work on a separatecanvas).
comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
76 Chapter 5. Mapnik API documentation
![Page 81: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/81.jpg)
carto Documentation
Default Value: src-over (add the current layer on top of other layers)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
opacity
Type: float
Default Value: 1 (No separate buffer will be used and no alpha will be applied to the style after rendering.)
An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited backto main buffer).
5.2.2 Symbolizers
map
background-color
Type: color
Default Value: none (Will be rendered transparent.)
Map Background color.
background-image
Type: uri
Default Value: (No background image will be used.)
An image that is repeated below all features on a map as a background. Accepted formats: svg, jpg, png, tiff, andwebp.
background-image-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (The background-image will be blended with the background normally (placed on top of anyexisting background-color).)
Set the compositing operation used to blend the image into the background.
5.2. 3.0.6 77
![Page 82: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/82.jpg)
carto Documentation
background-image-opacity
Type: float
Default Value: 1 (The image opacity will not be changed when applied to the map background.)
Set the opacity of the image.
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space.)
Map spatial reference (proj4 string).
buffer-size
Type: float
Default Value: 0 (No buffer will be used.)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
maximum-extent
Type: string
Default Value: -20037508.34,-20037508.34,20037508.34,20037508.34 (All data will be clipped to global mercatorextent (default is applied in Carto.js).)
An extent to be used to limit the bounds used to query all layers during rendering. Should be minx, miny, maxx, maxyin the coordinates of the Map.
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
78 Chapter 5. Mapnik API documentation
![Page 83: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/83.jpg)
carto Documentation
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered.)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a polygon symbolizer rule or emitting it with default values.
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (Gray and fully opaque (alpha = 1), same as rgb(128,128,128) orrgba(128,128,128,1).)
Fill color to assign to a polygon.
polygon-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the polygon.
polygon-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of polygon edges.
5.2. 3.0.6 79
![Page 84: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/84.jpg)
carto Documentation
polygon-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA.)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
polygon-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extend outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
polygon-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify geometries by the given tolerance.
polygon-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify geometries by the given algorithm.
polygon-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
80 Chapter 5. Mapnik API documentation
![Page 85: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/85.jpg)
carto Documentation
polygon-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform polygon geometry with specified function.
polygon-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line
line
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a line symbolizer rule or emitting it with default values.
line-color
Type: color
Default Value: black (black and fully opaque (alpha = 1), same as rgb(0,0,0) or rgba(0,0,0,1).)
The color of a drawn line.
5.2. 3.0.6 81
![Page 86: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/86.jpg)
carto Documentation
line-width
Type: float
Default Value: 1 (The line will be rendered 1 pixel wide.)
The width of a line in pixels.
line-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of a line.
line-join
Type: keyword
Possible values: miter miter-revert round bevel
Default Value: miter (The line joins will be rendered using a miter look.)
The behavior of lines when joining.
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt (The line endings will be rendered using a butt look.)
The display of line endings.
line-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of stroke line.
82 Chapter 5. Mapnik API documentation
![Page 87: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/87.jpg)
carto Documentation
line-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA.)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
line-dasharray
Type: numbers
Default Value: none (The line will be drawn without dashes.)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (The line will be drawn without dashes.)
Valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is notyet enabled).
line-miterlimit
Type: float
Default Value: 4 (Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec:‘miterLength / stroke-width = 1 / sin ( theta / 2 )’.)
The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joinsfor sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to beset, but a larger value can sometimes help avoid jaggy artifacts.
5.2. 3.0.6 83
![Page 88: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/88.jpg)
carto Documentation
line-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
line-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify geometries by the given tolerance.
line-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify geometries by the given algorithm.
line-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-offset
Type: float
Status: unstable
Default Value: 0 (Will not be offset.)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
84 Chapter 5. Mapnik API documentation
![Page 89: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/89.jpg)
carto Documentation
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The line will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
line-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform line geometry with specified function.
line-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
markers
marker
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a marker symbolizer rule or emitting it with default values.
5.2. 3.0.6 85
![Page 90: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/90.jpg)
carto Documentation
marker-file
Type: uri
Default Value: none (An ellipse or circle, if width equals height.)
A file that this marker shows at each placement. If no file is given, the marker will show an ellipse. Accepted formats:svg, jpg, png, tiff, and webp.
marker-opacity
Type: float
Default Value: 1 (The stroke-opacity and fill-opacity of the marker.)
The overall opacity of the marker, if set, overrides both the opacity of the fill and the opacity of the stroke.
marker-fill-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The fill opacity of the marker. This property will also set the fill-opacity of elements in an SVG loaded from afile.
marker-line-color
Type: color
Default Value: black (The marker will be drawn with a black outline.)
The color of the stroke around the marker. This property will also set the stroke of elements in an SVG loaded froma file.
marker-line-width
Type: float
Default Value: 0.5 (The marker will be drawn with an outline of .5 pixels wide.)
The width of the stroke around the marker, in pixels. This is positioned on the boundary, so high values can cover thearea itself. This property will also set the stroke-width of elements in an SVG loaded from a file.
86 Chapter 5. Mapnik API documentation
![Page 91: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/91.jpg)
carto Documentation
marker-line-opacity
Type: float
Default Value: 1 (Color is fully opaque. This property will also set the ‘‘stroke-opacity‘‘ of elements in an SVG loadedfrom a file.)
The opacity of a line.
marker-placement
Type: keyword
Possible values: point line interior vertex-first vertex-last
Default Value: point (Place markers at the center point (centroid) of the geometry.)
Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times alonga line. ‘interior’ placement can be used to ensure that points placed on polygons are forced to be inside the polygoninterior. The ‘vertex-first’ and ‘vertex-last’ options can be used to place markers at the first or last vertex of lines orpolygons.
marker-multi-policy
Type: keyword
Possible values: each whole largest
Default Value: each (If a feature contains multiple geometries and the placement type is either point or interior then amarker will be rendered for each.)
A special setting to allow the user to control rendering behavior for ‘multi-geometries’ (when a feature containsmultiple geometries). This setting does not apply to markers placed along lines. The ‘each’ policy is default andmeans all geometries will get a marker. The ‘whole’ policy means that the aggregate centroid between all geometrieswill be used. The ‘largest’ policy means that only the largest (by bounding box areas) feature will get a renderedmarker (this is how text labeling behaves by default).
marker-type
Type: keyword
Status: deprecated
Possible values: arrow ellipse
Default Value: ellipse (The marker shape is an ellipse.)
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width).
5.2. 3.0.6 87
![Page 92: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/92.jpg)
carto Documentation
marker-width
Type: float
Default Value: 10 (The marker width is 10 pixels.)
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10 (The marker height is 10 pixels.)
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue (The marker fill color is blue.)
The color of the area of the marker. This property will also set the fill of elements in an SVG loaded from a file.
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow markers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
marker-avoid-edges
Type: boolean
Default Value: false (Markers will be potentially placed near tile edges and therefore may look cut off unless they arerendered on each adjacent tile.)
Avoid placing markers that intersect with tile boundaries.
88 Chapter 5. Mapnik API documentation
![Page 93: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/93.jpg)
carto Documentation
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache.)
Value to control whether the placement of the feature will prevent the placement of other features.
marker-spacing
Type: float
Default Value: 100 (In the case of marker-placement:line then draw a marker every 100 pixels along a line.)
Space between repeated markers in pixels. If the spacing is less than the marker size or larger than the line segmentlength then no marker will be placed. Any value less than 1 will be ignored and the default will be used instead.
marker-max-error
Type: float
Default Value: 0.2 (N/A: not intended to be changed.)
N/A: not intended to be changed.
marker-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform marker instance with specified function. Ignores map scale factor.
marker-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
5.2. 3.0.6 89
![Page 94: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/94.jpg)
carto Documentation
marker-simplify
Type: float
Default Value: 0 (Geometry will not be simplified.)
geometries are simplified by the given tolerance.
marker-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
marker-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
marker-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform marker geometry with specified function.
marker-offset
Type: float
Default Value: 0 (Will not be offset.)
Offsets a marker from a line a number of pixels parallel to its actual path. Positive values move the marker left,negative values move it right (relative to the directionality of the line).
90 Chapter 5. Mapnik API documentation
![Page 95: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/95.jpg)
carto Documentation
marker-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
marker-direction
Type: keyword
Possible values: auto auto-down left right left-only right-only up down
Default Value: right (Markers are oriented to the right in the line direction.)
How markers should be placed along lines. With the “auto” setting when marker is upside down the marker is auto-matically rotated by 180 degrees to keep it upright. The “auto-down” value places marker in the opposite orientation to“auto”. The “left” or “right” settings can be used to force marker to always be placed along a line in a given directionand therefore disables rotating if marker appears upside down. The “left-only” or “right-only” properties also force agiven direction but will discard upside down markers rather than trying to flip it. The “up” and “down” settings don’tadjust marker’s orientation to the line direction.
shield
shield
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a shield symbolizer rule.
shield-name
Type: string
Default Value: (No text label will be rendered with the shield.)
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name].
5.2. 3.0.6 91
![Page 96: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/96.jpg)
carto Documentation
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text. Accepted formats: svg, jpg, png, tiff, and webp.
shield-face-name
Type: string
Default Value: none
Font name and style to use for the shield text.
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image.
shield-size
Type: float
Default Value: 10 (Font size of 10 will be used to render text.)
The size of the shield text in pixels.
shield-fill
Type: color
Default Value: black (The shield text will be rendered black.)
The color of the shield text.
92 Chapter 5. Mapnik API documentation
![Page 97: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/97.jpg)
carto Documentation
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point (One shield will be placed per geometry.)
How this shield should be placed. Point placement places one shield on top of a point geometry and at the centroid ofa polygon or the middle point of a line, line places along lines multiple times per feature, vertex places on the vertexesof polygons, and interior attempts to place inside of a polygon.
shield-avoid-edges
Type: boolean
Default Value: false (Shields will be potentially placed near tile edges and therefore may look cut off unless they arerendered on each adjacent tile.)
Avoid placing shields that intersect with tile boundaries.
shield-allow-overlap
Type: boolean
Default Value: false (Do not allow shields to overlap with other map elements already placed.)
Control whether overlapping shields are shown or hidden.
shield-margin
Type: float
Default Value: 0 (No extra margin will be used to determine if a shield collides with any other text, shield, or marker.)
Minimum distance that a shield can be placed from any other text, shield, or marker.
shield-repeat-distance
Type: float
Default Value: 0 (Shields with the same text will be rendered without restriction.)
Minimum distance between repeated shields. If set this will prevent shields being rendered nearby each other thatcontain the same text. Similar to shield-min-distance with the difference that it works the same no matter whatplacement strategy is used.
5.2. 3.0.6 93
![Page 98: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/98.jpg)
carto Documentation
shield-min-distance
Type: float
Status: deprecated
Default Value: 0 (Shields with the same text will be rendered without restriction.)
Minimum distance to any other collision object. Deprecated: replaced by text-margin.
shield-spacing
Type: float
Default Value: 0 (Only one shield per line will attempt to be placed.)
Distance the renderer should use to try to place repeated shields on a line.
shield-min-padding
Type: float
Default Value: 0 (No margin will be used to detect if a shield is nearby a tile boundary.)
Minimum distance a shield will be placed from the edge of a tile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the tile.
shield-label-position-tolerance
Type: float
Default Value: shield-spacing/2.0 (If a shield cannot be placed then the renderer will advance by shield-spacing/2.0to try placement again.)
Allows the shield to be displaced from its ideal position by a number of pixels (only works with placement:line).
shield-wrap-width
Type: unsigned
Default Value: 0 (Text will not be wrapped.)
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
94 Chapter 5. Mapnik API documentation
![Page 99: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/99.jpg)
carto Documentation
shield-wrap-before
Type: boolean
Default Value: false (Wrapped lines will be a bit longer than wrap-width.)
Wrap text before wrap-width is reached.
shield-wrap-character
Type: string
Default Value: ” ” (Lines will be wrapped conforming to the (untailored) Unicode Line Break Algorithm provided byICU BreakIterator.)
Must be a single character. If you set it to other than the space character, Mapnik will wrap strictly on that characterwithout involving any additional rules.
shield-halo-fill
Type: color
Default Value: white (The shield halo text will be rendered white.)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo.)
Specify the radius of the halo in pixels.
shield-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The shield will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate text halo rendering method that sacrifices quality for speed.
5.2. 3.0.6 95
![Page 100: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/100.jpg)
carto Documentation
shield-halo-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation.)
Transform shield halo relative to the actual text with specified function. Allows for shadow or embossed effects.Ignores map scale factor.
shield-halo-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
shield-halo-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text halo.
shield-character-spacing
Type: unsigned
Default Value: 0 (The default character spacing of the font will be used.)
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
shield-line-spacing
Type: float
Default Value: 0 (The default font spacing will be used.)
Vertical spacing between lines of multiline labels (in pixels).
96 Chapter 5. Mapnik API documentation
![Page 101: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/101.jpg)
carto Documentation
shield-text-dx
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the shield right.
shield-text-dy
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the shield down.
shield-dx
Type: float
Default Value: 0 (Shield will not be displaced.)
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right.
shield-dy
Type: float
Default Value: 0 (Shield will not be displaced.)
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down.
shield-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the image used for the shield.
5.2. 3.0.6 97
![Page 102: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/102.jpg)
carto Documentation
shield-text-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the text placed on top of the shield.
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto (TODO.)
The shield’s horizontal alignment from its centerpoint.
shield-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: middle (TODO.)
The shield’s vertical alignment from its centerpoint.
shield-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy (Alternative placements will not be enabled.)
Re-position and/or re-size shield to avoid overlaps. “simple” for basic algorithm (using shield-placements string,)“dummy” to turn this feature off.
shield-placements
Type: string
Default Value: (No alternative placements will be used.)
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example isshield-placements: "E,NE,SE,W,NW,SW";.
98 Chapter 5. Mapnik API documentation
![Page 103: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/103.jpg)
carto Documentation
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize reverse
Default Value: none (No text transformation will be applied.)
Transform the case of the characters.
shield-justify-alignment
Type: keyword
Possible values: left center right auto
Default Value: auto (TODO.)
Define how text in a shield’s label is justified.
shield-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform shield instance with specified function. Ignores map scale factor.
shield-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
shield-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify the geometries used for shield placement by the given tolerance.
5.2. 3.0.6 99
![Page 104: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/104.jpg)
carto Documentation
shield-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify the geometries used for shield placement by the given algorithm.
shield-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out the angles of the geometry used for shield placement. 0 isno smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries.
shield-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line-pattern
line-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a line pattern symbolizer rule or emitting it with default values.
100 Chapter 5. Mapnik API documentation
![Page 105: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/105.jpg)
carto Documentation
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line. Accepted formats: svg, jpg, png, tiff, and webp.
line-pattern-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
line-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications.)
Apply an opacity level to the image used for the pattern.
line-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
geometries are simplified by the given tolerance.
line-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
5.2. 3.0.6 101
![Page 106: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/106.jpg)
carto Documentation
line-pattern-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-pattern-offset
Type: float
Default Value: 0 (The line will not be offset.)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
line-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform line geometry with specified function and apply pattern to transformed geometry.
line-pattern-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform line pattern instance with specified function.
line-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
102 Chapter 5. Mapnik API documentation
![Page 107: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/107.jpg)
carto Documentation
polygon-pattern
polygon-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a polygon pattern symbolizer rule or emitting it with default values.
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon. Accepted formats: svg, jpg, png, tiff, and webp.
polygon-pattern-alignment
Type: keyword
Possible values: global local
Default Value: global (Patterns will be aligned to the map (or tile boundaries) when being repeated across polygons.This is ideal for seamless patterns in tiled rendering.)
Specify whether to align pattern fills to the layer’s geometry (local) or to the map (global).
polygon-pattern-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of polygon pattern edges.
polygon-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications.)
Apply an opacity level to the image used for the pattern.
5.2. 3.0.6 103
![Page 108: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/108.jpg)
carto Documentation
polygon-pattern-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
polygon-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
geometries are simplified by the given tolerance.
polygon-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
polygon-pattern-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform polygon geometry with specified function and apply pattern to transformed geometry.
104 Chapter 5. Mapnik API documentation
![Page 109: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/109.jpg)
carto Documentation
polygon-pattern-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform polygon pattern instance with specified function.
polygon-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
raster
raster
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a raster symbolizer rule or emitting it with default values.
raster-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the raster symbolizer on top of other symbolizers.
5.2. 3.0.6 105
![Page 110: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/110.jpg)
carto Documentation
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: near fast bilinear bicubic spline16 spline36 hanning hamming hermitekaiser quadric catrom gaussian bessel mitchell sinc lanczos blackman
Default Value: near (Nearest neighboor resampling will be used to scale the image to the target size of the map.)
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
raster-mesh-size
Type: unsigned
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image.)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
raster-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
106 Chapter 5. Mapnik API documentation
![Page 111: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/111.jpg)
carto Documentation
raster-colorizer-default-mode
Type: keyword
Possible values: discrete linear exact
Default Value: linear (A linear interpolation is used to generate colors between the two nearest stops.)
This can be either discrete, linear or exact. If it is not specified then the default is linear.
raster-colorizer-default-color
Type: color
Default Value: transparent (Pixels that are not colored by the colorizer stops will be transparent.)
This can be any color. Sets the color that is applied to all values outside of the range of the colorizer-stops. If notsupplied pixels will be fully transparent.
raster-colorizer-epsilon
Type: float
Default Value: 1.1920928955078125e-07 (Pixels must very closely match the stop filter otherwise they will not becolored.)
This can be any positive floating point value and will be used as a tolerance in floating point comparisions. The higherthe value the more likely a stop will match and color data.
raster-colorizer-stops
Type: tags
Default Value: (No colorization will happen without supplying stops.)
Assigns raster data values to colors. Stops must be listed in ascending order, and contain at a minimum the value andthe associated color. You can also include the color-mode as a third argument, like stop(100,#fff,exact).
point
point
Type: keyword
Status: unstable
Possible values: auto none
5.2. 3.0.6 107
![Page 112: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/112.jpg)
carto Documentation
Default Value:
Allows omitting a point symbolizer rule or emitting it with default values.
point-file
Type: uri
Default Value: none (A 4x4 black square will be rendered.)
Image file to represent a point. Accepted formats: svg, jpg, png, tiff, and webp.
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache.)
Control whether the placement of the feature will prevent the placement of other features.
point-opacity
Type: float
Default Value: 1 (Fully opaque.)
A value from 0 to 1 to control the opacity of the point.
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid (The centroid of the geometry will be used to place the point.)
Control how this point should be placed. Centroid calculates the geometric center of a polygon, which can be outsideof it, while interior always places inside of a polygon.
108 Chapter 5. Mapnik API documentation
![Page 113: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/113.jpg)
carto Documentation
point-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform point instance with specified function. Ignores map scale factor.
point-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text
text
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a text symbolizer rule.
text-name
Type: string
Default Value: none
Value to use for a text label. Data columns are specified using brackets like [column_name].
5.2. 3.0.6 109
![Page 114: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/114.jpg)
carto Documentation
text-face-name
Type: string
Default Value: none
Font name and style to render a label in.
text-size
Type: float
Default Value: 10 (Font size of 10 will be used to render text.)
Text size in pixels.
text-ratio
Type: unsigned
Default Value: 0 (TODO.)
Define the amount of text (of the total) present on successive lines when wrapping occurs.
text-wrap-width
Type: unsigned
Default Value: 0 (Text will not be wrapped.)
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
text-wrap-before
Type: boolean
Default Value: false (Wrapped lines will be a bit longer than wrap-width.)
Wrap text before wrap-width is reached.
110 Chapter 5. Mapnik API documentation
![Page 115: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/115.jpg)
carto Documentation
text-wrap-character
Type: string
Default Value: ” ” (Lines will be wrapped conforming to the (untailored) Unicode Line Break Algorithm provided byICU BreakIterator.)
Must be a single character. If you set it to other than the space character, Mapnik will wrap strictly on that characterwithout involving any additional rules.
text-repeat-wrap-character
Type: boolean
Status: unstable
Default Value: false (Character will be removed when used to wrap a line.)
Keep the character used to wrap a line instead of removing it, and repeat it on the new line.
text-spacing
Type: unsigned
Default Value: 0 (Only one label per line will attempt to be placed.)
Distance the renderer should use to try to place repeated text labels on a line.
text-character-spacing
Type: float
Default Value: 0 (The default character spacing of the font will be used.)
Horizontal spacing adjustment between characters in pixels. This value is ignored when horizontal-alignmentis set to adjust. Typographic ligatures are turned off when this value is greater than zero.
text-line-spacing
Type: float
Default Value: 0 (The default font spacing will be used.)
Vertical spacing adjustment between lines in pixels.
5.2. 3.0.6 111
![Page 116: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/116.jpg)
carto Documentation
text-label-position-tolerance
Type: float
Default Value: text-spacing/2.0 (If a shield cannot be placed then the renderer will advance by text-spacing/2.0 to tryplacement again.)
Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line).
text-max-char-angle-delta
Type: float
Default Value: 22.5 (The label will not be placed if a character falls on a line with an angle sharper than 22.5 degrees.)
The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally isconverted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed aroundaround sharp corners.
text-fill
Type: color
Default Value: black (The text will be rendered black.)
Specifies the color for the text.
text-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text.
text-halo-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text halo.
112 Chapter 5. Mapnik API documentation
![Page 117: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/117.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: white (The halo will be rendered white.)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo.)
Specify the radius of the halo in pixels.
text-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The text will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate text halo rendering method that sacrifices quality for speed.
text-halo-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation.)
Transform text halo relative to the actual text with specified function. Allows for shadow or embossed effects. Ignoresmap scale factor.
text-dx
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text by fixed amount, in pixels, +/- along the X axis. With “dummy” placement-type, a positive valuedisplaces to the right. With “simple” placement-type, it is either left, right or unchanged, depending on the placementselected. Any non-zero value implies “horizontal-alignment” changes to “left” by default. Has no effect with ‘line’text-placement-type.
5.2. 3.0.6 113
![Page 118: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/118.jpg)
carto Documentation
text-dy
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text by fixed amount, in pixels, +/- along the Y axis. With “dummy” placement-type, a positive valuedisplaces downwards. With “simple” placement-type, it is either up, down or unchanged, depending on the placementselected. With “line” placement-type, a positive value displaces above the path.
text-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: auto (Default affected by value of dy; “top” for dy>0, “bottom” for dy<0.)
Position of label relative to point position.
text-avoid-edges
Type: boolean
Default Value: false (Text will be potentially placed near tile edges and therefore may look cut off unless the same textlabel is rendered on each adjacent tile.)
Avoid placing labels that intersect with tile boundaries.
text-margin
Type: float
Default Value: 0 (No extra margin will be used to determine if a label collides with any other text, shield, or marker.)
Minimum distance that a label can be placed from any other text, shield, or marker.
text-repeat-distance
Type: float
Default Value: 0 (Labels with the same text will be rendered without restriction.)
Minimum distance between repeated text. If set this will prevent text labels being rendered nearby each other thatcontain the same text. Similar to text-min-distance with the difference that it works the same no matter what placementstrategy is used.
114 Chapter 5. Mapnik API documentation
![Page 119: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/119.jpg)
carto Documentation
text-min-distance
Type: float
Status: deprecated
Default Value: 0 (Labels with the same text will be rendered without restriction.)
Minimum distance to the next label with the same text. Only works for line placement. Deprecated: replaced bytext-repeat-distance and text-margin
text-min-padding
Type: float
Default Value: 0 (No margin will be used to detect if a text label is nearby a tile boundary.)
Minimum distance a text label will be placed from the edge of a tile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the tile.
text-min-path-length
Type: float
Default Value: 0 (place labels on all geometries no matter how small they are.)
Place labels only on polygons and lines with a bounding width longer than this value (in pixels).
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
text-orientation
Type: float
Default Value: 0 (Text is not rotated and is displayed upright.)
Rotate the text. (only works with text-placement:point).
5.2. 3.0.6 115
![Page 120: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/120.jpg)
carto Documentation
text-rotate-displacement
Type: boolean
Default Value: false (Label center is used for rotation.)
Rotates the displacement around the placement origin by the angle given by “orientation”.
text-upright
Type: keyword
Possible values: auto auto-down left right left-only right-only
Default Value: auto (Text will be positioned upright automatically.)
How this label should be placed along lines. By default when more than half of a label’s characters are upside downthe label is automatically flipped to keep it upright. By changing this parameter you can prevent this “auto-upright”behavior. The “auto-down” value places text in the opposite orientation to “auto”. The “left” or “right” settings can beused to force text to always be placed along a line in a given direction and therefore disables flipping if text appearsupside down. The “left-only” or “right-only” properties also force a given direction but will discard upside down textrather than trying to flip it.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point (One shield will be placed per geometry.)
How this label should be placed. Point placement places one label on top of a point geometry and at the centroid of apolygon or the middle point of a line, line places along lines multiple times per feature, vertex places on the vertexesof polygons, and interior attempts to place inside of a polygon.
text-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy (Alternative placements will not be enabled.)
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
116 Chapter 5. Mapnik API documentation
![Page 121: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/121.jpg)
carto Documentation
text-placements
Type: string
Default Value: (No alternative placements will be used.)
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example is text-placements:"E,NE,SE,W,NW,SW";.
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize reverse
Default Value: none (Transform text instance with specified function. Ignores map scale factor.)
Transform the case of the characters.
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto adjust
Default Value: auto (TODO.)
The text’s horizontal alignment from it’s centerpoint. If placement is set to line, then adjust can be set toauto-fit the text to the length of the path by dynamically calculating character-spacing.
text-align
Type: keyword
Possible values: left right center auto
Default Value: auto (Auto alignment means that text will be centered by default except when using the ‘‘placement-type‘‘ parameter - in that case either right or left justification will be used automatically depending on where the textcould be fit given the ‘‘text-placements‘‘ directives.)
Define how text is justified.
text-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
5.2. 3.0.6 117
![Page 122: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/122.jpg)
carto Documentation
text-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify the geometries used for text placement by the given tolerance.
text-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify the geometries used for text placement by the given algorithm.
text-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out the angles of the geometry used for text placement. 0 is nosmoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries.
text-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text-halo-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
118 Chapter 5. Mapnik API documentation
![Page 123: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/123.jpg)
carto Documentation
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text-font-feature-settings
Type: string
Default Value: (Default set of typographic features recommended by OpenType specification. Ligatures are turned offby default when ‘‘character-spacing‘‘ is greater than zero.)
Comma separated list of OpenType typographic features. The syntax and semantics conforms tofont-feature-settings from W3C CSS.
text-largest-bbox-only
Type: boolean
Status: experimental
Default Value: true (For multipolygons only polygon with largest bbox area is labeled (does not apply to other geome-tries).)
Controls default labeling behavior on multipolygons. The default is true and means that only the polygon with largestbbox is labeled.
building
building
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a building symbolizer rule or emitting it with default values.
building-fill
Type: color
Default Value: The color gray will be used for fill. (Gray and fully opaque (alpha = 1), same as rgb(128,128,128) orrgba(128,128,128,1).)
The color of the buildings fill. Note: 0.8 will be used to multiply each color component to auto-generate a darkenedwall color.
5.2. 3.0.6 119
![Page 124: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/124.jpg)
carto Documentation
building-fill-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0 (Buildings will not have a visual height and will instead look like flat polygons.)
The height of the building in pixels.
debug
debug-mode
Type: keyword
Possible values: collision vertex
Default Value: collision (The otherwise invisible collision boxes will be rendered as squares on the map.)
The mode for debug rendering.
dot
dot
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a dot symbolizer rule or emitting it with default values.
dot-fill
Type: color
Default Value: gray (The dot fill color is gray.)
The color of the area of the dot.
120 Chapter 5. Mapnik API documentation
![Page 125: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/125.jpg)
carto Documentation
dot-opacity
Type: float
Default Value: 1 (The opacity of the dot.)
The overall opacity of the dot.
dot-width
Type: float
Default Value: 1 (The marker width is 1 pixel.)
The width of the dot in pixels.
dot-height
Type: float
Default Value: 1 (The marker height is 1 pixels.)
The height of the dot in pixels.
dot-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current layer on top of other layers.)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
5.3 3.0.3
5.3.1 Style
image-filters
Type: functions
5.3. 3.0.3 121
![Page 126: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/126.jpg)
carto Documentation
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradienty-gradient invert sharpen color-blind-protanope color-blind-deuteranopecolor-blind-tritanope colorize-alpha color-to-alpha scale-hsla
Default Value: none (no filters)
A list of image filters that will be applied to the active rendering canvas for a given style. The presence of one moreimage-filters will trigger a new canvas to be created before starting to render a style and then this canvas will becomposited back into the main canvas after rendering all features and after all image-filters have been applied.See direct-image-filters if you want to apply a filter directly to the main canvas.
image-filters-inflate
Type: boolean
Default Value: false (No special handling will be done and image filters that blur data will only blur up to the edge ofa tile boundary)
A property that can be set to true to enable using an inflated image internally for seamless blurring across tiles (requiresbuffered data).
direct-image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradienty-gradient invert sharpen color-blind-protanope color-blind-deuteranopecolor-blind-tritanope colorize-alpha color-to-alpha scale-hsla
Default Value: none (no filters)
A list of image filters to apply to the main canvas (see the image-filters doc for how they work on a separatecanvas).
comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (add the current layer on top of other layers)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
122 Chapter 5. Mapnik API documentation
![Page 127: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/127.jpg)
carto Documentation
opacity
Type: float
Default Value: 1 (No separate buffer will be used and no alpha will be applied to the style after rendering.)
An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited backto main buffer).
5.3.2 Symbolizers
map
background-color
Type: color
Default Value: none (Will be rendered transparent.)
Map Background color.
background-image
Type: uri
Default Value: (No background image will be used.)
An image that is repeated below all features on a map as a background. Accepted formats: svg, jpg, png, tiff, andwebp.
background-image-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (The background-image will be blended with the background normally (placed on top of anyexisting background-color).)
Set the compositing operation used to blend the image into the background.
5.3. 3.0.3 123
![Page 128: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/128.jpg)
carto Documentation
background-image-opacity
Type: float
Default Value: 1 (The image opacity will not be changed when applied to the map background.)
Set the opacity of the image.
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space.)
Map spatial reference (proj4 string).
buffer-size
Type: float
Default Value: 0 (No buffer will be used.)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
maximum-extent
Type: string
Default Value: -20037508.34,-20037508.34,20037508.34,20037508.34 (All data will be clipped to global mercatorextent (default is applied in Carto.js).)
An extent to be used to limit the bounds used to query all layers during rendering. Should be minx, miny, maxx, maxyin the coordinates of the Map.
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
124 Chapter 5. Mapnik API documentation
![Page 129: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/129.jpg)
carto Documentation
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered.)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a polygon symbolizer rule or emitting it with default values.
polygon-fill
Type: color
Default Value: The color gray will be used for fill. (Gray and fully opaque (alpha = 1), same as rgb(128,128,128) orrgba(128,128,128,1).)
Fill color to assign to a polygon.
polygon-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the polygon.
polygon-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of polygon edges.
5.3. 3.0.3 125
![Page 130: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/130.jpg)
carto Documentation
polygon-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA.)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
polygon-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extend outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
polygon-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify geometries by the given tolerance.
polygon-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify geometries by the given algorithm.
polygon-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
126 Chapter 5. Mapnik API documentation
![Page 131: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/131.jpg)
carto Documentation
polygon-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform polygon geometry with specified function.
polygon-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line
line
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a line symbolizer rule or emitting it with default values.
line-color
Type: color
Default Value: black (black and fully opaque (alpha = 1), same as rgb(0,0,0) or rgba(0,0,0,1).)
The color of a drawn line.
5.3. 3.0.3 127
![Page 132: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/132.jpg)
carto Documentation
line-width
Type: float
Default Value: 1 (The line will be rendered 1 pixel wide.)
The width of a line in pixels.
line-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of a line.
line-join
Type: keyword
Possible values: miter miter-revert round bevel
Default Value: miter (The line joins will be rendered using a miter look.)
The behavior of lines when joining.
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt (The line endings will be rendered using a butt look.)
The display of line endings.
line-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of stroke line.
128 Chapter 5. Mapnik API documentation
![Page 133: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/133.jpg)
carto Documentation
line-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA.)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
line-dasharray
Type: numbers
Default Value: none (The line will be drawn without dashes.)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (The line will be drawn without dashes.)
Valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is notyet enabled).
line-miterlimit
Type: float
Default Value: 4 (Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec:‘miterLength / stroke-width = 1 / sin ( theta / 2 )’.)
The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joinsfor sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to beset, but a larger value can sometimes help avoid jaggy artifacts.
5.3. 3.0.3 129
![Page 134: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/134.jpg)
carto Documentation
line-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
line-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify geometries by the given tolerance.
line-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify geometries by the given algorithm.
line-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-offset
Type: float
Status: unstable
Default Value: 0 (Will not be offset.)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
130 Chapter 5. Mapnik API documentation
![Page 135: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/135.jpg)
carto Documentation
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The line will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
line-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform line geometry with specified function.
line-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
markers
marker
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a marker symbolizer rule or emitting it with default values.
5.3. 3.0.3 131
![Page 136: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/136.jpg)
carto Documentation
marker-file
Type: uri
Default Value: none (An ellipse or circle, if width equals height.)
A file that this marker shows at each placement. If no file is given, the marker will show an ellipse. Accepted formats:svg, jpg, png, tiff, and webp.
marker-opacity
Type: float
Default Value: 1 (The stroke-opacity and fill-opacity of the marker.)
The overall opacity of the marker, if set, overrides both the opacity of the fill and the opacity of the stroke.
marker-fill-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The fill opacity of the marker. This property will also set the fill-opacity of elements in an SVG loaded from afile.
marker-line-color
Type: color
Default Value: black (The marker will be drawn with a black outline.)
The color of the stroke around the marker. This property will also set the stroke of elements in an SVG loaded froma file.
marker-line-width
Type: float
Default Value: 0.5 (The marker will be drawn with an outline of .5 pixels wide.)
The width of the stroke around the marker, in pixels. This is positioned on the boundary, so high values can cover thearea itself. This property will also set the stroke-width of elements in an SVG loaded from a file.
132 Chapter 5. Mapnik API documentation
![Page 137: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/137.jpg)
carto Documentation
marker-line-opacity
Type: float
Default Value: 1 (Color is fully opaque. This property will also set the ‘‘stroke-opacity‘‘ of elements in an SVG loadedfrom a file.)
The opacity of a line.
marker-placement
Type: keyword
Possible values: point line interior vertex-first vertex-last
Default Value: point (Place markers at the center point (centroid) of the geometry.)
Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times alonga line. ‘interior’ placement can be used to ensure that points placed on polygons are forced to be inside the polygoninterior. The ‘vertex-first’ and ‘vertex-last’ options can be used to place markers at the first or last vertex of lines orpolygons.
marker-multi-policy
Type: keyword
Possible values: each whole largest
Default Value: each (If a feature contains multiple geometries and the placement type is either point or interior then amarker will be rendered for each.)
A special setting to allow the user to control rendering behavior for ‘multi-geometries’ (when a feature containsmultiple geometries). This setting does not apply to markers placed along lines. The ‘each’ policy is default andmeans all geometries will get a marker. The ‘whole’ policy means that the aggregate centroid between all geometrieswill be used. The ‘largest’ policy means that only the largest (by bounding box areas) feature will get a renderedmarker (this is how text labeling behaves by default).
marker-type
Type: keyword
Status: deprecated
Possible values: arrow ellipse
Default Value: ellipse (The marker shape is an ellipse.)
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width).
5.3. 3.0.3 133
![Page 138: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/138.jpg)
carto Documentation
marker-width
Type: float
Default Value: 10 (The marker width is 10 pixels.)
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10 (The marker height is 10 pixels.)
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue (The marker fill color is blue.)
The color of the area of the marker. This property will also set the fill of elements in an SVG loaded from a file.
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow markers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
marker-avoid-edges
Type: boolean
Default Value: false (Markers will be potentially placed near tile edges and therefore may look cut off unless they arerendered on each adjacent tile.)
Avoid placing markers that intersect with tile boundaries.
134 Chapter 5. Mapnik API documentation
![Page 139: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/139.jpg)
carto Documentation
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache.)
Value to control whether the placement of the feature will prevent the placement of other features.
marker-spacing
Type: float
Default Value: 100 (In the case of marker-placement:line then draw a marker every 100 pixels along a line.)
Space between repeated markers in pixels. If the spacing is less than the marker size or larger than the line segmentlength then no marker will be placed. Any value less than 1 will be ignored and the default will be used instead.
marker-max-error
Type: float
Default Value: 0.2 (N/A: not intended to be changed.)
N/A: not intended to be changed.
marker-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform marker instance with specified function. Ignores map scale factor.
marker-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
5.3. 3.0.3 135
![Page 140: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/140.jpg)
carto Documentation
marker-simplify
Type: float
Default Value: 0 (Geometry will not be simplified.)
geometries are simplified by the given tolerance.
marker-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
marker-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
marker-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform marker geometry with specified function.
marker-offset
Type: float
Default Value: 0 (Will not be offset.)
Offsets a marker from a line a number of pixels parallel to its actual path. Positive values move the marker left,negative values move it right (relative to the directionality of the line).
136 Chapter 5. Mapnik API documentation
![Page 141: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/141.jpg)
carto Documentation
marker-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
marker-direction
Type: keyword
Possible values: auto auto-down left right left-only right-only up down
Default Value: right (Markers are oriented to the right in the line direction.)
How markers should be placed along lines. With the “auto” setting when marker is upside down the marker is auto-matically rotated by 180 degrees to keep it upright. The “auto-down” value places marker in the opposite orientation to“auto”. The “left” or “right” settings can be used to force marker to always be placed along a line in a given directionand therefore disables rotating if marker appears upside down. The “left-only” or “right-only” properties also force agiven direction but will discard upside down markers rather than trying to flip it. The “up” and “down” settings don’tadjust marker’s orientation to the line direction.
shield
shield
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a shield symbolizer rule.
shield-name
Type: string
Default Value: (No text label will be rendered with the shield.)
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name].
5.3. 3.0.3 137
![Page 142: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/142.jpg)
carto Documentation
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text. Accepted formats: svg, jpg, png, tiff, and webp.
shield-face-name
Type: string
Default Value: none
Font name and style to use for the shield text.
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image.
shield-size
Type: float
Default Value: 10 (Font size of 10 will be used to render text.)
The size of the shield text in pixels.
shield-fill
Type: color
Default Value: black (The shield text will be rendered black.)
The color of the shield text.
138 Chapter 5. Mapnik API documentation
![Page 143: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/143.jpg)
carto Documentation
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point (One shield will be placed per geometry.)
How this shield should be placed. Point placement places one shield on top of a point geometry and at the centroid ofa polygon or the middle point of a line, line places along lines multiple times per feature, vertex places on the vertexesof polygons, and interior attempts to place inside of a polygon.
shield-avoid-edges
Type: boolean
Default Value: false (Shields will be potentially placed near tile edges and therefore may look cut off unless they arerendered on each adjacent tile.)
Avoid placing shields that intersect with tile boundaries.
shield-allow-overlap
Type: boolean
Default Value: false (Do not allow shields to overlap with other map elements already placed.)
Control whether overlapping shields are shown or hidden.
shield-margin
Type: float
Default Value: 0 (No extra margin will be used to determine if a shield collides with any other text, shield, or marker.)
Minimum distance that a shield can be placed from any other text, shield, or marker.
shield-repeat-distance
Type: float
Default Value: 0 (Shields with the same text will be rendered without restriction.)
Minimum distance between repeated shields. If set this will prevent shields being rendered nearby each other thatcontain the same text. Similar to shield-min-distance with the difference that it works the same no matter whatplacement strategy is used.
5.3. 3.0.3 139
![Page 144: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/144.jpg)
carto Documentation
shield-min-distance
Type: float
Status: deprecated
Default Value: 0 (Shields with the same text will be rendered without restriction.)
Minimum distance to any other collision object. Deprecated: replaced by text-margin.
shield-spacing
Type: float
Default Value: 0 (Only one shield per line will attempt to be placed.)
Distance the renderer should use to try to place repeated shields on a line.
shield-min-padding
Type: float
Default Value: 0 (No margin will be used to detect if a shield is nearby a tile boundary.)
Minimum distance a shield will be placed from the edge of a tile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the tile.
shield-label-position-tolerance
Type: float
Default Value: shield-spacing/2.0 (If a shield cannot be placed then the renderer will advance by shield-spacing/2.0to try placement again.)
Allows the shield to be displaced from its ideal position by a number of pixels (only works with placement:line).
shield-wrap-width
Type: unsigned
Default Value: 0 (Text will not be wrapped.)
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
140 Chapter 5. Mapnik API documentation
![Page 145: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/145.jpg)
carto Documentation
shield-wrap-before
Type: boolean
Default Value: false (Wrapped lines will be a bit longer than wrap-width.)
Wrap text before wrap-width is reached.
shield-wrap-character
Type: string
Default Value: ” ” (Lines will be wrapped conforming to the (untailored) Unicode Line Break Algorithm provided byICU BreakIterator.)
Must be a single character. If you set it to other than the space character, Mapnik will wrap strictly on that characterwithout involving any additional rules.
shield-halo-fill
Type: color
Default Value: white (The shield halo text will be rendered white.)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo.)
Specify the radius of the halo in pixels.
shield-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The shield will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate text halo rendering method that sacrifices quality for speed.
5.3. 3.0.3 141
![Page 146: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/146.jpg)
carto Documentation
shield-halo-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation.)
Transform shield halo relative to the actual text with specified function. Allows for shadow or embossed effects.Ignores map scale factor.
shield-halo-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
shield-halo-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text halo.
shield-character-spacing
Type: unsigned
Default Value: 0 (The default character spacing of the font will be used.)
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
shield-line-spacing
Type: float
Default Value: 0 (The default font spacing will be used.)
Vertical spacing between lines of multiline labels (in pixels).
142 Chapter 5. Mapnik API documentation
![Page 147: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/147.jpg)
carto Documentation
shield-text-dx
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the shield right.
shield-text-dy
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the shield down.
shield-dx
Type: float
Default Value: 0 (Shield will not be displaced.)
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right.
shield-dy
Type: float
Default Value: 0 (Shield will not be displaced.)
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down.
shield-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the image used for the shield.
5.3. 3.0.3 143
![Page 148: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/148.jpg)
carto Documentation
shield-text-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the text placed on top of the shield.
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto (TODO.)
The shield’s horizontal alignment from its centerpoint.
shield-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: middle (TODO.)
The shield’s vertical alignment from its centerpoint.
shield-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy (Alternative placements will not be enabled.)
Re-position and/or re-size shield to avoid overlaps. “simple” for basic algorithm (using shield-placements string,)“dummy” to turn this feature off.
shield-placements
Type: string
Default Value: (No alternative placements will be used.)
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example isshield-placements: "E,NE,SE,W,NW,SW";.
144 Chapter 5. Mapnik API documentation
![Page 149: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/149.jpg)
carto Documentation
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize reverse
Default Value: none (No text transformation will be applied.)
Transform the case of the characters.
shield-justify-alignment
Type: keyword
Possible values: left center right auto
Default Value: auto (TODO.)
Define how text in a shield’s label is justified.
shield-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform shield instance with specified function. Ignores map scale factor.
shield-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
shield-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify the geometries used for shield placement by the given tolerance.
5.3. 3.0.3 145
![Page 150: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/150.jpg)
carto Documentation
shield-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify the geometries used for shield placement by the given algorithm.
shield-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out the angles of the geometry used for shield placement. 0 isno smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries.
shield-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line-pattern
line-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a line pattern symbolizer rule.
146 Chapter 5. Mapnik API documentation
![Page 151: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/151.jpg)
carto Documentation
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line. Accepted formats: svg, jpg, png, tiff, and webp.
line-pattern-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
line-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications.)
Apply an opacity level to the image used for the pattern.
line-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
geometries are simplified by the given tolerance.
line-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
5.3. 3.0.3 147
![Page 152: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/152.jpg)
carto Documentation
line-pattern-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-pattern-offset
Type: float
Default Value: 0 (The line will not be offset.)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
line-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform line geometry with specified function and apply pattern to transformed geometry.
line-pattern-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform line pattern instance with specified function.
line-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
148 Chapter 5. Mapnik API documentation
![Page 153: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/153.jpg)
carto Documentation
polygon-pattern
polygon-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a polygon pattern symbolizer rule or emitting it with default values.
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon. Accepted formats: svg, jpg, png, tiff, and webp.
polygon-pattern-alignment
Type: keyword
Possible values: global local
Default Value: global (Patterns will be aligned to the map (or tile boundaries) when being repeated across polygons.This is ideal for seamless patterns in tiled rendering.)
Specify whether to align pattern fills to the layer’s geometry (local) or to the map (global).
polygon-pattern-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of polygon pattern edges.
polygon-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications.)
Apply an opacity level to the image used for the pattern.
5.3. 3.0.3 149
![Page 154: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/154.jpg)
carto Documentation
polygon-pattern-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
polygon-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
geometries are simplified by the given tolerance.
polygon-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
polygon-pattern-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform polygon geometry with specified function and apply pattern to transformed geometry.
150 Chapter 5. Mapnik API documentation
![Page 155: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/155.jpg)
carto Documentation
polygon-pattern-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform polygon pattern instance with specified function.
polygon-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
raster
raster
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a raster symbolizer rule or emitting it with default values.
raster-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the raster symbolizer on top of other symbolizers.
5.3. 3.0.3 151
![Page 156: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/156.jpg)
carto Documentation
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: near fast bilinear bicubic spline16 spline36 hanning hamming hermitekaiser quadric catrom gaussian bessel mitchell sinc lanczos blackman
Default Value: near (Nearest neighboor resampling will be used to scale the image to the target size of the map.)
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
raster-mesh-size
Type: unsigned
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image.)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
raster-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
152 Chapter 5. Mapnik API documentation
![Page 157: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/157.jpg)
carto Documentation
raster-colorizer-default-mode
Type: keyword
Possible values: discrete linear exact
Default Value: linear (A linear interpolation is used to generate colors between the two nearest stops.)
This can be either discrete, linear or exact. If it is not specified then the default is linear.
raster-colorizer-default-color
Type: color
Default Value: transparent (Pixels that are not colored by the colorizer stops will be transparent.)
This can be any color. Sets the color that is applied to all values outside of the range of the colorizer-stops. If notsupplied pixels will be fully transparent.
raster-colorizer-epsilon
Type: float
Default Value: 1.1920928955078125e-07 (Pixels must very closely match the stop filter otherwise they will not becolored.)
This can be any positive floating point value and will be used as a tolerance in floating point comparisions. The higherthe value the more likely a stop will match and color data.
raster-colorizer-stops
Type: tags
Default Value: (No colorization will happen without supplying stops.)
Assigns raster data values to colors. Stops must be listed in ascending order, and contain at a minimum the value andthe associated color. You can also include the color-mode as a third argument, like stop(100,#fff,exact).
point
point
Type: keyword
Status: unstable
Possible values: auto none
5.3. 3.0.3 153
![Page 158: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/158.jpg)
carto Documentation
Default Value:
Allows omitting a point symbolizer rule or emitting it with default values.
point-file
Type: uri
Default Value: none (A 4x4 black square will be rendered.)
Image file to represent a point. Accepted formats: svg, jpg, png, tiff, and webp.
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache.)
Control whether the placement of the feature will prevent the placement of other features.
point-opacity
Type: float
Default Value: 1 (Fully opaque.)
A value from 0 to 1 to control the opacity of the point.
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid (The centroid of the geometry will be used to place the point.)
Control how this point should be placed. Centroid calculates the geometric center of a polygon, which can be outsideof it, while interior always places inside of a polygon.
154 Chapter 5. Mapnik API documentation
![Page 159: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/159.jpg)
carto Documentation
point-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform point instance with specified function. Ignores map scale factor.
point-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text
text
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a text symbolizer rule or emitting it with default values.
text-name
Type: string
Default Value: none
Value to use for a text label. Data columns are specified using brackets like [column_name].
5.3. 3.0.3 155
![Page 160: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/160.jpg)
carto Documentation
text-face-name
Type: string
Default Value: none
Font name and style to render a label in.
text-size
Type: float
Default Value: 10 (Font size of 10 will be used to render text.)
Text size in pixels.
text-ratio
Type: unsigned
Default Value: 0 (TODO.)
Define the amount of text (of the total) present on successive lines when wrapping occurs.
text-wrap-width
Type: unsigned
Default Value: 0 (Text will not be wrapped.)
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
text-wrap-before
Type: boolean
Default Value: false (Wrapped lines will be a bit longer than wrap-width.)
Wrap text before wrap-width is reached.
156 Chapter 5. Mapnik API documentation
![Page 161: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/161.jpg)
carto Documentation
text-wrap-character
Type: string
Default Value: ” ” (Lines will be wrapped conforming to the (untailored) Unicode Line Break Algorithm provided byICU BreakIterator.)
Must be a single character. If you set it to other than the space character, Mapnik will wrap strictly on that characterwithout involving any additional rules.
text-repeat-wrap-character
Type: boolean
Status: unstable
Default Value: false (Character will be removed when used to wrap a line.)
Keep the character used to wrap a line instead of removing it, and repeat it on the new line.
text-spacing
Type: unsigned
Default Value: 0 (Only one label per line will attempt to be placed.)
Distance the renderer should use to try to place repeated text labels on a line.
text-character-spacing
Type: float
Default Value: 0 (The default character spacing of the font will be used.)
Horizontal spacing adjustment between characters in pixels. This value is ignored when horizontal-alignmentis set to adjust. Typographic ligatures are turned off when this value is greater than zero.
text-line-spacing
Type: float
Default Value: 0 (The default font spacing will be used.)
Vertical spacing adjustment between lines in pixels.
5.3. 3.0.3 157
![Page 162: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/162.jpg)
carto Documentation
text-label-position-tolerance
Type: float
Default Value: text-spacing/2.0 (If a shield cannot be placed then the renderer will advance by text-spacing/2.0 to tryplacement again.)
Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line).
text-max-char-angle-delta
Type: float
Default Value: 22.5 (The label will not be placed if a character falls on a line with an angle sharper than 22.5 degrees.)
The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally isconverted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed aroundaround sharp corners.
text-fill
Type: color
Default Value: black (The text will be rendered black.)
Specifies the color for the text.
text-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text.
text-halo-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text halo.
158 Chapter 5. Mapnik API documentation
![Page 163: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/163.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: white (The halo will be rendered white.)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo.)
Specify the radius of the halo in pixels.
text-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The text will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate text halo rendering method that sacrifices quality for speed.
text-halo-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation.)
Transform text halo relative to the actual text with specified function. Allows for shadow or embossed effects. Ignoresmap scale factor.
text-dx
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text by fixed amount, in pixels, +/- along the X axis. With “dummy” placement-type, a positive valuedisplaces to the right. With “simple” placement-type, it is either left, right or unchanged, depending on the placementselected. Any non-zero value implies “horizontal-alignment” changes to “left” by default. Has no effect with ‘line’text-placement-type.
5.3. 3.0.3 159
![Page 164: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/164.jpg)
carto Documentation
text-dy
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text by fixed amount, in pixels, +/- along the Y axis. With “dummy” placement-type, a positive valuedisplaces downwards. With “simple” placement-type, it is either up, down or unchanged, depending on the placementselected. With “line” placement-type, a positive value displaces above the path.
text-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: auto (Default affected by value of dy; “top” for dy>0, “bottom” for dy<0.)
Position of label relative to point position.
text-avoid-edges
Type: boolean
Default Value: false (Text will be potentially placed near tile edges and therefore may look cut off unless the same textlabel is rendered on each adjacent tile.)
Avoid placing labels that intersect with tile boundaries.
text-margin
Type: float
Default Value: 0 (No extra margin will be used to determine if a label collides with any other text, shield, or marker.)
Minimum distance that a label can be placed from any other text, shield, or marker.
text-repeat-distance
Type: float
Default Value: 0 (Labels with the same text will be rendered without restriction.)
Minimum distance between repeated text. If set this will prevent text labels being rendered nearby each other thatcontain the same text. Similar to text-min-distance with the difference that it works the same no matter what placementstrategy is used.
160 Chapter 5. Mapnik API documentation
![Page 165: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/165.jpg)
carto Documentation
text-min-distance
Type: float
Status: deprecated
Default Value: 0 (Labels with the same text will be rendered without restriction.)
Minimum distance to the next label with the same text. Only works for line placement. Deprecated: replaced bytext-repeat-distance and text-margin
text-min-padding
Type: float
Default Value: 0 (No margin will be used to detect if a text label is nearby a tile boundary.)
Minimum distance a text label will be placed from the edge of a tile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the tile.
text-min-path-length
Type: float
Default Value: 0 (place labels on all geometries no matter how small they are.)
Place labels only on polygons and lines with a bounding width longer than this value (in pixels).
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
text-orientation
Type: float
Default Value: 0 (Text is not rotated and is displayed upright.)
Rotate the text. (only works with text-placement:point).
5.3. 3.0.3 161
![Page 166: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/166.jpg)
carto Documentation
text-rotate-displacement
Type: boolean
Default Value: false (Label center is used for rotation.)
Rotates the displacement around the placement origin by the angle given by “orientation”.
text-upright
Type: keyword
Possible values: auto auto-down left right left-only right-only
Default Value: auto (Text will be positioned upright automatically.)
How this label should be placed along lines. By default when more than half of a label’s characters are upside downthe label is automatically flipped to keep it upright. By changing this parameter you can prevent this “auto-upright”behavior. The “auto-down” value places text in the opposite orientation to “auto”. The “left” or “right” settings can beused to force text to always be placed along a line in a given direction and therefore disables flipping if text appearsupside down. The “left-only” or “right-only” properties also force a given direction but will discard upside down textrather than trying to flip it.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point (One shield will be placed per geometry.)
How this label should be placed. Point placement places one label on top of a point geometry and at the centroid of apolygon or the middle point of a line, line places along lines multiple times per feature, vertex places on the vertexesof polygons, and interior attempts to place inside of a polygon.
text-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy (Alternative placements will not be enabled.)
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
162 Chapter 5. Mapnik API documentation
![Page 167: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/167.jpg)
carto Documentation
text-placements
Type: string
Default Value: (No alternative placements will be used.)
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example is text-placements:"E,NE,SE,W,NW,SW";.
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize reverse
Default Value: none (Transform text instance with specified function. Ignores map scale factor.)
Transform the case of the characters.
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto adjust
Default Value: auto (TODO.)
The text’s horizontal alignment from it’s centerpoint. If placement is set to line, then adjust can be set toauto-fit the text to the length of the path by dynamically calculating character-spacing.
text-align
Type: keyword
Possible values: left right center auto
Default Value: auto (Auto alignment means that text will be centered by default except when using the ‘‘placement-type‘‘ parameter - in that case either right or left justification will be used automatically depending on where the textcould be fit given the ‘‘text-placements‘‘ directives.)
Define how text is justified.
text-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
5.3. 3.0.3 163
![Page 168: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/168.jpg)
carto Documentation
text-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify the geometries used for text placement by the given tolerance.
text-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify the geometries used for text placement by the given algorithm.
text-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out the angles of the geometry used for text placement. 0 is nosmoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries.
text-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text-halo-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
164 Chapter 5. Mapnik API documentation
![Page 169: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/169.jpg)
carto Documentation
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text-font-feature-settings
Type: string
Default Value: (Default set of typographic features recommended by OpenType specification. Ligatures are turned offby default when ‘‘character-spacing‘‘ is greater than zero.)
Comma separated list of OpenType typographic features. The syntax and semantics conforms tofont-feature-settings from W3C CSS.
text-largest-bbox-only
Type: boolean
Status: experimental
Default Value: true (For multipolygons only polygon with largest bbox area is labeled (does not apply to other geome-tries).)
Controls default labeling behavior on multipolygons. The default is true and means that only the polygon with largestbbox is labeled.
building
building
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a building symbolizer rule or emitting it with default values.
building-fill
Type: color
Default Value: The color gray will be used for fill. (Gray and fully opaque (alpha = 1), same as rgb(128,128,128) orrgba(128,128,128,1).)
The color of the buildings fill. Note: 0.8 will be used to multiply each color component to auto-generate a darkenedwall color.
5.3. 3.0.3 165
![Page 170: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/170.jpg)
carto Documentation
building-fill-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0 (Buildings will not have a visual height and will instead look like flat polygons.)
The height of the building in pixels.
debug
debug-mode
Type: keyword
Possible values: collision vertex
Default Value: collision (The otherwise invisible collision boxes will be rendered as squares on the map.)
The mode for debug rendering.
dot
dot
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a dot symbolizer rule or emitting it with default values.
dot-fill
Type: color
Default Value: gray (The dot fill color is gray.)
The color of the area of the dot.
166 Chapter 5. Mapnik API documentation
![Page 171: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/171.jpg)
carto Documentation
dot-opacity
Type: float
Default Value: 1 (The opacity of the dot.)
The overall opacity of the dot.
dot-width
Type: float
Default Value: 1 (The marker width is 1 pixel.)
The width of the dot in pixels.
dot-height
Type: float
Default Value: 1 (The marker height is 1 pixels.)
The height of the dot in pixels.
dot-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current layer on top of other layers.)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
5.4 3.0.0
5.4.1 Style
image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradient y-gradientinvert sharpen colorize-alpha color-to-alpha scale-hsla
5.4. 3.0.0 167
![Page 172: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/172.jpg)
carto Documentation
Default Value: none (no filters)
A list of image filters that will be applied to the active rendering canvas for a given style. The presence of one moreimage-filters will trigger a new canvas to be created before starting to render a style and then this canvas will becomposited back into the main canvas after rendering all features and after all image-filters have been applied.See direct-image-filters if you want to apply a filter directly to the main canvas.
image-filters-inflate
Type: boolean
Default Value: false (No special handling will be done and image filters that blur data will only blur up to the edge ofa tile boundary)
A property that can be set to true to enable using an inflated image internally for seamless blurring across tiles (requiresbuffered data).
direct-image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradient y-gradientinvert sharpen colorize-alpha color-to-alpha scale-hsla
Default Value: none (no filters)
A list of image filters to apply to the main canvas (see the image-filters doc for how they work on a separatecanvas).
comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (add the current layer on top of other layers)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
opacity
Type: float
Default Value: 1 (No separate buffer will be used and no alpha will be applied to the style after rendering.)
An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited backto main buffer).
168 Chapter 5. Mapnik API documentation
![Page 173: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/173.jpg)
carto Documentation
5.4.2 Symbolizers
map
background-color
Type: color
Default Value: none (Will be rendered transparent.)
Map Background color.
background-image
Type: uri
Default Value: (No background image will be used.)
An image that is repeated below all features on a map as a background. Accepted formats: svg, jpg, png, tiff, andwebp.
background-image-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (The background-image will be blended with the background normally (placed on top of anyexisting background-color).)
Set the compositing operation used to blend the image into the background.
background-image-opacity
Type: float
Default Value: 1 (The image opacity will not be changed when applied to the map background.)
Set the opacity of the image.
5.4. 3.0.0 169
![Page 174: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/174.jpg)
carto Documentation
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space.)
Map spatial reference (proj4 string).
buffer-size
Type: float
Default Value: 0 (No buffer will be used.)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
maximum-extent
Type: string
Default Value: -20037508.34,-20037508.34,20037508.34,20037508.34 (All data will be clipped to global mercatorextent (default is applied in Carto.js).)
An extent to be used to limit the bounds used to query all layers during rendering. Should be minx, miny, maxx, maxyin the coordinates of the Map.
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
170 Chapter 5. Mapnik API documentation
![Page 175: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/175.jpg)
carto Documentation
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered.)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a polygon symbolizer rule or emitting it with default values.
polygon-fill
Type: color
Default Value: The color gray will be used for fill. (Gray and fully opaque (alpha = 1), same as rgb(128,128,128) orrgba(128,128,128,1).)
Fill color to assign to a polygon.
polygon-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the polygon.
polygon-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of polygon edges.
5.4. 3.0.0 171
![Page 176: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/176.jpg)
carto Documentation
polygon-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA.)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
polygon-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extend outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
polygon-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify geometries by the given tolerance.
polygon-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify geometries by the given algorithm.
polygon-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
172 Chapter 5. Mapnik API documentation
![Page 177: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/177.jpg)
carto Documentation
polygon-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform polygon geometry with specified function.
polygon-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line
line
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a line symbolizer rule or emitting it with default values.
line-color
Type: color
Default Value: black (black and fully opaque (alpha = 1), same as rgb(0,0,0) or rgba(0,0,0,1).)
The color of a drawn line.
5.4. 3.0.0 173
![Page 178: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/178.jpg)
carto Documentation
line-width
Type: float
Default Value: 1 (The line will be rendered 1 pixel wide.)
The width of a line in pixels.
line-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of a line.
line-join
Type: keyword
Possible values: miter miter-revert round bevel
Default Value: miter (The line joins will be rendered using a miter look.)
The behavior of lines when joining.
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt (The line endings will be rendered using a butt look.)
The display of line endings.
line-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of stroke line.
174 Chapter 5. Mapnik API documentation
![Page 179: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/179.jpg)
carto Documentation
line-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA.)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
line-dasharray
Type: numbers
Default Value: none (The line will be drawn without dashes.)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (The line will be drawn without dashes.)
Valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is notyet enabled).
line-miterlimit
Type: float
Default Value: 4 (Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec:‘miterLength / stroke-width = 1 / sin ( theta / 2 )’.)
The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joinsfor sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to beset, but a larger value can sometimes help avoid jaggy artifacts.
5.4. 3.0.0 175
![Page 180: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/180.jpg)
carto Documentation
line-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
line-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify geometries by the given tolerance.
line-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify geometries by the given algorithm.
line-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-offset
Type: float
Status: unstable
Default Value: 0 (Will not be offset.)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
176 Chapter 5. Mapnik API documentation
![Page 181: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/181.jpg)
carto Documentation
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The line will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
line-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform line geometry with specified function.
line-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
markers
marker
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a marker symbolizer rule or emitting it with default values.
5.4. 3.0.0 177
![Page 182: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/182.jpg)
carto Documentation
marker-file
Type: uri
Default Value: none (An ellipse or circle, if width equals height.)
A file that this marker shows at each placement. If no file is given, the marker will show an ellipse. Accepted formats:svg, jpg, png, tiff, and webp.
marker-opacity
Type: float
Default Value: 1 (The stroke-opacity and fill-opacity of the marker.)
The overall opacity of the marker, if set, overrides both the opacity of the fill and the opacity of the stroke.
marker-fill-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The fill opacity of the marker. This property will also set the fill-opacity of elements in an SVG loaded from afile.
marker-line-color
Type: color
Default Value: black (The marker will be drawn with a black outline.)
The color of the stroke around the marker. This property will also set the stroke of elements in an SVG loaded froma file.
marker-line-width
Type: float
Default Value: 0.5 (The marker will be drawn with an outline of .5 pixels wide.)
The width of the stroke around the marker, in pixels. This is positioned on the boundary, so high values can cover thearea itself. This property will also set the stroke-width of elements in an SVG loaded from a file.
178 Chapter 5. Mapnik API documentation
![Page 183: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/183.jpg)
carto Documentation
marker-line-opacity
Type: float
Default Value: 1 (Color is fully opaque. This property will also set the ‘‘stroke-opacity‘‘ of elements in an SVG loadedfrom a file.)
The opacity of a line.
marker-placement
Type: keyword
Possible values: point line interior vertex-first vertex-last
Default Value: point (Place markers at the center point (centroid) of the geometry.)
Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times alonga line. ‘interior’ placement can be used to ensure that points placed on polygons are forced to be inside the polygoninterior. The ‘vertex-first’ and ‘vertex-last’ options can be used to place markers at the first or last vertex of lines orpolygons.
marker-multi-policy
Type: keyword
Possible values: each whole largest
Default Value: each (If a feature contains multiple geometries and the placement type is either point or interior then amarker will be rendered for each.)
A special setting to allow the user to control rendering behavior for ‘multi-geometries’ (when a feature containsmultiple geometries). This setting does not apply to markers placed along lines. The ‘each’ policy is default andmeans all geometries will get a marker. The ‘whole’ policy means that the aggregate centroid between all geometrieswill be used. The ‘largest’ policy means that only the largest (by bounding box areas) feature will get a renderedmarker (this is how text labeling behaves by default).
marker-type
Type: keyword
Status: deprecated
Possible values: arrow ellipse
Default Value: ellipse (The marker shape is an ellipse.)
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width).
5.4. 3.0.0 179
![Page 184: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/184.jpg)
carto Documentation
marker-width
Type: float
Default Value: 10 (The marker width is 10 pixels.)
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10 (The marker height is 10 pixels.)
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue (The marker fill color is blue.)
The color of the area of the marker. This property will also set the fill of elements in an SVG loaded from a file.
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow markers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
marker-avoid-edges
Type: boolean
Default Value: false (Markers will be potentially placed near tile edges and therefore may look cut off unless they arerendered on each adjacent tile.)
Avoid placing markers that intersect with tile boundaries.
180 Chapter 5. Mapnik API documentation
![Page 185: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/185.jpg)
carto Documentation
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache.)
Value to control whether the placement of the feature will prevent the placement of other features.
marker-spacing
Type: float
Default Value: 100 (In the case of marker-placement:line then draw a marker every 100 pixels along a line.)
Space between repeated markers in pixels. If the spacing is less than the marker size or larger than the line segmentlength then no marker will be placed. Any value less than 1 will be ignored and the default will be used instead.
marker-max-error
Type: float
Default Value: 0.2 (N/A: not intended to be changed.)
N/A: not intended to be changed.
marker-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform marker instance with specified function. Ignores map scale factor.
marker-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
5.4. 3.0.0 181
![Page 186: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/186.jpg)
carto Documentation
marker-simplify
Type: float
Default Value: 0 (Geometry will not be simplified.)
geometries are simplified by the given tolerance.
marker-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
marker-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
marker-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform marker geometry with specified function.
marker-offset
Type: float
Default Value: 0 (Will not be offset.)
Offsets a marker from a line a number of pixels parallel to its actual path. Positive values move the marker left,negative values move it right (relative to the directionality of the line).
182 Chapter 5. Mapnik API documentation
![Page 187: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/187.jpg)
carto Documentation
marker-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
marker-direction
Type: keyword
Possible values: auto auto-down left right left-only right-only up down
Default Value: right (Markers are oriented to the right in the line direction.)
How markers should be placed along lines. With the “auto” setting when marker is upside down the marker is auto-matically rotated by 180 degrees to keep it upright. The “auto-down” value places marker in the opposite orientation to“auto”. The “left” or “right” settings can be used to force marker to always be placed along a line in a given directionand therefore disables rotating if marker appears upside down. The “left-only” or “right-only” properties also force agiven direction but will discard upside down markers rather than trying to flip it. The “up” and “down” settings don’tadjust marker’s orientation to the line direction.
shield
shield
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a shield symbolizer.
shield-name
Type: string
Default Value: (No text label will be rendered with the shield.)
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name].
5.4. 3.0.0 183
![Page 188: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/188.jpg)
carto Documentation
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text. Accepted formats: svg, jpg, png, tiff, and webp.
shield-face-name
Type: string
Default Value: none
Font name and style to use for the shield text.
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image.
shield-size
Type: float
Default Value: 10 (Font size of 10 will be used to render text.)
The size of the shield text in pixels.
shield-fill
Type: color
Default Value: black (The shield text will be rendered black.)
The color of the shield text.
184 Chapter 5. Mapnik API documentation
![Page 189: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/189.jpg)
carto Documentation
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point (One shield will be placed per geometry.)
How this shield should be placed. Point placement places one shield on top of a point geometry and at the centroid ofa polygon or the middle point of a line, line places along lines multiple times per feature, vertex places on the vertexesof polygons, and interior attempts to place inside of a polygon.
shield-avoid-edges
Type: boolean
Default Value: false (Shields will be potentially placed near tile edges and therefore may look cut off unless they arerendered on each adjacent tile.)
Avoid placing shields that intersect with tile boundaries.
shield-allow-overlap
Type: boolean
Default Value: false (Do not allow shields to overlap with other map elements already placed.)
Control whether overlapping shields are shown or hidden.
shield-margin
Type: float
Default Value: 0 (No extra margin will be used to determine if a shield collides with any other text, shield, or marker.)
Minimum distance that a shield can be placed from any other text, shield, or marker.
shield-repeat-distance
Type: float
Default Value: 0 (Shields with the same text will be rendered without restriction.)
Minimum distance between repeated shields. If set this will prevent shields being rendered nearby each other thatcontain the same text. Similar to shield-min-distance with the difference that it works the same no matter whatplacement strategy is used.
5.4. 3.0.0 185
![Page 190: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/190.jpg)
carto Documentation
shield-min-distance
Type: float
Status: deprecated
Default Value: 0 (Shields with the same text will be rendered without restriction.)
Minimum distance to any other collision object. Deprecated: replaced by text-margin.
shield-spacing
Type: float
Default Value: 0 (Only one shield per line will attempt to be placed.)
Distance the renderer should use to try to place repeated shields on a line.
shield-min-padding
Type: float
Default Value: 0 (No margin will be used to detect if a shield is nearby a tile boundary.)
Minimum distance a shield will be placed from the edge of a tile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the tile.
shield-label-position-tolerance
Type: float
Default Value: shield-spacing/2.0 (If a shield cannot be placed then the renderer will advance by shield-spacing/2.0to try placement again.)
Allows the shield to be displaced from its ideal position by a number of pixels (only works with placement:line).
shield-wrap-width
Type: unsigned
Default Value: 0 (Text will not be wrapped.)
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
186 Chapter 5. Mapnik API documentation
![Page 191: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/191.jpg)
carto Documentation
shield-wrap-before
Type: boolean
Default Value: false (Wrapped lines will be a bit longer than wrap-width.)
Wrap text before wrap-width is reached.
shield-wrap-character
Type: string
Default Value: ” ” (Lines will be wrapped conforming to the (untailored) Unicode Line Break Algorithm provided byICU BreakIterator.)
Must be a single character. If you set it to other than the space character, Mapnik will wrap strictly on that characterwithout involving any additional rules.
shield-halo-fill
Type: color
Default Value: white (The shield halo text will be rendered white.)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo.)
Specify the radius of the halo in pixels.
shield-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The shield will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate text halo rendering method that sacrifices quality for speed.
5.4. 3.0.0 187
![Page 192: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/192.jpg)
carto Documentation
shield-halo-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation.)
Transform shield halo relative to the actual text with specified function. Allows for shadow or embossed effects.Ignores map scale factor.
shield-halo-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
shield-halo-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text halo.
shield-character-spacing
Type: unsigned
Default Value: 0 (The default character spacing of the font will be used.)
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
shield-line-spacing
Type: float
Default Value: 0 (The default font spacing will be used.)
Vertical spacing between lines of multiline labels (in pixels).
188 Chapter 5. Mapnik API documentation
![Page 193: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/193.jpg)
carto Documentation
shield-text-dx
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the shield right.
shield-text-dy
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the shield down.
shield-dx
Type: float
Default Value: 0 (Shield will not be displaced.)
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right.
shield-dy
Type: float
Default Value: 0 (Shield will not be displaced.)
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down.
shield-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the image used for the shield.
5.4. 3.0.0 189
![Page 194: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/194.jpg)
carto Documentation
shield-text-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the text placed on top of the shield.
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto (TODO.)
The shield’s horizontal alignment from its centerpoint.
shield-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: middle (TODO.)
The shield’s vertical alignment from its centerpoint.
shield-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy (Alternative placements will not be enabled.)
Re-position and/or re-size shield to avoid overlaps. “simple” for basic algorithm (using shield-placements string,)“dummy” to turn this feature off.
shield-placements
Type: string
Default Value: (No alternative placements will be used.)
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example isshield-placements: "E,NE,SE,W,NW,SW";.
190 Chapter 5. Mapnik API documentation
![Page 195: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/195.jpg)
carto Documentation
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize reverse
Default Value: none (No text transformation will be applied.)
Transform the case of the characters.
shield-justify-alignment
Type: keyword
Possible values: left center right auto
Default Value: auto (TODO.)
Define how text in a shield’s label is justified.
shield-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform shield instance with specified function. Ignores map scale factor.
shield-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
shield-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify the geometries used for shield placement by the given tolerance.
5.4. 3.0.0 191
![Page 196: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/196.jpg)
carto Documentation
shield-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify the geometries used for shield placement by the given algorithm.
shield-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out the angles of the geometry used for shield placement. 0 isno smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries.
shield-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line-pattern
line-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a line pattern symbolizer rule or emitting it with default values.
192 Chapter 5. Mapnik API documentation
![Page 197: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/197.jpg)
carto Documentation
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line. Accepted formats: svg, jpg, png, tiff, and webp.
line-pattern-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
line-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications.)
Apply an opacity level to the image used for the pattern.
line-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
geometries are simplified by the given tolerance.
line-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
5.4. 3.0.0 193
![Page 198: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/198.jpg)
carto Documentation
line-pattern-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-pattern-offset
Type: float
Default Value: 0 (The line will not be offset.)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
line-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform line geometry with specified function and apply pattern to transformed geometry.
line-pattern-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform line pattern instance with specified function.
line-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
194 Chapter 5. Mapnik API documentation
![Page 199: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/199.jpg)
carto Documentation
polygon-pattern
polygon-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a polygon pattern symbolizer rule or emitting it with default values.
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon. Accepted formats: svg, jpg, png, tiff, and webp.
polygon-pattern-alignment
Type: keyword
Possible values: global local
Default Value: global (Patterns will be aligned to the map (or tile boundaries) when being repeated across polygons.This is ideal for seamless patterns in tiled rendering.)
Specify whether to align pattern fills to the layer’s geometry (local) or to the map (global).
polygon-pattern-gamma
Type: float
Default Value: 1 (Fully antialiased.) Range: 0-1 Level of antialiasing of polygon pattern edges.
polygon-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications.)
Apply an opacity level to the image used for the pattern.
5.4. 3.0.0 195
![Page 200: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/200.jpg)
carto Documentation
polygon-pattern-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
polygon-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
geometries are simplified by the given tolerance.
polygon-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
geometries are simplified by the given algorithm.
polygon-pattern-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (The geometry will not be transformed.)
Transform polygon geometry with specified function and apply pattern to transformed geometry.
196 Chapter 5. Mapnik API documentation
![Page 201: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/201.jpg)
carto Documentation
polygon-pattern-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform polygon pattern instance with specified function.
polygon-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
raster
raster
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a raster symbolizer rule or emitting it with default values.
raster-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the raster symbolizer on top of other symbolizers.
5.4. 3.0.0 197
![Page 202: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/202.jpg)
carto Documentation
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: near fast bilinear bicubic spline16 spline36 hanning hamming hermitekaiser quadric catrom gaussian bessel mitchell sinc lanczos blackman
Default Value: near (Nearest neighboor resampling will be used to scale the image to the target size of the map.)
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
raster-mesh-size
Type: unsigned
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image.)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
raster-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
198 Chapter 5. Mapnik API documentation
![Page 203: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/203.jpg)
carto Documentation
raster-colorizer-default-mode
Type: keyword
Possible values: discrete linear exact
Default Value: linear (A linear interpolation is used to generate colors between the two nearest stops.)
This can be either discrete, linear or exact. If it is not specified then the default is linear.
raster-colorizer-default-color
Type: color
Default Value: transparent (Pixels that are not colored by the colorizer stops will be transparent.)
This can be any color. Sets the color that is applied to all values outside of the range of the colorizer-stops. If notsupplied pixels will be fully transparent.
raster-colorizer-epsilon
Type: float
Default Value: 1.1920928955078125e-07 (Pixels must very closely match the stop filter otherwise they will not becolored.)
This can be any positive floating point value and will be used as a tolerance in floating point comparisions. The higherthe value the more likely a stop will match and color data.
raster-colorizer-stops
Type: tags
Default Value: (No colorization will happen without supplying stops.)
Assigns raster data values to colors. Stops must be listed in ascending order, and contain at a minimum the value andthe associated color. You can also include the color-mode as a third argument, like stop(100,#fff,exact).
point
point
Type: keyword
Status: unstable
Possible values: auto none
5.4. 3.0.0 199
![Page 204: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/204.jpg)
carto Documentation
Default Value:
Allows omitting a point symbolizer rule or emitting it with default values.
point-file
Type: uri
Default Value: none (A 4x4 black square will be rendered.)
Image file to represent a point. Accepted formats: svg, jpg, png, tiff, and webp.
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache.)
Control whether the placement of the feature will prevent the placement of other features.
point-opacity
Type: float
Default Value: 1 (Fully opaque.)
A value from 0 to 1 to control the opacity of the point.
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid (The centroid of the geometry will be used to place the point.)
Control how this point should be placed. Centroid calculates the geometric center of a polygon, which can be outsideof it, while interior always places inside of a polygon.
200 Chapter 5. Mapnik API documentation
![Page 205: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/205.jpg)
carto Documentation
point-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation.)
Transform point instance with specified function. Ignores map scale factor.
point-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text
text
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a text symbolizer rule.
text-name
Type: string
Default Value: none
Value to use for a text label. Data columns are specified using brackets like [column_name].
5.4. 3.0.0 201
![Page 206: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/206.jpg)
carto Documentation
text-face-name
Type: string
Default Value: none
Font name and style to render a label in.
text-size
Type: float
Default Value: 10 (Font size of 10 will be used to render text.)
Text size in pixels.
text-ratio
Type: unsigned
Default Value: 0 (TODO.)
Define the amount of text (of the total) present on successive lines when wrapping occurs.
text-wrap-width
Type: unsigned
Default Value: 0 (Text will not be wrapped.)
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
text-wrap-before
Type: boolean
Default Value: false (Wrapped lines will be a bit longer than wrap-width.)
Wrap text before wrap-width is reached.
202 Chapter 5. Mapnik API documentation
![Page 207: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/207.jpg)
carto Documentation
text-wrap-character
Type: string
Default Value: ” ” (Lines will be wrapped conforming to the (untailored) Unicode Line Break Algorithm provided byICU BreakIterator.)
Must be a single character. If you set it to other than the space character, Mapnik will wrap strictly on that characterwithout involving any additional rules.
text-repeat-wrap-character
Type: boolean
Status: unstable
Default Value: false (Character will be removed when used to wrap a line.)
Keep the character used to wrap a line instead of removing it, and repeat it on the new line.
text-spacing
Type: unsigned
Default Value: 0 (Only one label per line will attempt to be placed.)
Distance the renderer should use to try to place repeated text labels on a line.
text-character-spacing
Type: float
Default Value: 0 (The default character spacing of the font will be used.)
Horizontal spacing adjustment between characters in pixels. This value is ignored when horizontal-alignmentis set to adjust. Typographic ligatures are turned off when this value is greater than zero.
text-line-spacing
Type: float
Default Value: 0 (The default font spacing will be used.)
Vertical spacing adjustment between lines in pixels.
5.4. 3.0.0 203
![Page 208: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/208.jpg)
carto Documentation
text-label-position-tolerance
Type: float
Default Value: text-spacing/2.0 (If a shield cannot be placed then the renderer will advance by text-spacing/2.0 to tryplacement again.)
Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line).
text-max-char-angle-delta
Type: float
Default Value: 22.5 (The label will not be placed if a character falls on a line with an angle sharper than 22.5 degrees.)
The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally isconverted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed aroundaround sharp corners.
text-fill
Type: color
Default Value: black (The text will be rendered black.)
Specifies the color for the text.
text-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text.
text-halo-opacity
Type: float
Default Value: 1 (Fully opaque.)
A number from 0 to 1 specifying the opacity for the text halo.
204 Chapter 5. Mapnik API documentation
![Page 209: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/209.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: white (The halo will be rendered white.)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo.)
Specify the radius of the halo in pixels.
text-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full (The text will be rendered using the highest quality method rather than the fastest.)
Exposes an alternate text halo rendering method that sacrifices quality for speed.
text-halo-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation.)
Transform text halo relative to the actual text with specified function. Allows for shadow or embossed effects. Ignoresmap scale factor.
text-dx
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text by fixed amount, in pixels, +/- along the X axis. With “dummy” placement-type, a positive valuedisplaces to the right. With “simple” placement-type, it is either left, right or unchanged, depending on the placementselected. Any non-zero value implies “horizontal-alignment” changes to “left” by default. Has no effect with ‘line’text-placement-type.
5.4. 3.0.0 205
![Page 210: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/210.jpg)
carto Documentation
text-dy
Type: float
Default Value: 0 (Text will not be displaced.)
Displace text by fixed amount, in pixels, +/- along the Y axis. With “dummy” placement-type, a positive valuedisplaces downwards. With “simple” placement-type, it is either up, down or unchanged, depending on the placementselected. With “line” placement-type, a positive value displaces above the path.
text-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: auto (Default affected by value of dy; “top” for dy>0, “bottom” for dy<0.)
Position of label relative to point position.
text-avoid-edges
Type: boolean
Default Value: false (Text will be potentially placed near tile edges and therefore may look cut off unless the same textlabel is rendered on each adjacent tile.)
Avoid placing labels that intersect with tile boundaries.
text-margin
Type: float
Default Value: 0 (No extra margin will be used to determine if a label collides with any other text, shield, or marker.)
Minimum distance that a label can be placed from any other text, shield, or marker.
text-repeat-distance
Type: float
Default Value: 0 (Labels with the same text will be rendered without restriction.)
Minimum distance between repeated text. If set this will prevent text labels being rendered nearby each other thatcontain the same text. Similar to text-min-distance with the difference that it works the same no matter what placementstrategy is used.
206 Chapter 5. Mapnik API documentation
![Page 211: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/211.jpg)
carto Documentation
text-min-distance
Type: float
Status: deprecated
Default Value: 0 (Labels with the same text will be rendered without restriction.)
Minimum distance to the next label with the same text. Only works for line placement. Deprecated: replaced bytext-repeat-distance and text-margin
text-min-padding
Type: float
Default Value: 0 (No margin will be used to detect if a text label is nearby a tile boundary.)
Minimum distance a text label will be placed from the edge of a tile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the tile.
text-min-path-length
Type: float
Default Value: 0 (place labels on all geometries no matter how small they are.)
Place labels only on polygons and lines with a bounding width longer than this value (in pixels).
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
text-orientation
Type: float
Default Value: 0 (Text is not rotated and is displayed upright.)
Rotate the text. (only works with text-placement:point).
5.4. 3.0.0 207
![Page 212: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/212.jpg)
carto Documentation
text-rotate-displacement
Type: boolean
Default Value: false (Label center is used for rotation.)
Rotates the displacement around the placement origin by the angle given by “orientation”.
text-upright
Type: keyword
Possible values: auto auto-down left right left-only right-only
Default Value: auto (Text will be positioned upright automatically.)
How this label should be placed along lines. By default when more than half of a label’s characters are upside downthe label is automatically flipped to keep it upright. By changing this parameter you can prevent this “auto-upright”behavior. The “auto-down” value places text in the opposite orientation to “auto”. The “left” or “right” settings can beused to force text to always be placed along a line in a given direction and therefore disables flipping if text appearsupside down. The “left-only” or “right-only” properties also force a given direction but will discard upside down textrather than trying to flip it.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point (One shield will be placed per geometry.)
How this label should be placed. Point placement places one label on top of a point geometry and at the centroid of apolygon or the middle point of a line, line places along lines multiple times per feature, vertex places on the vertexesof polygons, and interior attempts to place inside of a polygon.
text-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy (Alternative placements will not be enabled.)
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
208 Chapter 5. Mapnik API documentation
![Page 213: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/213.jpg)
carto Documentation
text-placements
Type: string
Default Value: (No alternative placements will be used.)
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example is text-placements:"E,NE,SE,W,NW,SW";.
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize reverse
Default Value: none (Transform text instance with specified function. Ignores map scale factor.)
Transform the case of the characters.
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto adjust
Default Value: auto (TODO.)
The text’s horizontal alignment from it’s centerpoint. If placement is set to line, then adjust can be set toauto-fit the text to the length of the path by dynamically calculating character-spacing.
text-align
Type: keyword
Possible values: left right center auto
Default Value: auto (Auto alignment means that text will be centered by default except when using the ‘‘placement-type‘‘ parameter - in that case either right or left justification will be used automatically depending on where the textcould be fit given the ‘‘text-placements‘‘ directives.)
Define how text is justified.
text-clip
Type: boolean
Default Value: false (The geometry will not be clipped to map bounds before rendering.)
Turning on clipping can help performance in the case that the boundaries of the geometry extent outside of tile extents.But clipping can result in undesirable rendering artifacts in rare cases.
5.4. 3.0.0 209
![Page 214: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/214.jpg)
carto Documentation
text-simplify
Type: float
Default Value: 0 (geometry will not be simplified.)
Simplify the geometries used for text placement by the given tolerance.
text-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt douglas-peucker
Default Value: radial-distance (The geometry will be simplified using the radial distance algorithm.)
Simplify the geometries used for text placement by the given algorithm.
text-smooth
Type: float
Default Value: 0 (No smoothing.) Range: 0-1 Smooths out the angles of the geometry used for text placement. 0 is nosmoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries.
text-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text-halo-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (Add the current symbolizer on top of other symbolizer.)
210 Chapter 5. Mapnik API documentation
![Page 215: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/215.jpg)
carto Documentation
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text-font-feature-settings
Type: string
Default Value: (Default set of typographic features recommended by OpenType specification. Ligatures are turned offby default when ‘‘character-spacing‘‘ is greater than zero.)
Comma separated list of OpenType typographic features. The syntax and semantics conforms tofont-feature-settings from W3C CSS.
text-largest-bbox-only
Type: boolean
Status: experimental
Default Value: true (For multipolygons only polygon with largest bbox area is labeled (does not apply to other geome-tries).)
Controls default labeling behavior on multipolygons. The default is true and means that only the polygon with largestbbox is labeled.
building
building
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a building symbolizer rule or emitting it with default values.
building-fill
Type: color
Default Value: The color gray will be used for fill. (Gray and fully opaque (alpha = 1), same as rgb(128,128,128) orrgba(128,128,128,1).)
The color of the buildings fill. Note: 0.8 will be used to multiply each color component to auto-generate a darkenedwall color.
5.4. 3.0.0 211
![Page 216: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/216.jpg)
carto Documentation
building-fill-opacity
Type: float
Default Value: 1 (Color is fully opaque.)
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0 (Buildings will not have a visual height and will instead look like flat polygons.)
The height of the building in pixels.
debug
debug-mode
Type: keyword
Possible values: collision vertex
Default Value: collision (The otherwise invisible collision boxes will be rendered as squares on the map.)
The mode for debug rendering.
dot
dot
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a dot symbolizer rule or emitting it with default values.
dot-fill
Type: color
Default Value: gray (The dot fill color is gray.)
The color of the area of the dot.
212 Chapter 5. Mapnik API documentation
![Page 217: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/217.jpg)
carto Documentation
dot-opacity
Type: float
Default Value: 1 (The opacity of the dot.)
The overall opacity of the dot.
dot-width
Type: float
Default Value: 1 (The marker width is 1 pixel.)
The width of the dot in pixels.
dot-height
Type: float
Default Value: 1 (The marker height is 1 pixels.)
The height of the dot in pixels.
dot-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply divide screen overlay darken lighten color-dodgecolor-burn linear-dodge linear-burn hard-light soft-light difference exclusioncontrast invert invert-rgb grain-merge grain-extract hue saturation color value
Default Value: src-over (Add the current layer on top of other layers.)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
5.5 2.3.0
5.5.1 Style
image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradient y-gradientinvert sharpen colorize-alpha color-to-alpha scale-hsla
5.5. 2.3.0 213
![Page 218: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/218.jpg)
carto Documentation
Default Value: none (no filters)
A list of image filters that will be applied to the active rendering canvas for a given style. The presence of one moremore image-filters will trigger a new canvas to be created before starting to render a style and then this canvaswill be composited back into the main canvas after rendering all features and after all image-filters have beenapplied. See direct-image-filters if you want to apply a filter directly to the main canvas.
image-filters-inflate
Type: boolean
Default Value: false (No special handling will be done and image filters that blur data will only blur up to the edge ofa tile boundary)
A property that can be set to true to enable using an inflated image internally for seamless blurring across tiles (requiresbuffered data).
direct-image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradient y-gradientinvert sharpen colorize-alpha color-to-alpha scale-hsla
Default Value: none (no filters)
A list of image filters to apply to the main canvas (see the image-filters doc for how they work on a separatecanvas).
comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current layer on top of other layers)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
opacity
Type: float
Default Value: 1 (no separate buffer will be used and no alpha will be applied to the style after rendering)
An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited backto main buffer).
214 Chapter 5. Mapnik API documentation
![Page 219: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/219.jpg)
carto Documentation
5.5.2 Symbolizers
map
background-color
Type: color
Default Value: none (transparent)
Map Background color.
background-image
Type: uri
Default Value: (transparent)
An image that is repeated below all features on a map as a background. Accepted formats: JPG, PNG.
background-image-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (The background-image will be blended with the background normally (placed on top of anyexisting background-color))
Set the compositing operation used to blend the image into the background.
background-image-opacity
Type: float
Default Value: 1 (The image opacity will not be changed when applied to the map background)
Set the opacity of the image.
5.5. 2.3.0 215
![Page 220: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/220.jpg)
carto Documentation
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space)
Map spatial reference (proj4 string).
buffer-size
Type: float
Default Value: 0 (No buffer will be used)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
216 Chapter 5. Mapnik API documentation
![Page 221: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/221.jpg)
carto Documentation
polygon
polygon
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a polygon symbolizer rule or emitting it with default values.
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (gray and fully opaque (alpha = 1), same as rgb(128,128,128))
Fill color to assign to a polygon.
polygon-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the polygon.
polygon-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon edges.
polygon-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
5.5. 2.3.0 217
![Page 222: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/222.jpg)
carto Documentation
polygon-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
Geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
polygon-simplify
Type: float
Default Value: 0 (geometry will not be simplified)
Simplify geometries by the given tolerance.
polygon-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt
Default Value: radial-distance (geometry will be simplified using the radial distance algorithm)
Simplify gemoetries by the given algorithm.
polygon-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
218 Chapter 5. Mapnik API documentation
![Page 223: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/223.jpg)
carto Documentation
polygon-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line
line
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a line symbolizer rule or emitting it with default values.
line-color
Type: color
Default Value: rgba(0,0,0,1) (black and fully opaque (alpha = 1), same as rgb(0,0,0))
The color of a drawn line.
line-width
Type: float
Default Value: 1
The width of a line in pixels.
line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line.
5.5. 2.3.0 219
![Page 224: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/224.jpg)
carto Documentation
line-join
Type: keyword
Possible values: miter round bevel
Default Value: miter
The behavior of lines when joining.
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt
The display of line endings.
line-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of stroke line.
line-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.
line-dasharray
Type: numbers
Default Value: none (solid line)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
220 Chapter 5. Mapnik API documentation
![Page 225: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/225.jpg)
carto Documentation
line-dash-offset
Type: numbers
Default Value: none (solid line)
Valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is notyet enabled).
line-miterlimit
Type: float
Default Value: 4 (Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec:‘miterLength / stroke-width = 1 / sin ( theta / 2 )’)
The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joinsfor sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to beset, but a larger value can sometimes help avoid jaggy artifacts.
line-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
Geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
line-simplify
Type: float
Default Value: 0 (geometry will not be simplified)
Simplify gemoetries by the given tolerance
line-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt
Default Value: radial-distance (geometry will be simplified using the radial distance algorithm)
Simplify gemoetries by the given algorithm.
5.5. 2.3.0 221
![Page 226: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/226.jpg)
carto Documentation
line-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-offset
Type: float
Default Value: 0 (no offset)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
line-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
line-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
222 Chapter 5. Mapnik API documentation
![Page 227: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/227.jpg)
carto Documentation
markers
marker
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a marker symbolizer rule or emitting it with default values.
marker-file
Type: uri
Default Value: none (An ellipse or circle, if width equals height.)
A file that this marker shows at each placement. If no file is given, the marker will show an ellipse. Accepted formats:SVG, JPG, PNG.
marker-opacity
Type: float
Default Value: 1 (The stroke-opacity and fill-opacity of the marker.)
The overall opacity of the marker, if set, overrides both the opacity of the fill and the opacity of the stroke.
marker-fill-opacity
Type: float
Default Value: 1 (opaque)
The fill opacity of the marker.
marker-line-color
Type: color
Default Value: black
The color of the stroke around the marker.
5.5. 2.3.0 223
![Page 228: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/228.jpg)
carto Documentation
marker-line-width
Type: float
Default Value: 0.5
The width of the stroke around the marker, in pixels. This is positioned on the boundary, so high values can cover thearea itself.
marker-line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the line.
marker-placement
Type: keyword
Possible values: point line interior
Default Value: point (Place markers at the center point (centroid) of the geometry)
Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times alonga line. ‘interior’ placement can be used to ensure that points placed on polygons are forced to be inside the polygoninterior.
marker-multi-policy
Type: keyword
Possible values: each whole largest
Default Value: each (If a feature contains multiple geometries and the placement type is either point or interior then amarker will be rendered for each)
A special setting to allow the user to control rendering behavior for ‘multi-geometries’ (when a feature containsmultiple geometries). This setting does not apply to markers placed along lines. The ‘each’ policy is default andmeans all geometries will get a marker. The ‘whole’ policy means that the aggregate centroid between all geometrieswill be used. The ‘largest’ policy means that only the largest (by bounding box areas) feature will get a renderedmarker (this is how text labeling behaves by default).
224 Chapter 5. Mapnik API documentation
![Page 229: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/229.jpg)
carto Documentation
marker-type
Type: keyword
Possible values: arrow ellipse
Default Value: ellipse
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width).
marker-width
Type: float
Default Value: 10
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue
The color of the area of the marker.
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow makers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
5.5. 2.3.0 225
![Page 230: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/230.jpg)
carto Documentation
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
Value to control whether the placement of the feature will prevent the placement of other features.
marker-spacing
Type: float
Default Value: 100
Space between repeated markers in pixels. If the spacing is less than the marker size or larger than the line segmentlength then no marker will be placed.
marker-max-error
Type: float
Default Value: 0.2
The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high valuecan allow the renderer to try to resolve placement conflicts with other symbolizers.
marker-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation)
SVG transformation definition.
marker-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
226 Chapter 5. Mapnik API documentation
![Page 231: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/231.jpg)
carto Documentation
marker-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
marker-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
marker-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
shield
shield
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a shield symbolizer.
5.5. 2.3.0 227
![Page 232: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/232.jpg)
carto Documentation
shield-name
Type: string
Default Value:
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name].
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text. Accepted formats: SVG, JPG, PNG.
shield-face-name
Type: string
Default Value:
Font name and style to use for the shield text
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image
shield-size
Type: float
Default Value: 10
The size of the shield text in pixels.
228 Chapter 5. Mapnik API documentation
![Page 233: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/233.jpg)
carto Documentation
shield-fill
Type: color
Default Value: black
The color of the shield text.
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multipletimes per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons.
shield-avoid-edges
Type: boolean
Default Value: false
Avoid placing shields that intersect with tile boundaries.
shield-allow-overlap
Type: boolean
Default Value: false (Do not allow shields to overlap with other map elements already placed.)
Control whether overlapping shields are shown or hidden.
shield-min-distance
Type: float
Default Value: 0
Minimum distance to the next shield symbol, not necessarily the same shield.
5.5. 2.3.0 229
![Page 234: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/234.jpg)
carto Documentation
shield-spacing
Type: float
Default Value: 0
The spacing between repeated occurrences of the same shield on a line.
shield-min-padding
Type: float
Default Value: 0
Minimum distance a shield will be placed from the edge of a metatile. This option is similar to shield-avoid-edges:trueexcept that the extra margin is used to discard cases where the shield+margin are not fully inside the metatile.
shield-wrap-width
Type: unsigned
Default Value: 0
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
shield-wrap-before
Type: boolean
Default Value: false
Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width.
shield-wrap-character
Type: string
Default Value: ” “
Use this character instead of a space to wrap long names.
230 Chapter 5. Mapnik API documentation
![Page 235: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/235.jpg)
carto Documentation
shield-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels.
shield-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate text halo rendering method that sacrifices quality for speed.
shield-character-spacing
Type: unsigned
Default Value: 0
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
shield-line-spacing
Type: float
Default Value: 0
Vertical spacing between lines of multiline labels (in pixels).
5.5. 2.3.0 231
![Page 236: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/236.jpg)
carto Documentation
shield-text-dx
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the shield right.
shield-text-dy
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the shield down.
shield-dx
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right.
shield-dy
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down.
shield-opacity
Type: float
Default Value: 1
The opacity of the image used for the shield
232 Chapter 5. Mapnik API documentation
![Page 237: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/237.jpg)
carto Documentation
shield-text-opacity
Type: float
Default Value: 1
The opacity of the text placed on top of the shield
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto
The shield’s horizontal alignment from its centerpoint
shield-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: middle
The shield’s vertical alignment from its centerpoint
shield-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy
Re-position and/or re-size shield to avoid overlaps. “simple” for basic algorithm (using shield-placements string,)“dummy” to turn this feature off.
shield-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example isshield-placements: "E,NE,SE,W,NW,SW";
5.5. 2.3.0 233
![Page 238: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/238.jpg)
carto Documentation
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters.
shield-justify-alignment
Type: keyword
Possible values: left center right auto
Default Value: auto
Define how text in a shield’s label is justified.
shield-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation)
SVG transformation definition.
shield-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
shield-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
234 Chapter 5. Mapnik API documentation
![Page 239: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/239.jpg)
carto Documentation
line-pattern
line-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a line pattern symbolizer rule or emitting it with default values.
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line. Accepted formats: JPG, PNG.
line-pattern-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
line-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified)
geometries are simplified by the given tolerance
line-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt
Default Value: radial-distance (geometry will be simplified using the radial distance algorithm)
geometries are simplified by the given algorithm.
5.5. 2.3.0 235
![Page 240: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/240.jpg)
carto Documentation
line-pattern-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-pattern-offset
Type: float
Default Value: 0 (no offset)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
line-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
line-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
polygon-pattern
polygon-pattern
Type: keyword
Status: unstable
Possible values: none
236 Chapter 5. Mapnik API documentation
![Page 241: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/241.jpg)
carto Documentation
Default Value:
Allows omitting a polygon pattern symbolizer rule or emitting it with default values.
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon. Accepted formats: JPG, PNG.
polygon-pattern-alignment
Type: keyword
Possible values: local global
Default Value: local
Specify whether to align pattern fills to the layer or to the map.
polygon-pattern-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon pattern edges
polygon-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications)
Apply an opacity level to the image used for the pattern
polygon-pattern-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
5.5. 2.3.0 237
![Page 242: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/242.jpg)
carto Documentation
polygon-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified)
geometries are simplified by the given tolerance
polygon-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt
Default Value: radial-distance (geometry will be simplified using the radial distance algorithm)
geometries are simplified by the given algorithm
polygon-pattern-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
polygon-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
238 Chapter 5. Mapnik API documentation
![Page 243: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/243.jpg)
carto Documentation
raster
raster
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a raster symbolizer rule or emitting it with default values.
raster-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the raster symbolizer on top of other symbolizers.
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: near fast bilinear bicubic spline16 spline36 hanning hamming hermitekaiser quadric catrom gaussian bessel mitchell sinc lanczos blackman
Default Value: near
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
5.5. 2.3.0 239
![Page 244: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/244.jpg)
carto Documentation
raster-mesh-size
Type: unsigned
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
raster-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
raster-colorizer-default-mode
Type: keyword
Possible values: discrete linear exact
Default Value: linear (A linear interpolation is used to generate colors between the two nearest stops.)
This can be either discrete, linear or exact. If it is not specified then the default is linear.
raster-colorizer-default-color
Type: color
Default Value: transparent (Pixels that are not colored by the colorizer stops will be transparent)
This can be any color. Sets the color that is applied to all values outside of the range of the colorizer-stops. If notsupplied pixels will be fully transparent
240 Chapter 5. Mapnik API documentation
![Page 245: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/245.jpg)
carto Documentation
raster-colorizer-epsilon
Type: float
Default Value: 1.1920928955078125e-07 (Pixels must very closely match the stop filter otherwise they will not becolored.)
This can be any positive floating point value and will be used as a tolerance in floating point comparisions. The higherthe value the more likely a stop will match and color data.
raster-colorizer-stops
Type: tags
Default Value: (No colorization will happen without supplying stops.)
Assigns raster data values to colors. Stops must be listed in ascending order, and contain at a minimum the value andthe associated color. You can also include the color-mode as a third argument, like stop(100,#fff,exact).
point
point
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a point symbolizer rule or emitting it with default values.
point-file
Type: uri
Default Value: none
Image file to represent a point. Accepted formats: SVG, PNG, JPG.
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
5.5. 2.3.0 241
![Page 246: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/246.jpg)
carto Documentation
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
Control whether the placement of the feature will prevent the placement of other features.
point-opacity
Type: float
Default Value: 1 (Fully opaque)
A value from 0 to 1 to control the opacity of the point.
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid
Control how this point should be placed. Centroid calculates the geometric center of a polygon, which can be outsideof it, while interior always places inside of a polygon.
point-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (No transformation)
SVG transformation definition.
point-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
242 Chapter 5. Mapnik API documentation
![Page 247: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/247.jpg)
carto Documentation
text
text
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a text symbolizer rule.
text-name
Type: string
Default Value:
Value to use for a text label. Data columns are specified using brackets like [column_name]
text-face-name
Type: string
Default Value:
Font name and style to render a label in
text-size
Type: float
Default Value: 10
Text size in pixels
text-ratio
Type: unsigned
Default Value: 0
Define the amount of text (of the total) present on successive lines when wrapping occurs
5.5. 2.3.0 243
![Page 248: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/248.jpg)
carto Documentation
text-wrap-width
Type: unsigned
Default Value: 0
Length of a chunk of text in pixels before wrapping text. If set to zero, text doesn’t wrap.
text-wrap-before
Type: boolean
Default Value: false
Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width.
text-wrap-character
Type: string
Default Value: ” “
Use this character instead of a space to wrap long text.
text-spacing
Type: unsigned
Default Value: 0
Distance between repeated text labels on a line (aka. label-spacing).
text-character-spacing
Type: float
Default Value: 0
Horizontal spacing adjustment between characters in pixels.
244 Chapter 5. Mapnik API documentation
![Page 249: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/249.jpg)
carto Documentation
text-line-spacing
Type: float
Default Value: 0
Vertical spacing adjustment between lines in pixels.
text-label-position-tolerance
Type: float
Default Value: 0
Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line).
text-max-char-angle-delta
Type: float
Default Value: 22.5
The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally isconverted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed aroundaround sharp corners.
text-fill
Type: color
Default Value: #000000
Specifies the color for the text
text-opacity
Type: float
Default Value: 1 (Fully opaque)
A number from 0 to 1 specifying the opacity for the text
5.5. 2.3.0 245
![Page 250: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/250.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
text-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate text halo rendering method that sacrifices quality for speed.
text-dx
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right.
text-dy
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text up.
246 Chapter 5. Mapnik API documentation
![Page 251: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/251.jpg)
carto Documentation
text-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: auto (Default affected by value of dy; “top” for dy>0, “bottom” for dy<0.)
Position of label relative to point position.
text-avoid-edges
Type: boolean
Default Value: false
Avoid placing labels that intersect with tile boundaries.
text-min-distance
Type: float
Default Value: 0
Minimum permitted distance to the next text symbolizer.
text-min-padding
Type: float
Default Value: 0
Minimum distance a text label will be placed from the edge of a metatile. This option is similar to shield-avoid-edges:true except that the extra margin is used to discard cases where the shield+margin are not fully inside themetatile.
text-min-path-length
Type: float
Default Value: 0 (place labels on all paths)
Place labels only on paths longer than this value.
5.5. 2.3.0 247
![Page 252: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/252.jpg)
carto Documentation
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
text-orientation
Type: float
Default Value: 0
Rotate the text.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
Control the style of placement of a point versus the geometry it is attached to.
text-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
text-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example is text-placements:"E,NE,SE,W,NW,SW";
248 Chapter 5. Mapnik API documentation
![Page 253: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/253.jpg)
carto Documentation
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters.
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto
The text’s horizontal alignment from its centerpoint.
text-align
Type: keyword
Possible values: left right center auto
Default Value: auto (Auto alignment means that text will be centered by default except when using the ‘‘placement-type‘‘ parameter - in that case either right or left justification will be used automatically depending on where the textcould be fit given the ‘‘text-placements‘‘ directives.)
Define how text is justified
text-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
Geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
5.5. 2.3.0 249
![Page 254: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/254.jpg)
carto Documentation
text-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
building
building
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a building symbolizer rule or emitting it with default values.
building-fill
Type: color
Default Value: #FFFFFF
The color of the buildings walls.
building-fill-opacity
Type: float
Default Value: 1
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0
The height of the building in pixels.
250 Chapter 5. Mapnik API documentation
![Page 255: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/255.jpg)
carto Documentation
debug
debug-mode
Type: keyword
Possible values: collision vertex
Default Value: collision
The mode for debug rendering.
5.6 2.2.0
5.6.1 Style
image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradient y-gradientinvert sharpen colorize-alpha
Default Value: none (no filters)
A list of image filters that will be applied to the active rendering canvas for a given style. The presence of one moremore image-filters will trigger a new canvas to be created before starting to render a style and then this canvaswill be composited back into the main canvas after rendering all features and after all image-filters have beenapplied. See direct-image-filters if you want to apply a filter directly to the main canvas.
direct-image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradient y-gradientinvert sharpen colorize-alpha
Default Value: none (no filters)
A list of image filters to apply to the main canvas (see the image-filters doc for how they work on a separatecanvas)
comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
5.6. 2.2.0 251
![Page 256: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/256.jpg)
carto Documentation
Default Value: src-over (add the current layer on top of other layers)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
opacity
Type: float
Default Value: 1 (no separate buffer will be used and no alpha will be applied to the style after rendering)
An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited backto main buffer)
5.6.2 Symbolizers
map
background-color
Type: color
Default Value: none (transparent)
Map Background color
background-image
Type: uri
Default Value: (transparent)
An image that is repeated below all features on a map as a background.
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space)
Map spatial reference (proj4 string)
252 Chapter 5. Mapnik API documentation
![Page 257: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/257.jpg)
carto Documentation
buffer-size
Type: float
Default Value: 0 (No buffer will be used)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a polygon symbolizer rule or emitting it with default values.
5.6. 2.2.0 253
![Page 258: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/258.jpg)
carto Documentation
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (gray and fully opaque (alpha = 1), same as rgb(128,128,128))
Fill color to assign to a polygon
polygon-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the polygon
polygon-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon edges
polygon-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h
polygon-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
254 Chapter 5. Mapnik API documentation
![Page 259: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/259.jpg)
carto Documentation
polygon-simplify
Type: float
Default Value: 0 (geometry will not be simplified)
geometries are simplified by the given tolerance
polygon-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt
Default Value: radial-distance (geometry will not be simplified using the radial distance algorithm)
geometries are simplified by the given algorithm
polygon-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
polygon-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.6. 2.2.0 255
![Page 260: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/260.jpg)
carto Documentation
line
line
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a line symbolizer rule or emitting it with default values.
line-color
Type: color
Default Value: rgba(0,0,0,1) (black and fully opaque (alpha = 1), same as rgb(0,0,0))
The color of a drawn line
line-width
Type: float
Default Value: 1
The width of a line in pixels
line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
line-join
Type: keyword
Possible values: miter round bevel
Default Value: miter
The behavior of lines when joining
256 Chapter 5. Mapnik API documentation
![Page 261: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/261.jpg)
carto Documentation
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt
The display of line endings
line-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of stroke line
line-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h
line-dasharray
Type: numbers
Default Value: none (solid line)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (solid line)
valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is notyet enabled)
5.6. 2.2.0 257
![Page 262: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/262.jpg)
carto Documentation
line-miterlimit
Type: float
Default Value: 4 (Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec:‘miterLength / stroke-width = 1 / sin ( theta / 2 )’)
The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joinsfor sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to beset, but a larger value can sometimes help avoid jaggy artifacts.
line-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
line-simplify
Type: float
Default Value: 0 (geometry will not be simplified)
geometries are simplified by the given tolerance
line-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt
Default Value: radial-distance (geometry will not be simplified using the radial distance algorithm)
geometries are simplified by the given algorithm
line-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
258 Chapter 5. Mapnik API documentation
![Page 263: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/263.jpg)
carto Documentation
line-offset
Type: float
Default Value: 0 (no offset)
Offsets a line a number of pixels parallel to its actual path. Positive values move the line left, negative values move itright (relative to the directionality of the line).
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
line-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
line-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.6. 2.2.0 259
![Page 264: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/264.jpg)
carto Documentation
markers
marker
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a marker symbolizer rule or emitting it with default values.
marker-file
Type: uri
Default Value: (An ellipse or circle, if width equals height)
An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.
marker-opacity
Type: float
Default Value: 1 (The stroke-opacity and fill-opacity will be used)
The overall opacity of the marker, overrides both the opacity of the fill and the opacity of the stroke.
marker-fill-opacity
Type: float
Default Value: 1 (opaque)
The fill opacity of the marker
marker-line-color
Type: color
Default Value: black
The color of the stroke around a marker shape.
260 Chapter 5. Mapnik API documentation
![Page 265: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/265.jpg)
carto Documentation
marker-line-width
Type: float
Default Value: 0.5
The width of the stroke around a marker shape, in pixels. This is positioned on the boundary, so high values can coverthe area itself.
marker-line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
marker-placement
Type: keyword
Possible values: point line interior
Default Value: point (Place markers at the center point (centroid) of the geometry)
Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times alonga line. ‘interior’ placement can be used to ensure that points placed on polygons are forced to be inside the polygoninterior
marker-multi-policy
Type: keyword
Possible values: each whole largest
Default Value: each (If a feature contains multiple geometries and the placement type is either point or interior then amarker will be rendered for each)
A special setting to allow the user to control rendering behavior for ‘multi-geometries’ (when a feature containsmultiple geometries). This setting does not apply to markers placed along lines. The ‘each’ policy is default andmeans all geometries will get a marker. The ‘whole’ policy means that the aggregate centroid between all geometrieswill be used. The ‘largest’ policy means that only the largest (by bounding box areas) feature will get a renderedmarker (this is how text labeling behaves by default).
5.6. 2.2.0 261
![Page 266: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/266.jpg)
carto Documentation
marker-type
Type: keyword
Possible values: arrow ellipse
Default Value: ellipse
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width)
marker-width
Type: float
Default Value: 10
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue
The color of the area of the marker.
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow makers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
262 Chapter 5. Mapnik API documentation
![Page 267: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/267.jpg)
carto Documentation
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
marker-spacing
Type: float
Default Value: 100
Space between repeated markers in pixels. If the spacing is less than the marker size or larger than the line segmentlength then no marker will be placed
marker-max-error
Type: float
Default Value: 0.2
The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high valuecan allow the renderer to try to resolve placement conflicts with other symbolizers.
marker-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation)
SVG transformation definition
marker-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
5.6. 2.2.0 263
![Page 268: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/268.jpg)
carto Documentation
marker-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
marker-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
marker-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
shield
shield
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a shield symbolizer.
264 Chapter 5. Mapnik API documentation
![Page 269: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/269.jpg)
carto Documentation
shield-name
Type: string
Default Value:
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name]
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text
shield-face-name
Type: string
Default Value:
Font name and style to use for the shield text
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image
shield-size
Type: float
Default Value: 10
The size of the shield text in pixels
5.6. 2.2.0 265
![Page 270: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/270.jpg)
carto Documentation
shield-fill
Type: color
Default Value: black
The color of the shield text
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multipletimes per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons.
shield-avoid-edges
Type: boolean
Default Value: false
Avoid placing shields that intersect with tile boundaries.
shield-allow-overlap
Type: boolean
Default Value: false (Do not allow shields to overlap with other map elements already placed.)
Control whether overlapping shields are shown or hidden.
shield-min-distance
Type: float
Default Value: 0
Minimum distance to the next shield symbol, not necessarily the same shield.
266 Chapter 5. Mapnik API documentation
![Page 271: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/271.jpg)
carto Documentation
shield-spacing
Type: float
Default Value: 0
The spacing between repeated occurrences of the same shield on a line
shield-min-padding
Type: float
Default Value: 0
Minimum distance a shield will be placed from the edge of a metatile.
shield-wrap-width
Type: unsigned
Default Value: 0
Length of a chunk of text in characters before wrapping text
shield-wrap-before
Type: boolean
Default Value: false
Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width.
shield-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long names.
5.6. 2.2.0 267
![Page 272: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/272.jpg)
carto Documentation
shield-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
shield-character-spacing
Type: unsigned
Default Value: 0
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
shield-line-spacing
Type: float
Default Value: 0
Vertical spacing between lines of multiline labels (in pixels)
shield-text-dx
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
268 Chapter 5. Mapnik API documentation
![Page 273: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/273.jpg)
carto Documentation
shield-text-dy
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-dx
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
shield-dy
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-opacity
Type: float
Default Value: 1
The opacity of the image used for the shield
shield-text-opacity
Type: float
Default Value: 1
The opacity of the text placed on top of the shield
5.6. 2.2.0 269
![Page 274: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/274.jpg)
carto Documentation
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto
The shield’s horizontal alignment from its centerpoint
shield-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: middle
The shield’s vertical alignment from its centerpoint
shield-placement-type
Type: keyword
Possible values: dummy simple
Default Value: dummy
Re-position and/or re-size shield to avoid overlaps. “simple” for basic algorithm (using shield-placements string,)“dummy” to turn this feature off.
shield-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example isshield-placements: "E,NE,SE,W,NW,SW";
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
270 Chapter 5. Mapnik API documentation
![Page 275: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/275.jpg)
carto Documentation
shield-justify-alignment
Type: keyword
Possible values: left center right auto
Default Value: auto
Define how text in a shield’s label is justified
shield-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation)
SVG transformation definition
shield-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
shield-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.6. 2.2.0 271
![Page 276: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/276.jpg)
carto Documentation
line-pattern
line-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a line pattern symbolizer rule or emitting it with default values.
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line
line-pattern-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
line-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified)
geometries are simplified by the given tolerance
line-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt
Default Value: radial-distance (geometry will not be simplified using the radial distance algorithm)
geometries are simplified by the given algorithm
272 Chapter 5. Mapnik API documentation
![Page 277: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/277.jpg)
carto Documentation
line-pattern-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
line-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
polygon-pattern
polygon-pattern
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a polygon pattern symbolizer rule or emitting it with default values.
5.6. 2.2.0 273
![Page 278: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/278.jpg)
carto Documentation
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon
polygon-pattern-alignment
Type: keyword
Possible values: local global
Default Value: local
Specify whether to align pattern fills to the layer or to the map.
polygon-pattern-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon pattern edges
polygon-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications)
Apply an opacity level to the image used for the pattern
polygon-pattern-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
274 Chapter 5. Mapnik API documentation
![Page 279: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/279.jpg)
carto Documentation
polygon-pattern-simplify
Type: float
Default Value: 0 (geometry will not be simplified)
geometries are simplified by the given tolerance
polygon-pattern-simplify-algorithm
Type: keyword
Possible values: radial-distance zhao-saalfeld visvalingam-whyatt
Default Value: radial-distance (geometry will not be simplified using the radial distance algorithm)
geometries are simplified by the given algorithm
polygon-pattern-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
polygon-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.6. 2.2.0 275
![Page 280: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/280.jpg)
carto Documentation
raster
raster
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a raster symbolizer rule or emitting it with default values.
raster-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the raster symbolizer on top of other symbolizers.
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: near fast bilinear bilinear8 bicubic spline16 spline36 hanning hamminghermite kaiser quadric catrom gaussian bessel mitchell sinc lanczos blackman
Default Value: near
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
276 Chapter 5. Mapnik API documentation
![Page 281: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/281.jpg)
carto Documentation
raster-mesh-size
Type: unsigned
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
raster-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
raster-colorizer-default-mode
Type: keyword
Possible values: discrete linear exact
Default Value: linear (A linear interpolation is used to generate colors between the two nearest stops.)
This can be either discrete, linear or exact. If it is not specified then the default is linear.
raster-colorizer-default-color
Type: color
Default Value: transparent (Pixels that are not colored by the colorizer stops will be transparent)
This can be any color. Sets the color that is applied to all values outside of the range of the colorizer-stops. If notsupplied pixels will be fully transparent
5.6. 2.2.0 277
![Page 282: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/282.jpg)
carto Documentation
raster-colorizer-epsilon
Type: float
Default Value: 1.1920928955078125e-07 (Pixels must very closely match the stop filter otherwise they will not becolored.)
This can be any positive floating point value and will be used as a tolerance in floating point comparisions. The higherthe value the more likely a stop will match and color data.
raster-colorizer-stops
Type: tags
Default Value: (No colorization will happen without supplying stops.)
Assigns raster data values to colors. Stops must be listed in ascending order, and contain at a minimum the value andthe associated color. You can also include the color-mode as a third argument, like stop(100,#fff,exact).
point
point
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a point symbolizer rule or emitting it with default values.
point-file
Type: uri
Default Value: none
Image file to represent a point
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
278 Chapter 5. Mapnik API documentation
![Page 283: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/283.jpg)
carto Documentation
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
point-opacity
Type: float
Default Value: 1 (Fully opaque)
A value from 0 to 1 to control the opacity of the point
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid
How this point should be placed. Centroid calculates the geometric center of a polygon, which can be outside of it,while interior always places inside of a polygon.
point-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation)
SVG transformation definition
point-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.6. 2.2.0 279
![Page 284: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/284.jpg)
carto Documentation
text
text
Type: keyword
Status: unstable
Possible values: none
Default Value:
Allows omitting a text symbolizer rule.
text-name
Type: string
Default Value:
Value to use for a text label. Data columns are specified using brackets like [column_name]
text-face-name
Type: string
Default Value:
Font name and style to render a label in
text-size
Type: float
Default Value: 10
Text size in pixels
text-ratio
Type: unsigned
Default Value: 0
Define the amount of text (of the total) present on successive lines when wrapping occurs
280 Chapter 5. Mapnik API documentation
![Page 285: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/285.jpg)
carto Documentation
text-wrap-width
Type: unsigned
Default Value: 0
Length of a chunk of text in characters before wrapping text
text-wrap-before
Type: boolean
Default Value: false
Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width.
text-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long text.
text-spacing
Type: unsigned
Default Value: 0
Distance between repeated text labels on a line (aka. label-spacing)
text-character-spacing
Type: float
Default Value: 0
Horizontal spacing adjustment between characters in pixels
5.6. 2.2.0 281
![Page 286: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/286.jpg)
carto Documentation
text-line-spacing
Type: float
Default Value: 0
Vertical spacing adjustment between lines in pixels
text-label-position-tolerance
Type: unsigned
Default Value: 0
Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line)
text-max-char-angle-delta
Type: float
Default Value: 22.5
The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally isconverted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed aroundaround sharp corners.
text-fill
Type: color
Default Value: #000000
Specifies the color for the text
text-opacity
Type: float
Default Value: 1 (Fully opaque)
A number from 0 to 1 specifying the opacity for the text
282 Chapter 5. Mapnik API documentation
![Page 287: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/287.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
text-halo-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate text halo rendering method that sacrifices quality for speed.
text-dx
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
text-dy
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
5.6. 2.2.0 283
![Page 288: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/288.jpg)
carto Documentation
text-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: auto (Default affected by value of dy; “bottom” for dy>0, “top” for dy<0.)
Position of label relative to point position.
text-avoid-edges
Type: boolean
Default Value: false
Avoid placing labels that intersect with tile boundaries.
text-min-distance
Type: float
Default Value: 0
Minimum permitted distance to the next text symbolizer.
text-min-padding
Type: float
Default Value: 0
Minimum distance a text label will be placed from the edge of a metatile.
text-min-path-length
Type: float
Default Value: 0 (place labels on all paths)
Place labels only on paths longer than this value.
284 Chapter 5. Mapnik API documentation
![Page 289: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/289.jpg)
carto Documentation
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
text-orientation
Type: float
Default Value: 0
Rotate the text.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
Control the style of placement of a point versus the geometry it is attached to.
text-placement-type
Type: keyword
Possible values: dummy simple
Default Value: dummy
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
text-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example is text-placements:"E,NE,SE,W,NW,SW";
5.6. 2.2.0 285
![Page 290: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/290.jpg)
carto Documentation
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto
The text’s horizontal alignment from its centerpoint
text-align
Type: keyword
Possible values: left right center auto
Default Value: auto (Auto alignment means that text will be centered by default except when using the ‘‘placement-type‘‘ parameter - in that case either right or left justification will be used automatically depending on where the textcould be fit given the ‘‘text-placements‘‘ directives)
Define how text is justified
text-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
286 Chapter 5. Mapnik API documentation
![Page 291: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/291.jpg)
carto Documentation
text-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
building
building
Type: keyword
Status: unstable
Possible values: auto none
Default Value:
Allows omitting a building symbolizer rule or emitting it with default values.
building-fill
Type: color
Default Value: #FFFFFF
The color of the buildings walls.
building-fill-opacity
Type: float
Default Value: 1
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0
The height of the building in pixels.
5.6. 2.2.0 287
![Page 292: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/292.jpg)
carto Documentation
debug
debug-mode
Type: keyword
Possible values: collision vertex
Default Value: collision
The mode for debug rendering
5.7 2.1.1
5.7.1 Style
image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradient y-gradientinvert sharpen
Default Value: none (no filters)
A list of image filters.
comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current layer on top of other layers)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
opacity
Type: float
Default Value: 1 (no separate buffer will be used and no alpha will be applied to the style after rendering)
An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited backto main buffer)
288 Chapter 5. Mapnik API documentation
![Page 293: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/293.jpg)
carto Documentation
5.7.2 Symbolizers
map
background-color
Type: color
Default Value: none (transparent)
Map Background color
background-image
Type: uri
Default Value: (transparent)
An image that is repeated below all features on a map as a background.
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space)
Map spatial reference (proj4 string)
buffer-size
Type: float
Default Value: 0 (No buffer will be used)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
5.7. 2.1.1 289
![Page 294: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/294.jpg)
carto Documentation
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (gray and fully opaque (alpha = 1), same as rgb(128,128,128))
Fill color to assign to a polygon
polygon-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the polygon
polygon-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon edges
290 Chapter 5. Mapnik API documentation
![Page 295: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/295.jpg)
carto Documentation
polygon-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h
polygon-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
polygon-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
polygon-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
5.7. 2.1.1 291
![Page 296: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/296.jpg)
carto Documentation
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line
line-color
Type: color
Default Value: rgba(0,0,0,1) (black and fully opaque (alpha = 1), same as rgb(0,0,0))
The color of a drawn line
line-width
Type: float
Default Value: 1
The width of a line in pixels
line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
line-join
Type: keyword
Possible values: miter round bevel
Default Value: miter
The behavior of lines when joining
292 Chapter 5. Mapnik API documentation
![Page 297: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/297.jpg)
carto Documentation
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt
The display of line endings
line-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of stroke line
line-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h
line-dasharray
Type: numbers
Default Value: none (solid line)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (solid line)
valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is notyet enabled)
5.7. 2.1.1 293
![Page 298: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/298.jpg)
carto Documentation
line-miterlimit
Type: float
Default Value: 4 (Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec:‘miterLength / stroke-width = 1 / sin ( theta / 2 )’)
The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joinsfor sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to beset, but a larger value can sometimes help avoid jaggy artifacts.
line-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
line-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-offset
Type: float
Default Value: 0 (no offset)
Offsets a line a number of pixels parallel to its actual path. Postive values move the line left, negative values move itright (relative to the directionality of the line).
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
294 Chapter 5. Mapnik API documentation
![Page 299: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/299.jpg)
carto Documentation
line-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
line-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
markers
marker-file
Type: uri
Default Value: (An ellipse or circle, if width equals height)
An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.
marker-opacity
Type: float
Default Value: 1 (The stroke-opacity and fill-opacity will be used)
The overall opacity of the marker, if set, overrides both the opacity of the fill and the opacity of the stroke.
marker-fill-opacity
Type: float
Default Value: 1 (opaque)
The fill opacity of the marker
5.7. 2.1.1 295
![Page 300: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/300.jpg)
carto Documentation
marker-line-color
Type: color
Default Value: black
The color of the stroke around a marker shape.
marker-line-width
Type: float
Default Value: 0.5
The width of the stroke around a marker shape, in pixels. This is positioned on the boundary, so high values can coverthe area itself.
marker-line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
marker-placement
Type: keyword
Possible values: point line interior
Default Value: point (Place markers at the center point (centroid) of the geometry)
Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times alonga line. ‘interior’ placement can be used to ensure that points placed on polygons are forced to be inside the polygoninterior
marker-multi-policy
Type: keyword
Possible values: each whole largest
Default Value: each (If a feature contains multiple geometries and the placement type is either point or interior then amarker will be rendered for each)
A special setting to allow the user to control rendering behavior for ‘multi-geometries’ (when a feature containsmultiple geometries). This setting does not apply to markers placed along lines. The ‘each’ policy is default andmeans all geometries will get a marker. The ‘whole’ policy means that the aggregate centroid between all geometries
296 Chapter 5. Mapnik API documentation
![Page 301: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/301.jpg)
carto Documentation
will be used. The ‘largest’ policy means that only the largest (by bounding box areas) feature will get a renderedmarker (this is how text labeling behaves by default).
marker-type
Type: keyword
Possible values: arrow ellipse
Default Value: ellipse
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width)
marker-width
Type: expression
Default Value: 10
The width of the marker, if using one of the default types.
marker-height
Type: expression
Default Value: 10
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue
The color of the area of the marker.
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow makers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
5.7. 2.1.1 297
![Page 302: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/302.jpg)
carto Documentation
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
marker-spacing
Type: float
Default Value: 100
Space between repeated labels
marker-max-error
Type: float
Default Value: 0.2
The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high valuecan allow the renderer to try to resolve placement conflicts with other symbolizers.
marker-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation)
SVG transformation definition
marker-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
298 Chapter 5. Mapnik API documentation
![Page 303: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/303.jpg)
carto Documentation
marker-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
marker-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
marker-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
shield
shield-name
Type: expression
Default Value:
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name]
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text
5.7. 2.1.1 299
![Page 304: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/304.jpg)
carto Documentation
shield-face-name
Type: string
Default Value:
Font name and style to use for the shield text
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image
shield-size
Type: float
Default Value: 10
The size of the shield text in pixels
shield-fill
Type: color
Default Value: black
The color of the shield text
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multipletimes per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons.
300 Chapter 5. Mapnik API documentation
![Page 305: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/305.jpg)
carto Documentation
shield-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
shield-allow-overlap
Type: boolean
Default Value: false (Do not allow shields to overlap with other map elements already placed.)
Control whether overlapping shields are shown or hidden.
shield-min-distance
Type: float
Default Value: 0
Minimum distance to the next shield symbol, not necessarily the same shield.
shield-spacing
Type: float
Default Value: 0
The spacing between repeated occurrences of the same shield on a line
shield-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a shield gets relative to other shields
5.7. 2.1.1 301
![Page 306: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/306.jpg)
carto Documentation
shield-wrap-width
Type: unsigned
Default Value: 0
Length of a chunk of text in characters before wrapping text
shield-wrap-before
Type: boolean
Default Value: false
Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width.
shield-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long names.
shield-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
302 Chapter 5. Mapnik API documentation
![Page 307: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/307.jpg)
carto Documentation
shield-character-spacing
Type: unsigned
Default Value: 0
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
shield-line-spacing
Type: float
Default Value: 0
Vertical spacing between lines of multiline labels (in pixels)
shield-text-dx
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
shield-text-dy
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-dx
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
5.7. 2.1.1 303
![Page 308: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/308.jpg)
carto Documentation
shield-dy
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the image used for the shield
shield-text-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the text placed on top of the shield
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto
The shield’s horizontal alignment from its centerpoint
shield-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: middle
The shield’s vertical alignment from its centerpoint
304 Chapter 5. Mapnik API documentation
![Page 309: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/309.jpg)
carto Documentation
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
shield-justify-alignment
Type: keyword
Possible values: left center right auto
Default Value: auto
Define how text in a shield’s label is justified
shield-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
shield-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.7. 2.1.1 305
![Page 310: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/310.jpg)
carto Documentation
line-pattern
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line
line-pattern-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
line-pattern-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
line-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
306 Chapter 5. Mapnik API documentation
![Page 311: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/311.jpg)
carto Documentation
polygon-pattern
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon
polygon-pattern-alignment
Type: keyword
Possible values: local global
Default Value: local
Specify whether to align pattern fills to the layer or to the map.
polygon-pattern-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon pattern edges
polygon-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications)
(Default 1.0) - Apply an opacity level to the image used for the pattern
polygon-pattern-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
5.7. 2.1.1 307
![Page 312: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/312.jpg)
carto Documentation
polygon-pattern-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
polygon-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
raster
raster-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the raster symbolizer on top of other symbolizers.
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
308 Chapter 5. Mapnik API documentation
![Page 313: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/313.jpg)
carto Documentation
raster-scaling
Type: keyword
Possible values: near fast bilinear bilinear8 bicubic spline16 spline36 hanning hamminghermite kaiser quadric catrom gaussian bessel mitchell sinc lanczos blackman
Default Value: near
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
raster-mesh-size
Type: unsigned
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
raster-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
point
point-file
Type: uri
Default Value: none
Image file to represent a point
5.7. 2.1.1 309
![Page 314: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/314.jpg)
carto Documentation
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
point-opacity
Type: float
Default Value: 1 (Fully opaque)
A value from 0 to 1 to control the opacity of the point
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid
How this point should be placed. Centroid calculates the geometric center of a polygon, which can be outside of it,while interior always places inside of a polygon.
point-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation)
SVG transformation definition
310 Chapter 5. Mapnik API documentation
![Page 315: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/315.jpg)
carto Documentation
point-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text
text-name
Type: expression
Default Value:
Value to use for a text label. Data columns are specified using brackets like [column_name]
text-face-name
Type: string
Default Value:
Font name and style to render a label in
text-size
Type: float
Default Value: 10
Text size in pixels
text-ratio
Type: unsigned
Default Value: 0
Define the amount of text (of the total) present on successive lines when wrapping occurs
5.7. 2.1.1 311
![Page 316: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/316.jpg)
carto Documentation
text-wrap-width
Type: unsigned
Default Value: 0
Length of a chunk of text in characters before wrapping text
text-wrap-before
Type: boolean
Default Value: false
Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width.
text-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long text.
text-spacing
Type: unsigned
Default Value: 0
Distance between repeated text labels on a line (aka. label-spacing)
text-character-spacing
Type: float
Default Value: 0
Horizontal spacing adjustment between characters in pixels
312 Chapter 5. Mapnik API documentation
![Page 317: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/317.jpg)
carto Documentation
text-line-spacing
Type: float
Default Value: 0
Vertical spacing adjustment between lines in pixels
text-label-position-tolerance
Type: unsigned
Default Value: 0
Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line)
text-max-char-angle-delta
Type: float
Default Value: 22.5
The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally isconverted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed aroundaround sharp corners.
text-fill
Type: color
Default Value: #000000
Specifies the color for the text
text-opacity
Type: float
Default Value: 1 (Fully opaque)
A number from 0 to 1 specifying the opacity for the text
5.7. 2.1.1 313
![Page 318: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/318.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
text-dx
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
text-dy
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
text-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: auto (Default affected by value of dy; “bottom” for dy>0, “top” for dy<0.)
Position of label relative to point position.
314 Chapter 5. Mapnik API documentation
![Page 319: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/319.jpg)
carto Documentation
text-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
text-min-distance
Type: float
Default Value: 0
Minimum permitted distance to the next text symbolizer.
text-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a text symbolizer gets relative to other text
text-min-path-length
Type: float
Default Value: 0 (place labels on all paths)
Place labels only on paths longer than this value.
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
5.7. 2.1.1 315
![Page 320: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/320.jpg)
carto Documentation
text-orientation
Type: expression
Default Value: 0
Rotate the text.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
Control the style of placement of a point versus the geometry it is attached to.
text-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
text-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example is text-placements:"E,NE,SE,W,NW,SW";
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
316 Chapter 5. Mapnik API documentation
![Page 321: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/321.jpg)
carto Documentation
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto
The text’s horizontal alignment from its centerpoint
text-align
Type: keyword
Possible values: left right center auto
Default Value: auto (Auto alignment means that text will be centered by default except when using the ‘‘placement-type‘‘ parameter - in that case either right or left justification will be used automatically depending on where the textcould be fit given the ‘‘text-placements‘‘ directives)
Define how text is justified
text-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
text-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.7. 2.1.1 317
![Page 322: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/322.jpg)
carto Documentation
building
building-fill
Type: color
Default Value: #FFFFFF
The color of the buildings walls.
building-fill-opacity
Type: float
Default Value: 1
The opacity of the building as a whole, including all walls.
building-height
Type: expression
Default Value: 0
The height of the building in pixels.
5.8 2.1.0
5.8.1 Style
image-filters
Type: functions
Possible values: agg-stack-blur emboss blur gray sobel edge-detect x-gradient y-gradientinvert sharpen
Default Value: none (no filters)
A list of image filters.
318 Chapter 5. Mapnik API documentation
![Page 323: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/323.jpg)
carto Documentation
comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current layer on top of other layers)
Composite operation. This defines how this layer should behave relative to layers atop or below it.
opacity
Type: float
Default Value: 1 (no separate buffer will be used and no alpha will be applied to the style after rendering)
An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited backto main buffer)
5.8.2 Symbolizers
map
background-color
Type: color
Default Value: none (transparent)
Map Background color
background-image
Type: uri
Default Value: (transparent)
An image that is repeated below all features on a map as a background.
5.8. 2.1.0 319
![Page 324: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/324.jpg)
carto Documentation
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space)
Map spatial reference (proj4 string)
buffer-size
Type: float
Default Value: 0 (No buffer will be used)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
320 Chapter 5. Mapnik API documentation
![Page 325: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/325.jpg)
carto Documentation
polygon
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (gray and fully opaque (alpha = 1), same as rgb(128,128,128))
Fill color to assign to a polygon
polygon-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the polygon
polygon-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon edges
polygon-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h
polygon-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
5.8. 2.1.0 321
![Page 326: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/326.jpg)
carto Documentation
polygon-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
polygon-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line
line-color
Type: color
Default Value: rgba(0,0,0,1) (black and fully opaque (alpha = 1), same as rgb(0,0,0))
The color of a drawn line
line-width
Type: float
Default Value: 1
The width of a line in pixels
322 Chapter 5. Mapnik API documentation
![Page 327: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/327.jpg)
carto Documentation
line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
line-join
Type: keyword
Possible values: miter round bevel
Default Value: miter
The behavior of lines when joining
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt
The display of line endings
line-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of stroke line
line-gamma-method
Type: keyword
Possible values: power linear none threshold multiply
Default Value: power (pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line andpolygon antialiasing than the ‘linear’ method, while other methods are usually only used to disable AA)
An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik thismethod is used in combination with the ‘gamma’ value (which defaults to 1). The methods are in the AGG source athttps://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h
5.8. 2.1.0 323
![Page 328: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/328.jpg)
carto Documentation
line-dasharray
Type: numbers
Default Value: none (solid line)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (solid line)
valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is notyet enabled)
line-miterlimit
Type: float
Default Value: 4 (Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec:‘miterLength / stroke-width = 1 / sin ( theta / 2 )’)
The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joinsfor sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to beset, but a larger value can sometimes help avoid jaggy artifacts.
line-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
line-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
324 Chapter 5. Mapnik API documentation
![Page 329: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/329.jpg)
carto Documentation
line-offset
Type: float
Default Value: 0 (no offset)
Offsets a line a number of pixels parallel to its actual path. Postive values move the line left, negative values move itright (relative to the directionality of the line).
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
line-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
line-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.8. 2.1.0 325
![Page 330: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/330.jpg)
carto Documentation
markers
marker-file
Type: uri
Default Value: (An ellipse or circle, if width equals height)
An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.
marker-opacity
Type: float
Default Value: 1 (The stroke-opacity and fill-opacity will be used)
The overall opacity of the marker, if set, overrides both the opacity of the fill and the opacity of the stroke.
marker-fill-opacity
Type: float
Default Value: 1 (opaque)
The fill opacity of the marker
marker-line-color
Type: color
Default Value: black
The color of the stroke around a marker shape.
marker-line-width
Type: float
Default Value: 0.5
The width of the stroke around a marker shape, in pixels. This is positioned on the boundary, so high values can coverthe area itself.
326 Chapter 5. Mapnik API documentation
![Page 331: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/331.jpg)
carto Documentation
marker-line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
marker-placement
Type: keyword
Possible values: point line interior
Default Value: point (Place markers at the center point (centroid) of the geometry)
Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times alonga line. ‘interior’ placement can be used to ensure that points placed on polygons are forced to be inside the polygoninterior
marker-type
Type: keyword
Possible values: arrow ellipse
Default Value: ellipse
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width)
marker-width
Type: float
Default Value: 10
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10
The height of the marker, if using one of the default types.
5.8. 2.1.0 327
![Page 332: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/332.jpg)
carto Documentation
marker-fill
Type: color
Default Value: blue
The color of the area of the marker.
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow makers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
marker-spacing
Type: float
Default Value: 100
Space between repeated labels
marker-max-error
Type: float
Default Value: 0.2
The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high valuecan allow the renderer to try to resolve placement conflicts with other symbolizers.
328 Chapter 5. Mapnik API documentation
![Page 333: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/333.jpg)
carto Documentation
marker-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation)
SVG transformation definition
marker-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
marker-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
marker-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
marker-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.8. 2.1.0 329
![Page 334: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/334.jpg)
carto Documentation
shield
shield-name
Type: string
Default Value:
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name]
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text
shield-face-name
Type: string
Default Value:
Font name and style to use for the shield text
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image
shield-size
Type: float
Default Value: 10
The size of the shield text in pixels
330 Chapter 5. Mapnik API documentation
![Page 335: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/335.jpg)
carto Documentation
shield-fill
Type: color
Default Value: black
The color of the shield text
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multipletimes per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons.
shield-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
shield-allow-overlap
Type: boolean
Default Value: false (Do not allow shields to overlap with other map elements already placed.)
Control whether overlapping shields are shown or hidden.
shield-min-distance
Type: float
Default Value: 0
Minimum distance to the next shield symbol, not necessarily the same shield.
5.8. 2.1.0 331
![Page 336: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/336.jpg)
carto Documentation
shield-spacing
Type: float
Default Value: 0
The spacing between repeated occurrences of the same shield on a line
shield-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a shield gets relative to other shields
shield-wrap-width
Type: unsigned
Default Value: 0
Length of a chunk of text in characters before wrapping text
shield-wrap-before
Type: boolean
Default Value: false
Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width.
shield-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long names.
332 Chapter 5. Mapnik API documentation
![Page 337: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/337.jpg)
carto Documentation
shield-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
shield-character-spacing
Type: unsigned
Default Value: 0
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
shield-line-spacing
Type: float
Default Value: 0
Vertical spacing between lines of multiline labels (in pixels)
shield-text-dx
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
5.8. 2.1.0 333
![Page 338: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/338.jpg)
carto Documentation
shield-text-dy
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-dx
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
shield-dy
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the image used for the shield
shield-text-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the text placed on top of the shield
334 Chapter 5. Mapnik API documentation
![Page 339: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/339.jpg)
carto Documentation
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto
The shield’s horizontal alignment from its centerpoint
shield-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: middle
The shield’s vertical alignment from its centerpoint
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
shield-justify-alignment
Type: keyword
Possible values: left center right auto
Default Value: auto
Define how text in a shield’s label is justified
shield-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
5.8. 2.1.0 335
![Page 340: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/340.jpg)
carto Documentation
shield-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
line-pattern
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line
line-pattern-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
line-pattern-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
line-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
336 Chapter 5. Mapnik API documentation
![Page 341: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/341.jpg)
carto Documentation
line-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
polygon-pattern
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon
polygon-pattern-alignment
Type: keyword
Possible values: local global
Default Value: local
Specify whether to align pattern fills to the layer or to the map.
polygon-pattern-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon pattern edges
polygon-pattern-opacity
Type: float
Default Value: 1 (The image is rendered without modifications)
(Default 1.0) - Apply an opacity level to the image used for the pattern
5.8. 2.1.0 337
![Page 342: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/342.jpg)
carto Documentation
polygon-pattern-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
polygon-pattern-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed.Values greater than 1 will produce wild, looping geometries.
polygon-pattern-geometry-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: none (geometry will not be transformed)
Allows transformation functions to be applied to the geometry.
polygon-pattern-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
raster
raster-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the raster symbolizer on top of other symbolizers.
338 Chapter 5. Mapnik API documentation
![Page 343: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/343.jpg)
carto Documentation
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: near fast bilinear bilinear8 bicubic spline16 spline36 hanning hamminghermite kaiser quadric catrom gaussian bessel mitchell sinc lanczos blackman
Default Value: near
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
raster-mesh-size
Type: unsigned
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
raster-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
5.8. 2.1.0 339
![Page 344: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/344.jpg)
carto Documentation
point
point-file
Type: uri
Default Value: none
Image file to represent a point
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
point-opacity
Type: float
Default Value: 1 (Fully opaque)
A value from 0 to 1 to control the opacity of the point
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid
How this point should be placed. Centroid calculates the geometric center of a polygon, which can be outside of it,while interior always places inside of a polygon.
340 Chapter 5. Mapnik API documentation
![Page 345: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/345.jpg)
carto Documentation
point-transform
Type: functions
Possible values: matrix translate scale rotate skewX skewY
Default Value: (No transformation)
SVG transformation definition
point-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
text
text-name
Type: string
Default Value:
Value to use for a text label. Data columns are specified using brackets like [column_name]
text-face-name
Type: string
Default Value:
Font name and style to render a label in
text-size
Type: float
Default Value: 10
Text size in pixels
5.8. 2.1.0 341
![Page 346: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/346.jpg)
carto Documentation
text-ratio
Type: unsigned
Default Value: 0
Define the amount of text (of the total) present on successive lines when wrapping occurs
text-wrap-width
Type: unsigned
Default Value: 0
Length of a chunk of text in characters before wrapping text
text-wrap-before
Type: boolean
Default Value: false
Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width.
text-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long text.
text-spacing
Type: unsigned
Default Value: 0
Distance between repeated text labels on a line (aka. label-spacing)
342 Chapter 5. Mapnik API documentation
![Page 347: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/347.jpg)
carto Documentation
text-character-spacing
Type: float
Default Value: 0
Horizontal spacing adjustment between characters in pixels
text-line-spacing
Type: float
Default Value: 0
Vertical spacing adjustment between lines in pixels
text-label-position-tolerance
Type: unsigned
Default Value: 0
Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line)
text-max-char-angle-delta
Type: float
Default Value: 22.5
The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally isconverted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed aroundaround sharp corners.
text-fill
Type: color
Default Value: #000000
Specifies the color for the text
5.8. 2.1.0 343
![Page 348: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/348.jpg)
carto Documentation
text-opacity
Type: float
Default Value: 1 (Fully opaque)
A number from 0 to 1 specifying the opacity for the text
text-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
text-dx
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
text-dy
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
344 Chapter 5. Mapnik API documentation
![Page 349: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/349.jpg)
carto Documentation
text-vertical-alignment
Type: keyword
Possible values: top middle bottom auto
Default Value: auto (Default affected by value of dy; “bottom” for dy>0, “top” for dy<0.)
Position of label relative to point position.
text-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
text-min-distance
Type: float
Default Value: 0
Minimum permitted distance to the next text symbolizer.
text-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a text symbolizer gets relative to other text
text-min-path-length
Type: float
Default Value: 0 (place labels on all paths)
Place labels only on paths longer than this value.
5.8. 2.1.0 345
![Page 350: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/350.jpg)
carto Documentation
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
text-orientation
Type: float
Default Value: 0
Rotate the text.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
Control the style of placement of a point versus the geometry it is attached to.
text-placement-type
Type: keyword
Possible values: dummy simple list
Default Value: dummy
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
text-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. An example is text-placements:"E,NE,SE,W,NW,SW";
346 Chapter 5. Mapnik API documentation
![Page 351: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/351.jpg)
carto Documentation
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: auto
The text’s horizontal alignment from its centerpoint
text-align
Type: keyword
Possible values: left right center auto
Default Value: auto (Auto alignment means that text will be centered by default except when using the ‘‘placement-type‘‘ parameter - in that case either right or left justification will be used automatically depending on where the textcould be fit given the ‘‘text-placements‘‘ directives)
Define how text is justified
text-clip
Type: boolean
Default Value: true (geometry will be clipped to map bounds before rendering)
geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish todisable this to avoid rendering artifacts.
5.8. 2.1.0 347
![Page 352: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/352.jpg)
carto Documentation
text-comp-op
Type: keyword
Possible values: clear src dst src-over dst-over src-in dst-in src-out dst-out src-atopdst-atop xor plus minus multiply screen overlay darken lighten color-dodge color-burnhard-light soft-light difference exclusion contrast invert invert-rgb grain-mergegrain-extract hue saturation color value
Default Value: src-over (add the current symbolizer on top of other symbolizer)
Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.
building
building-fill
Type: color
Default Value: #FFFFFF
The color of the buildings walls.
building-fill-opacity
Type: float
Default Value: 1
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0
The height of the building in pixels.
348 Chapter 5. Mapnik API documentation
![Page 353: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/353.jpg)
carto Documentation
5.9 2.0.2
5.9.1 Style
5.9.2 Symbolizers
map
background-color
Type: color
Default Value: none (transparent)
Map Background color
background-image
Type: uri
Default Value: (transparent)
An image that is repeated below all features on a map as a background.
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space)
Map spatial reference (proj4 string)
buffer-size
Type: float
Default Value: 0 (No buffer will be used)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
5.9. 2.0.2 349
![Page 354: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/354.jpg)
carto Documentation
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (gray and fully opaque (alpha = 1), same as rgb(128,128,128))
Fill color to assign to a polygon
polygon-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon edges
polygon-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the polygon
350 Chapter 5. Mapnik API documentation
![Page 355: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/355.jpg)
carto Documentation
polygon-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Amount of smoothing applied
line
line-color
Type: color
Default Value: rgba(0,0,0,1) (black and fully opaque (alpha = 1), same as rgb(0,0,0))
The color of a drawn line
line-width
Type: float
Default Value: 1
The width of a line in pixels
line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
line-join
Type: keyword
Possible values: miter round bevel
Default Value: miter
The behavior of lines when joining
5.9. 2.0.2 351
![Page 356: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/356.jpg)
carto Documentation
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt
The display of line endings
line-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of stroke line
line-dasharray
Type: numbers
Default Value: none (solid line)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (solid line)
valid parameter but not currently used in renderers
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
352 Chapter 5. Mapnik API documentation
![Page 357: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/357.jpg)
carto Documentation
markers
marker-file
Type: uri
Default Value: (An ellipse or circle, if width equals height)
An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.
marker-opacity
Type: float
Default Value: 1 (opaque)
The overall opacity of the marker
marker-line-color
Type: color
Default Value: black
The color of the stroke around a marker shape.
marker-line-width
Type: float
Default Value: 0.5
The width of the stroke around the marker, in pixels. This is positioned on the boundary, so high values can cover thearea itself.
marker-line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
5.9. 2.0.2 353
![Page 358: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/358.jpg)
carto Documentation
marker-placement
Type: keyword
Possible values: point line
Default Value: line
Attempt to place markers on a point once or on a line repeatedly
marker-type
Type: keyword
Possible values: arrow ellipse
Default Value: ellipse
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width)
marker-width
Type: float
Default Value: 10
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue
The color of the area of the marker.
354 Chapter 5. Mapnik API documentation
![Page 359: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/359.jpg)
carto Documentation
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow makers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
marker-spacing
Type: float
Default Value: 100
Space between repeated labels
marker-max-error
Type: float
Default Value: 0.2
The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high valuecan allow the renderer to try to resolve placement conflicts with other symbolizers.
marker-transform
Type: string
Default Value: (no transformation)
An SVG transformation definition
5.9. 2.0.2 355
![Page 360: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/360.jpg)
carto Documentation
shield
shield-name
Type: string
Default Value:
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name]
shield-face-name
Type: string
Default Value:
Font name and style to use for the shield text
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image
shield-size
Type: float
Default Value: 10
The size of the shield text in pixels
shield-fill
Type: color
Default Value: black
The color of the shield text
356 Chapter 5. Mapnik API documentation
![Page 361: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/361.jpg)
carto Documentation
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multipletimes per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons.
shield-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
shield-min-distance
Type: float
Default Value: 0
Minimum distance to the next shield symbol, not necessarily the same shield.
shield-spacing
Type: float
Default Value: 0
The spacing between repeated occurrences of the same shield on a line
shield-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a shield gets relative to other shields
5.9. 2.0.2 357
![Page 362: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/362.jpg)
carto Documentation
shield-wrap-width
Type: float
Default Value: 0
Length before wrapping long names.
shield-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long names.
shield-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
shield-character-spacing
Type: float
Default Value: 0
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
358 Chapter 5. Mapnik API documentation
![Page 363: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/363.jpg)
carto Documentation
shield-line-spacing
Type: float
Default Value: 0
Vertical spacing between lines of multiline labels (in pixels)
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text
shield-text-dx
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
shield-text-dy
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-dx
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
5.9. 2.0.2 359
![Page 364: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/364.jpg)
carto Documentation
shield-dy
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the image used for the shield
shield-text-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the text placed on top of the shield
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: middle
The shield’s horizontal alignment from its centerpoint
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
360 Chapter 5. Mapnik API documentation
![Page 365: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/365.jpg)
carto Documentation
shield-no-text
Type: boolean
Default Value: false
Whether the shield should make room for a text label.
shield-justify-alignment
Type: string
Default Value: middle
Define how text in a shield’s label is justified
line-pattern
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line
polygon-pattern
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon
polygon-pattern-alignment
Type: keyword
Possible values: local global
Default Value: local
Specify whether to align pattern fills to the layer or to the map.
5.9. 2.0.2 361
![Page 366: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/366.jpg)
carto Documentation
polygon-pattern-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon pattern edges
raster
raster-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the raster symbolizer on top of other symbolizers.
raster-mode
Type: keyword
Possible values: normal grain_merge grain_merge2 multiply multiply2 divide divide2 screenhard_light
Default Value: normal
The blending technique used to overlay this raster image on the layer below. Normal simply covers the layer. Grainmerge adds the two layers together and subtracts 128 from the value, making the resulting area sometimes high-contrast. Screen often gives a lighter, washed-out appearance. Multiply multiplies the pixels, giving a high-contrastresult. Divide divides the upper layer by the lower layer, making a lighter version.
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: fast bilinear bilinear8 bicubic spline16 gaussian lanczos
Default Value: fast
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
362 Chapter 5. Mapnik API documentation
![Page 367: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/367.jpg)
carto Documentation
raster-mesh-size
Type: integer
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
point
point-file
Type: uri
Default Value: none
Image file to represent a point
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
point-opacity
Type: float
Default Value: 1 (Fully opaque)
A value from 0 to 1 to control the opacity of the point
5.9. 2.0.2 363
![Page 368: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/368.jpg)
carto Documentation
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid
How this point should be placed. Centroid calculates the geometric center of a polygon, which can be outside of it,while interior always places inside of a polygon.
point-transform
Type: string
Default Value: (No transformation)
SVG transformation definition
text
text-name
Type: string
Default Value:
Value to use for a text label. Data columns are specified using brackets like [column_name]
text-face-name
Type: string
Default Value:
Font name and style to render a label in
text-size
Type: float
Default Value: 10
Text size in pixels
364 Chapter 5. Mapnik API documentation
![Page 369: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/369.jpg)
carto Documentation
text-ratio
Type: float
Default Value: 0
Define the amount of text (of the total) present on successive lines when wrapping occurs
text-wrap-width
Type: float
Default Value: 0
Length of a chunk of text in characters before wrapping text
text-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long text.
text-spacing
Type: float
Default Value: 0
Distance between repeated text labels on a line
text-character-spacing
Type: float
Default Value: 0
Horizontal spacing adjustment between characters in pixels
5.9. 2.0.2 365
![Page 370: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/370.jpg)
carto Documentation
text-line-spacing
Type: float
Default Value: 0
Vertical spacing adjustment between lines in pixels
text-label-position-tolerance
Type: float
Default Value: 0
Allows the label to be displaced from its ideal position by a number of pixels
text-max-char-angle-delta
Type: float
Default Value: none
If present, the maximum angle change, in degrees, allowed between adjacent characters in a label. This will stop labelplacement around sharp corners.
text-fill
Type: color
Default Value: #000000
Specifies the color for the text
text-opacity
Type: float
Default Value: 1 (Fully opaque)
A number from 0 to 1 specifying the opacity for the text
366 Chapter 5. Mapnik API documentation
![Page 371: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/371.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
text-dx
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
text-dy
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
text-vertical-alignment
Type: keyword
Possible values: top middle bottom
Default Value: middle (Default affected by value of dy; “bottom” for dy>0, “top” for dy<0.)
Position of label relative to point position.
5.9. 2.0.2 367
![Page 372: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/372.jpg)
carto Documentation
text-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
text-min-distance
Type: float
Default Value: 0
Minimum permitted distance to the next text symbolizer.
text-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a text symbolizer gets relative to other text
text-min-path-length
Type: float
Default Value: 0 (place labels on all paths)
Place labels only on paths longer than this value.
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
368 Chapter 5. Mapnik API documentation
![Page 373: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/373.jpg)
carto Documentation
text-orientation
Type: float
Default Value: 0
Rotate the text.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
Control the style of placement of a point versus the geometry it is attached to.
text-placement-type
Type: keyword
Possible values: dummy simple
Default Value: dummy
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
text-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. See TextSymbolizer docs for format.
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
5.9. 2.0.2 369
![Page 374: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/374.jpg)
carto Documentation
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: middle
The text’s horizontal alignment from its centerpoint
text-align
Type: keyword
Possible values: left right center
Default Value: center
Set the text alignment.
building
building-fill
Type: color
Default Value: #FFFFFF
The color of the buildings walls.
building-fill-opacity
Type: float
Default Value: 1
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0
The height of the building in pixels.
370 Chapter 5. Mapnik API documentation
![Page 375: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/375.jpg)
carto Documentation
5.10 2.0.1
5.10.1 Style
5.10.2 Symbolizers
map
background-color
Type: color
Default Value: none (transparent)
Map Background color
background-image
Type: uri
Default Value: (transparent)
An image that is repeated below all features on a map as a background.
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space)
Map spatial reference (proj4 string)
buffer-size
Type: float
Default Value: 0 (No buffer will be used)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
5.10. 2.0.1 371
![Page 376: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/376.jpg)
carto Documentation
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (gray and fully opaque (alpha = 1), same as rgb(128,128,128))
Fill color to assign to a polygon
polygon-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon edges
polygon-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the polygon
372 Chapter 5. Mapnik API documentation
![Page 377: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/377.jpg)
carto Documentation
polygon-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Amount of smoothing applied
line
line-color
Type: color
Default Value: rgba(0,0,0,1) (black and fully opaque (alpha = 1), same as rgb(0,0,0))
The color of a drawn line
line-width
Type: float
Default Value: 1
The width of a line in pixels
line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
line-join
Type: keyword
Possible values: miter round bevel
Default Value: miter
The behavior of lines when joining
5.10. 2.0.1 373
![Page 378: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/378.jpg)
carto Documentation
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt
The display of line endings
line-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of stroke line
line-dasharray
Type: numbers
Default Value: none (solid line)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (solid line)
valid parameter but not currently used in renderers
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
374 Chapter 5. Mapnik API documentation
![Page 379: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/379.jpg)
carto Documentation
markers
marker-file
Type: uri
Default Value: (An ellipse or circle, if width equals height)
An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.
marker-opacity
Type: float
Default Value: 1 (opaque)
The overall opacity of the marker
marker-line-color
Type: color
Default Value: black
The color of the stroke around a marker shape.
marker-line-width
Type: float
Default Value: 0.5
The width of the stroke around the marker, in pixels. This is positioned on the boundary, so high values can cover thearea itself.
marker-line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
5.10. 2.0.1 375
![Page 380: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/380.jpg)
carto Documentation
marker-placement
Type: keyword
Possible values: point line
Default Value: line
Attempt to place markers on a point once or on a line repeatedly
marker-type
Type: keyword
Possible values: arrow ellipse
Default Value: ellipse
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width)
marker-width
Type: float
Default Value: 10
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue
The color of the area of the marker.
376 Chapter 5. Mapnik API documentation
![Page 381: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/381.jpg)
carto Documentation
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow makers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
marker-spacing
Type: float
Default Value: 100
Space between repeated labels
marker-max-error
Type: float
Default Value: 0.2
The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high valuecan allow the renderer to try to resolve placement conflicts with other symbolizers.
marker-transform
Type: string
Default Value: (no transformation)
An SVG transformation definition
5.10. 2.0.1 377
![Page 382: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/382.jpg)
carto Documentation
shield
shield-name
Type: string
Default Value:
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name]
shield-face-name
Type: string
Default Value:
Font name and style to use for the shield text
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image
shield-size
Type: float
Default Value: 10
The size of the shield text in pixels
shield-fill
Type: color
Default Value: black
The color of the shield text
378 Chapter 5. Mapnik API documentation
![Page 383: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/383.jpg)
carto Documentation
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multipletimes per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons.
shield-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
shield-min-distance
Type: float
Default Value: 0
Minimum distance to the next shield symbol, not necessarily the same shield.
shield-spacing
Type: float
Default Value: 0
The spacing between repeated occurrences of the same shield on a line
shield-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a shield gets relative to other shields
5.10. 2.0.1 379
![Page 384: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/384.jpg)
carto Documentation
shield-wrap-width
Type: float
Default Value: 0
Length before wrapping long names.
shield-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long names.
shield-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
shield-character-spacing
Type: float
Default Value: 0
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
380 Chapter 5. Mapnik API documentation
![Page 385: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/385.jpg)
carto Documentation
shield-line-spacing
Type: float
Default Value: 0
Vertical spacing between lines of multiline labels (in pixels)
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text
shield-text-dx
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
shield-text-dy
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-dx
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
5.10. 2.0.1 381
![Page 386: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/386.jpg)
carto Documentation
shield-dy
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the image used for the shield
shield-text-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the text placed on top of the shield
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: middle
The shield’s horizontal alignment from its centerpoint
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
382 Chapter 5. Mapnik API documentation
![Page 387: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/387.jpg)
carto Documentation
shield-no-text
Type: boolean
Default Value: false
Whether the shield should make room for a text label.
shield-justify-alignment
Type: string
Default Value: middle
Define how text in a shield’s label is justified
line-pattern
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line
polygon-pattern
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon
polygon-pattern-alignment
Type: keyword
Possible values: local global
Default Value: local
Specify whether to align pattern fills to the layer or to the map.
5.10. 2.0.1 383
![Page 388: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/388.jpg)
carto Documentation
polygon-pattern-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon pattern edges
raster
raster-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the raster symbolizer on top of other symbolizers.
raster-mode
Type: keyword
Possible values: normal grain_merge grain_merge2 multiply multiply2 divide divide2 screenhard_light
Default Value: normal
The blending technique used to overlay this raster image on the layer below. Normal simply covers the layer. Grainmerge adds the two layers together and subtracts 128 from the value, making the resulting area sometimes high-contrast. Screen often gives a lighter, washed-out appearance. Multiply multiplies the pixels, giving a high-contrastresult. Divide divides the upper layer by the lower layer, making a lighter version.
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: fast bilinear bilinear8 bicubic spline16 gaussian lanczos
Default Value: fast
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
384 Chapter 5. Mapnik API documentation
![Page 389: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/389.jpg)
carto Documentation
raster-mesh-size
Type: integer
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
point
point-file
Type: uri
Default Value: none
Image file to represent a point
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
point-opacity
Type: float
Default Value: 1 (Fully opaque)
A value from 0 to 1 to control the opacity of the point
5.10. 2.0.1 385
![Page 390: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/390.jpg)
carto Documentation
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid
How this point should be placed. Centroid calculates the geometric center of a polygon, which can be outside of it,while interior always places inside of a polygon.
point-transform
Type: string
Default Value: (No transformation)
SVG transformation definition
text
text-name
Type: string
Default Value:
Value to use for a text label. Data columns are specified using brackets like [column_name]
text-face-name
Type: string
Default Value:
Font name and style to render a label in
text-size
Type: float
Default Value: 10
Text size in pixels
386 Chapter 5. Mapnik API documentation
![Page 391: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/391.jpg)
carto Documentation
text-ratio
Type: float
Default Value: 0
Define the amount of text (of the total) present on successive lines when wrapping occurs
text-wrap-width
Type: float
Default Value: 0
Length of a chunk of text in characters before wrapping text
text-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long text.
text-spacing
Type: float
Default Value: 0
Distance between repeated text labels on a line
text-character-spacing
Type: float
Default Value: 0
Horizontal spacing adjustment between characters in pixels
5.10. 2.0.1 387
![Page 392: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/392.jpg)
carto Documentation
text-line-spacing
Type: float
Default Value: 0
Vertical spacing adjustment between lines in pixels
text-label-position-tolerance
Type: float
Default Value: 0
Allows the label to be displaced from its ideal position by a number of pixels
text-max-char-angle-delta
Type: float
Default Value: none
If present, the maximum angle change, in degrees, allowed between adjacent characters in a label. This will stop labelplacement around sharp corners.
text-fill
Type: color
Default Value: #000000
Specifies the color for the text
text-opacity
Type: float
Default Value: 1 (Fully opaque)
A number from 0 to 1 specifying the opacity for the text
388 Chapter 5. Mapnik API documentation
![Page 393: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/393.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
text-dx
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
text-dy
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
text-vertical-alignment
Type: keyword
Possible values: top middle bottom
Default Value: middle (Default affected by value of dy; “bottom” for dy>0, “top” for dy<0.)
Position of label relative to point position.
5.10. 2.0.1 389
![Page 394: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/394.jpg)
carto Documentation
text-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
text-min-distance
Type: float
Default Value: 0
Minimum permitted distance to the next text symbolizer.
text-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a text symbolizer gets relative to other text
text-min-path-length
Type: float
Default Value: 0 (place labels on all paths)
Place labels only on paths longer than this value.
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
390 Chapter 5. Mapnik API documentation
![Page 395: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/395.jpg)
carto Documentation
text-orientation
Type: float
Default Value: 0
Rotate the text.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
Control the style of placement of a point versus the geometry it is attached to.
text-placement-type
Type: keyword
Possible values: dummy simple
Default Value: dummy
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
text-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. See TextSymbolizer docs for format.
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
5.10. 2.0.1 391
![Page 396: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/396.jpg)
carto Documentation
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: middle
The text’s horizontal alignment from its centerpoint
text-align
Type: keyword
Possible values: left right center
Default Value: center
Set the text alignment.
building
building-fill
Type: color
Default Value: #FFFFFF
The color of the buildings walls.
building-fill-opacity
Type: float
Default Value: 1
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0
The height of the building in pixels.
392 Chapter 5. Mapnik API documentation
![Page 397: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/397.jpg)
carto Documentation
5.11 2.0.0
5.11.1 Style
5.11.2 Symbolizers
map
background-color
Type: color
Default Value: none (transparent)
Map Background color
background-image
Type: uri
Default Value: (transparent)
An image that is repeated below all features on a map as a background.
srs
Type: string
Default Value: +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs (The proj4 literal of EPSG:4326 is assumedto be the Map’s spatial reference and all data from layers within this map will be plotted using this coordinate sys-tem. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and nottransformations will be needed to plot them in the Map’s coordinate space)
Map spatial reference (proj4 string)
buffer-size
Type: float
Default Value: 0 (No buffer will be used)
Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in eachtile (e.g. cut in each tile). Not intended to be used in combination with “avoid-edges”.
5.11. 2.0.0 393
![Page 398: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/398.jpg)
carto Documentation
base
Type: string
Default Value: (This base path defaults to an empty string meaning that any relative paths to files referenced in stylesor layers will be interpreted relative to the application process.)
Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded froman in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is notprovided it will be set to the directory of the stylesheet.
font-directory
Type: uri
Default Value: none (No map-specific fonts will be registered)
Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts thatmay be automatically registered).
polygon
polygon-fill
Type: color
Default Value: rgba(128,128,128,1) (gray and fully opaque (alpha = 1), same as rgb(128,128,128))
Fill color to assign to a polygon
polygon-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon edges
polygon-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the polygon
394 Chapter 5. Mapnik API documentation
![Page 399: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/399.jpg)
carto Documentation
polygon-smooth
Type: float
Default Value: 0 (no smoothing) Range: 0-1 Amount of smoothing applied
line
line-color
Type: color
Default Value: rgba(0,0,0,1) (black and fully opaque (alpha = 1), same as rgb(0,0,0))
The color of a drawn line
line-width
Type: float
Default Value: 1
The width of a line in pixels
line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
line-join
Type: keyword
Possible values: miter round bevel
Default Value: miter
The behavior of lines when joining
5.11. 2.0.0 395
![Page 400: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/400.jpg)
carto Documentation
line-cap
Type: keyword
Possible values: butt round square
Default Value: butt
The display of line endings
line-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of stroke line
line-dasharray
Type: numbers
Default Value: none (solid line)
A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two valuesare supported for more complex patterns.
line-dash-offset
Type: numbers
Default Value: none (solid line)
valid parameter but not currently used in renderers
line-rasterizer
Type: keyword
Possible values: full fast
Default Value: full
Exposes an alternate AGG rendering method that sacrifices some accuracy for speed.
396 Chapter 5. Mapnik API documentation
![Page 401: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/401.jpg)
carto Documentation
markers
marker-file
Type: uri
Default Value: (An ellipse or circle, if width equals height)
An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.
marker-opacity
Type: float
Default Value: 1 (opaque)
The overall opacity of the marker
marker-line-color
Type: color
Default Value: black
The color of the stroke around a marker shape.
marker-line-width
Type: float
Default Value: 0.5
The width of the stroke around the marker, in pixels. This is positioned on the boundary, so high values can cover thearea itself.
marker-line-opacity
Type: float
Default Value: 1 (opaque)
The opacity of a line
5.11. 2.0.0 397
![Page 402: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/402.jpg)
carto Documentation
marker-placement
Type: keyword
Possible values: point line
Default Value: line
Attempt to place markers on a point once or on a line repeatedly
marker-type
Type: keyword
Possible values: arrow ellipse
Default Value: ellipse
The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrowor an ellipse (a circle if height is equal to width)
marker-width
Type: float
Default Value: 10
The width of the marker, if using one of the default types.
marker-height
Type: float
Default Value: 10
The height of the marker, if using one of the default types.
marker-fill
Type: color
Default Value: blue
The color of the area of the marker.
398 Chapter 5. Mapnik API documentation
![Page 403: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/403.jpg)
carto Documentation
marker-allow-overlap
Type: boolean
Default Value: false (Do not allow makers to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping markers are shown or hidden.
marker-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
marker-spacing
Type: float
Default Value: 100
Space between repeated labels
marker-max-error
Type: float
Default Value: 0.2
The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high valuecan allow the renderer to try to resolve placement conflicts with other symbolizers.
marker-transform
Type: string
Default Value: (no transformation)
An SVG transformation definition
5.11. 2.0.0 399
![Page 404: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/404.jpg)
carto Documentation
shield
shield-name
Type: string
Default Value:
Value to use for a shield”s text label. Data columns are specified using brackets like [column_name]
shield-face-name
Type: string
Default Value:
Font name and style to use for the shield text
shield-unlock-image
Type: boolean
Default Value: false (text alignment relative to the shield image uses the center of the image as the anchor for textpositioning.)
This parameter should be set to true if you are trying to position text beside rather than on top of the shield image
shield-size
Type: float
Default Value: 10
The size of the shield text in pixels
shield-fill
Type: color
Default Value: black
The color of the shield text
400 Chapter 5. Mapnik API documentation
![Page 405: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/405.jpg)
carto Documentation
shield-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multipletimes per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons.
shield-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
shield-min-distance
Type: float
Default Value: 0
Minimum distance to the next shield symbol, not necessarily the same shield.
shield-spacing
Type: float
Default Value: 0
The spacing between repeated occurrences of the same shield on a line
shield-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a shield gets relative to other shields
5.11. 2.0.0 401
![Page 406: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/406.jpg)
carto Documentation
shield-wrap-width
Type: float
Default Value: 0
Length before wrapping long names.
shield-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long names.
shield-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
shield-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
shield-character-spacing
Type: float
Default Value: 0
Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.
402 Chapter 5. Mapnik API documentation
![Page 407: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/407.jpg)
carto Documentation
shield-line-spacing
Type: float
Default Value: 0
Vertical spacing between lines of multiline labels (in pixels)
shield-file
Type: uri
Default Value: none
Image file to render behind the shield text
shield-text-dx
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
shield-text-dy
Type: float
Default Value: 0
Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-dx
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
5.11. 2.0.0 403
![Page 408: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/408.jpg)
carto Documentation
shield-dy
Type: float
Default Value: 0
Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
shield-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the image used for the shield
shield-text-opacity
Type: float
Default Value: 1
(Default 1.0) - opacity of the text placed on top of the shield
shield-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: middle
The shield’s horizontal alignment from its centerpoint
shield-text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
404 Chapter 5. Mapnik API documentation
![Page 409: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/409.jpg)
carto Documentation
shield-no-text
Type: boolean
Default Value: false
Whether the shield should make room for a text label.
shield-justify-alignment
Type: string
Default Value: middle
Define how text in a shield’s label is justified
line-pattern
line-pattern-file
Type: uri
Default Value: none
An image file to be repeated and warped along a line
polygon-pattern
polygon-pattern-file
Type: uri
Default Value: none
Image to use as a repeated pattern fill within a polygon
polygon-pattern-alignment
Type: keyword
Possible values: local global
Default Value: local
Specify whether to align pattern fills to the layer or to the map.
5.11. 2.0.0 405
![Page 410: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/410.jpg)
carto Documentation
polygon-pattern-gamma
Type: float
Default Value: 1 (fully antialiased) Range: 0-1 Level of antialiasing of polygon pattern edges
raster
raster-opacity
Type: float
Default Value: 1 (opaque)
The opacity of the raster symbolizer on top of other symbolizers.
raster-mode
Type: keyword
Possible values: normal grain_merge grain_merge2 multiply multiply2 divide divide2 screenhard_light
Default Value: normal
The blending technique used to overlay this raster image on the layer below. Normal simply covers the layer. Grainmerge adds the two layers together and subtracts 128 from the value, making the resulting area sometimes high-contrast. Screen often gives a lighter, washed-out appearance. Multiply multiplies the pixels, giving a high-contrastresult. Divide divides the upper layer by the lower layer, making a lighter version.
raster-filter-factor
Type: float
Default Value: -1 (Allow the datasource to choose appropriate downscaling.)
This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can some-times cause much better scaled image output, at the cost of speed.
raster-scaling
Type: keyword
Possible values: fast bilinear bilinear8 bicubic spline16 gaussian lanczos
Default Value: fast
The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromisebetween speed and accuracy, while lanczos gives the highest quality.
406 Chapter 5. Mapnik API documentation
![Page 411: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/411.jpg)
carto Documentation
raster-mesh-size
Type: integer
Default Value: 16 (Reprojection mesh will be 1/16 of the resolution of the source image)
A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size todetermine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection butmight lead to distortion.
point
point-file
Type: uri
Default Value: none
Image file to represent a point
point-allow-overlap
Type: boolean
Default Value: false (Do not allow points to overlap with each other - overlapping markers will not be shown.)
Control whether overlapping points are shown or hidden.
point-ignore-placement
Type: boolean
Default Value: false (do not store the bbox of this geometry in the collision detector cache)
value to control whether the placement of the feature will prevent the placement of other features
point-opacity
Type: float
Default Value: 1 (Fully opaque)
A value from 0 to 1 to control the opacity of the point
5.11. 2.0.0 407
![Page 412: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/412.jpg)
carto Documentation
point-placement
Type: keyword
Possible values: centroid interior
Default Value: centroid
How this point should be placed. Centroid calculates the geometric center of a polygon, which can be outside of it,while interior always places inside of a polygon.
point-transform
Type: string
Default Value: (No transformation)
SVG transformation definition
text
text-name
Type: string
Default Value:
Value to use for a text label. Data columns are specified using brackets like [column_name]
text-face-name
Type: string
Default Value:
Font name and style to render a label in
text-size
Type: float
Default Value: 10
Text size in pixels
408 Chapter 5. Mapnik API documentation
![Page 413: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/413.jpg)
carto Documentation
text-ratio
Type: float
Default Value: 0
Define the amount of text (of the total) present on successive lines when wrapping occurs
text-wrap-width
Type: float
Default Value: 0
Length of a chunk of text in characters before wrapping text
text-wrap-character
Type: string
Default Value:
Use this character instead of a space to wrap long text.
text-spacing
Type: float
Default Value: 0
Distance between repeated text labels on a line
text-character-spacing
Type: float
Default Value: 0
Horizontal spacing adjustment between characters in pixels
5.11. 2.0.0 409
![Page 414: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/414.jpg)
carto Documentation
text-line-spacing
Type: float
Default Value: 0
Vertical spacing adjustment between lines in pixels
text-label-position-tolerance
Type: float
Default Value: 0
Allows the label to be displaced from its ideal position by a number of pixels
text-max-char-angle-delta
Type: float
Default Value: none
If present, the maximum angle change, in degrees, allowed between adjacent characters in a label. This will stop labelplacement around sharp corners.
text-fill
Type: color
Default Value: #000000
Specifies the color for the text
text-opacity
Type: float
Default Value: 1 (Fully opaque)
A number from 0 to 1 specifying the opacity for the text
410 Chapter 5. Mapnik API documentation
![Page 415: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/415.jpg)
carto Documentation
text-halo-fill
Type: color
Default Value: #FFFFFF (white)
Specifies the color of the halo around the text.
text-halo-radius
Type: float
Default Value: 0 (no halo)
Specify the radius of the halo in pixels
text-dx
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right
text-dy
Type: float
Default Value: 0
Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down
text-vertical-alignment
Type: keyword
Possible values: top middle bottom
Default Value: middle (Default affected by value of dy; “bottom” for dy>0, “top” for dy<0.)
Position of label relative to point position.
5.11. 2.0.0 411
![Page 416: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/416.jpg)
carto Documentation
text-avoid-edges
Type: boolean
Default Value: false
Tell positioning algorithm to avoid labeling near intersection edges.
text-min-distance
Type: float
Default Value: 0
Minimum permitted distance to the next text symbolizer.
text-min-padding
Type: float
Default Value: 0
Determines the minimum amount of padding that a text symbolizer gets relative to other text
text-min-path-length
Type: float
Default Value: 0 (place labels on all paths)
Place labels only on paths longer than this value.
text-allow-overlap
Type: boolean
Default Value: false (Do not allow text to overlap with other text - overlapping markers will not be shown.)
Control whether overlapping text is shown or hidden.
412 Chapter 5. Mapnik API documentation
![Page 417: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/417.jpg)
carto Documentation
text-orientation
Type: float
Default Value: 0
Rotate the text.
text-placement
Type: keyword
Possible values: point line vertex interior
Default Value: point
Control the style of placement of a point versus the geometry it is attached to.
text-placement-type
Type: keyword
Possible values: dummy simple
Default Value: dummy
Re-position and/or re-size text to avoid overlaps. “simple” for basic algorithm (using text-placements string,)“dummy” to turn this feature off.
text-placements
Type: string
Default Value:
If “placement-type” is set to “simple”, use this “POSITIONS,[SIZES]” string. See TextSymbolizer docs for format.
text-transform
Type: keyword
Possible values: none uppercase lowercase capitalize
Default Value: none
Transform the case of the characters
5.11. 2.0.0 413
![Page 418: Carto contributors - Read the Docs · carto Documentation 1.3.1MML The MML interface loads and processes a MML file (see MML File Structure for details). You instantiate the class](https://reader030.fdocuments.us/reader030/viewer/2022040622/5d3aa9b288c993a7428d09a2/html5/thumbnails/418.jpg)
carto Documentation
text-horizontal-alignment
Type: keyword
Possible values: left middle right auto
Default Value: middle
The text’s horizontal alignment from its centerpoint
text-align
Type: keyword
Possible values: left right center
Default Value: center
Set the text alignment.
building
building-fill
Type: color
Default Value: #FFFFFF
The color of the buildings walls.
building-fill-opacity
Type: float
Default Value: 1
The opacity of the building as a whole, including all walls.
building-height
Type: float
Default Value: 0
The height of the building in pixels.
414 Chapter 5. Mapnik API documentation