Moving reference data to independent JSON file.

This commit is contained in:
Tom MacWright 2011-02-02 12:53:27 -05:00
parent 90785a9ca4
commit 6e04976efc
2 changed files with 794 additions and 792 deletions

View File

@ -1,646 +1,16 @@
(function(tree) {
tree.Reference = {
'symbolizers' : {
'map': {
'background-color': {
'css': 'background-color',
'default-value': 'none',
'default-meaning': 'transparent',
'type': 'color',
'doc': 'Map Background color'
},
'background-image': {
'css': 'background-image',
'type': 'uri',
'description': 'Map Background image'
}
},
'polygon': {
'fill': {
'css': 'polygon-fill',
'api': 'fill',
'type': 'color',
'availability': '0.5.1',
'default-value': 'rgb(128,128,128)',
'default-meaning': 'grey',
'doc': 'Fill color to assign to a polygon'
},
'gamma': {
'css': 'polygon-gamma',
'api': 'gamma',
'type': 'float',
'availability': '0.7.0',
'default-value': 1,
'default-meaning': 'fully antialiased',
'range': '0-1',
'doc': 'Level of antialiasing of polygon edges'
},
'fill-opacity': {
'css': 'polygon-opacity',
'type': 'float',
'default-value': 1,
'default-meaning': 'opaque'
},
'meta-output': {
'css': 'polygon-meta-output',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter Output'
},
'meta-writer': {
'css': 'polygon-meta-writer',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter specified'
}
},
'line': {
'stroke': {
'css': 'line-color',
'default-value': 'black',
'type': 'color',
'doc': 'The color of a drawn line'
},
'stroke-width': {
'css': 'line-width',
'default-value': 1,
'type': 'float',
'doc': 'The width of a line in pixels'
},
'stroke-opacity': {
'css': 'line-opacity',
'default-value': 1,
'type': 'float',
'default-meaning': 'opaque',
'doc': 'The opacity of a line'
},
'stroke-linejoin': {
'css': 'line-join',
'default-value': 'miter',
'type': [
'miter',
'round',
'bevel'
],
'doc': 'The behavior of lines when joining'
},
'stroke-linecap': {
'css': 'line-cap',
'default-value': 'butt',
'type': [
'butt',
'round',
'square'
],
'doc': 'The display of line endings'
},
'stroke-gamma': {
'css': 'line-gamma',
'api': 'gamma',
'type': 'float',
'availability': '2.0.0',
'default-value': 1,
'default-meaning': 'fully antialiased',
'range': '0-1',
'doc': 'Level of antialiasing of stroke line'
},
'stroke-dasharray': {
'css': 'line-dasharray',
'type': 'numbers',
'doc': 'A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two values are supported for more complex patterns.',
'default-value': 'none',
'default-meaning': 'solid line'
},
'meta-output': {
'css': 'line-meta-output',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter Output'
},
'meta-writer': {
'css': 'line-meta-writer',
'type': 'string',
'default-value': ''
}
},
'markers': {
'stroke': {
'css': 'marker-line-color',
'type': 'color'
},
'stroke-width': {
'css': 'marker-line-width',
'type': 'float'
},
'stroke-opacity': {
'css': 'marker-line-opacity',
'default-value': 1,
'default-meaning': 'opaque',
'type': 'float'
},
'placement': {
'css': 'marker-placement',
'type': [
'point',
'line'
]
},
'type': {
'css': 'marker-type',
'type': [
'arrow',
'ellipse'
]
},
'width': {
'css': 'marker-width',
'type': 'float'
},
'height': {
'css': 'marker-height',
'type': 'float'
},
'fill': {
'css': 'marker-fill',
'type': 'color'
},
'opacity': {
'css': 'marker-opacity',
'default-value': 1,
'default-meaning': 'opaque',
'type': 'float'
},
'file': {
'css': 'marker-file',
'type': 'uri'
},
'allow_overlap': {
'css': 'marker-allow-overlap',
'type': 'boolean',
'default-value': 'false',
'default-meaning': 'do not allow overlap'
},
'spacing': {
'css': 'marker-spacing',
'docs': 'Space between repeated labels',
'type': 'float'
},
'max_error': {
'css': 'marker-max-error',
'type': 'float'
},
'transform': {
'css': 'marker-transform',
'type': 'string'
},
'meta-output': {
'css': 'marker-meta-output',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter Output'
},
'meta-writer': {
'css': 'marker-meta-writer',
'type': 'string',
'default-value': 'none'
}
},
'shield': {
'name': {
'css': 'shield-name',
'type': 'none',
'required': true
},
'face_name': {
'css': 'shield-face-name',
'type': 'string',
'validate': 'font',
'doc': 'Font name and style to use for the shield text',
'required': true
},
'size': {
'css': 'shield-size',
'type': 'float',
'doc': 'The size of the shield text in pixels'
},
'fill': {
'css': 'shield-fill',
'type': 'color',
'doc': 'The color of the shield text'
},
'minimum_distance': {
'css': 'shield-min-distance',
'type': 'float',
'default-value': 0,
'doc': 'Minimum distance to the next shield symbol, not necessarily the same shield.'
},
'spacing': {
'css': 'shield-spacing',
'type': 'float',
'default-value': 0,
'doc': 'The spacing between repeated occurrences of the same shield on a line'
},
'character_spacing': {
'css': 'shield-spacing',
'type': 'float',
'default-value': 0,
'doc': 'Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement.'
},
'line_spacing': {
'css': 'shield-line-spacing',
'doc': 'Vertical spacing between lines of multiline labels (in pixels)',
'type': 'float'
},
'file': {
'css': 'shield-file',
'type': 'uri',
'default-value': 'none',
'doc': 'Image file to render behind the shield text'
},
'width': {
'css': 'shield-width',
'type': 'float',
'default-meaning': 'native width of the image',
'doc': 'Width in pixels to scale the shield image to'
},
'height': {
'css': 'shield-height',
'type': 'float',
'default-meaning': 'native height of the image',
'doc': 'Width in pixels to scale the shield image to'
},
'type': {
'css': 'shield-type',
'type': ['png', 'jpg', 'svg'],
'default-meaning': 'auto-detected',
'doc': 'The file type of the shield image'
},
'dx': {
'css': 'shield-text-dx',
'type': 'float',
'doc': 'Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right',
'default-value': 0
},
'dy': {
'css': 'shield-text-dy',
'type': 'float',
'doc': 'Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down',
'default-value': 0
},
'shield-dx': {
'css': 'shield-dx',
'type': 'float',
'doc': 'Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right',
'default-value': 0
},
'shield-dy': {
'css': 'shield-dy',
'type': 'float',
'doc': 'Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down',
'default-value': 0
},
'meta-output': {
'css': 'shield-meta-output',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter Output'
},
'meta-writer': {
'css': 'shield-meta-writer',
'type': 'string',
'default-value': ''
},
'shield_dx': {
'css': 'shield-dx',
'type': 'float',
'doc': 'Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the shield right',
'default-value': 0
},
'shield_dx': {
'css': 'shield-dx',
'type': 'float',
'doc': 'Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the shield down',
'default-value': 0
}
},
'line-pattern': {
'file': {
'css': 'line-pattern-file',
'type': 'uri',
'doc': 'An image file to be repeated and warped along a line'
},
'width': {
'css': 'line-pattern-width',
'type': 'float',
'doc': 'Width in pixels to scale the pattern image to',
'default-meaning': 'native width of the image'
},
'height': {
'css': 'line-pattern-height',
'type': 'float',
'doc': 'Height in pixels to scale the pattern image to',
'default-meaning': 'native height of the image'
},
'type': {
'css': 'line-pattern-type',
'type': 'none',
'default-meaning': 'auto-detected',
'doc': 'The type of image file, e.g. png'
},
'meta-output': {
'css': 'line-pattern-meta-output',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter Output'
},
'meta-writer': {
'css': 'line-pattern-meta-writer',
'type': 'string',
'default-value': ''
}
},
'polygon-pattern': {
'file': {
'css': 'polygon-pattern-file',
'type': 'uri',
'doc': 'Image to use as a repeated pattern fill within a polygon'
},
'width': {
'css': 'polygon-pattern-width',
'type': 'float',
'doc': 'Width in pixels to scale the pattern image to',
'default-meaning': 'native width of the image'
},
'height': {
'css': 'polygon-pattern-height',
'type': 'float',
'doc': 'Height in pixels to scale the pattern image to',
'default-meaning': 'native height of the image'
},
'type': {
'css': 'polygon-pattern-type',
'type': 'none',
'default-meaning': 'auto-detected',
'doc': 'The type of image file, e.g. png'
},
'meta-output': {
'css': 'polygon-pattern-meta-output',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter Output'
},
'meta-writer': {
'css': 'polygon-pattern-meta-writer',
'type': 'string',
'default-value': ''
}
},
'raster': {
'opacity': {
'css': 'raster-opacity',
'default-value': 1,
'default-meaning': 'opaque',
'type': 'float'
},
'mode': {
'css': 'raster-mode',
'default-value': 'normal',
'type': [
'normal',
'grain_merge',
'grain_merge2',
'multiply',
'multiply2',
'divide',
'divide2',
'screen',
'hard_light'
]
},
'scaling': {
'css': 'raster-scaling',
'type': [
'fast',
'bilinear',
'bilinear8'
]
}
},
'point': {
'file': {
'css': 'point-file',
'type': 'uri',
'doc': 'Image file to represent a point'
},
'width': {
'css': 'point-width',
'type': 'float',
'default-meaning': 'native width of the image',
'doc': 'Width in pixels to scale the point image to'
},
'height': {
'css': 'point-height',
'type': 'float',
'default-meaning': 'native height of the image',
'doc': 'Height in pixels to scale the point image to'
},
'type': {
'css': 'point-type',
'type': 'none',
'default-meaning': 'auto-detected',
'doc': 'The type of image file, e.g. png'
},
'allow_overlap': {
'css': 'point-allow-overlap',
'type': 'boolean',
'default-value': 'false',
'default-meaning': 'do not allow overlap'
},
'placement': {
'css': 'point-placement',
'type': [
'centroid',
'interior'
],
'default-value': 'centroid'
},
'meta-output': {
'css': 'point-meta-output',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter Output'
},
'meta-writer': {
'css': 'point-meta-writer',
'type': 'string',
'default-value': ''
}
},
'text': {
'name': {
'css': 'text-name',
'type': 'string',
'required': true
},
'face_name': {
'css': 'text-face-name',
'type': 'string',
'validate': 'font',
'doc': 'Font name and style to render a label in',
'required': true
},
'size': {
'css': 'text-size',
'type': 'float',
'default-value': 10,
'doc': 'Text size in pixels'
},
'text-ratio': {
'css': 'text-ratio',
'doc': 'Define the amount of text (of the total) present on successive lines when wrapping occurs',
'type': 'float',
'type': 'none'
},
'wrap_width': {
'css': 'text-wrap-width',
'doc': 'Length of a chunk of text in characters before wrapping text',
'type': 'float'
},
'spacing': {
'css': 'text-spacing',
'type': 'float',
'doc': 'Distance between repeated text labels on a line'
},
'character_spacing': {
'css': 'text-character-spacing',
'type': 'float',
'default-value': 0,
'doc': 'Horizontal spacing adjustment between characters in pixels'
},
'line_spacing': {
'css': 'text-line-spacing',
'default-value': 0,
'type': 'float',
'doc': 'Vertical spacing adjustment between lines in pixels'
},
'label_position_tolerance': {
'css': 'text-label-position-tolerance',
'type': 'float'
},
'max_char_angle_delta': {
'css': 'text-max-char-angle-delta',
'type': 'float',
'default-value': 'none',
'doc': 'If present, the maximum angle change, in degrees, allowed between adjacent characters in a label. This will stop label placement around sharp corners.'
},
'fill': {
'css': 'text-fill',
'doc': 'Specifies the color for the text',
'default-value': '#000000',
'type': 'color'
},
'halo_fill': {
'css': 'text-halo-fill',
'docs': 'Color of the text halo',
'type': 'color',
'default-value': '#FFFFFF',
'default-meaning': 'white',
'doc': 'Specifies the color of the halo around the text.'
},
'halo_radius': {
'css': 'text-halo-radius',
'doc': 'Specify the radius of the halo in pixels',
'default-value': 0,
'default-meaning': 'no halo',
'type': 'float'
},
'dx': {
'css': 'text-dx',
'type': 'float',
'doc': 'Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right',
'default-value': 0
},
'dy': {
'css': 'text-dy',
'type': 'float',
'doc': 'Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down',
'default-value': 0
},
'avoid_edges': {
'css': 'text-avoid-edges',
'doc': 'Tell positioning algorithm to avoid labeling near intersection edges.',
'type': 'boolean'
},
'minimum_distance': {
'css': 'text-min-distance',
'type': 'float'
},
'minimum_padding': {
'css': 'text-min-padding',
'type': 'float'
},
'allow_overlap': {
'css': 'text-allow-overlap',
'type': 'boolean',
'default-value': 'false',
'default-meaning': 'do not allow overlap'
},
'placement': {
'css': 'text-placement',
'type': [
'point',
'line',
'vertex',
'interior'
],
'default-value': 'point'
},
'text_transform': {
'css': 'text-transform',
'type': [
'none',
'uppercase',
'lowercase'
],
'doc': 'Transform the case of the characters',
'default-value': 'none'
},
'meta-output': {
'css': 'text-meta-output',
'type': 'string',
'default-value': '',
'default-meaning': 'No MetaWriter Output'
},
'meta-writer': {
'css': 'text-meta-writer',
'type': 'string',
'default-value': ''
}
},
'building': {
'fill': {
'css': 'building-fill',
'default': '#FFFFFF',
'type': 'color'
},
'fill-opacity': {
'css': 'building-fill-opacity',
'type': 'float',
'default': '1.0'
},
'height': {
'css': 'building-height',
'type': 'float',
'default': '0'
}
}
}
};
var fs = require('fs');
tree.Reference = JSON.parse(fs.readFileSync(__dirname + '/reference.json'));
for (var i in tree.Reference.colors) {
var c = tree.Reference.colors[i];
tree.Reference.colors[i] = new(tree.Color)(c);
}
tree.Reference.required_prop_list_cache = {};
tree.Reference.selectors = tree.Reference.selectors || (function() {
// TODO: HORRIBLE CODE FIX
var list = [];
for (var i in tree.Reference.symbolizers) {
for (var j in tree.Reference.symbolizers[i]) {
@ -652,14 +22,11 @@ tree.Reference.selectors = tree.Reference.selectors || (function() {
return list;
})();
tree.Reference.validSelector = function(selector) {
// TODO: not compatible in browser
return tree.Reference.selectors.indexOf(selector) !== -1;
};
tree.Reference.selectorName = function(selector) {
// TODO: not compatible in browser
for (var i in tree.Reference.symbolizers) {
for (var j in tree.Reference.symbolizers[i]) {
if (selector == tree.Reference.symbolizers[i][j].css) {
@ -732,7 +99,6 @@ tree.Reference.isFont = function(selector) {
return tree.Reference.selector(selector).validate == 'font';
}
tree.Reference.validValue = function(env, selector, value) {
if (value[0]) {
return tree.Reference.selector(selector).type == value[0].is;
@ -773,154 +139,4 @@ tree.Reference.validValue = function(env, selector, value) {
}
}
tree.Reference.colors = {
aliceblue: new(tree.Color)([240, 248, 255]),
antiquewhite: new(tree.Color)([250, 235, 215]),
aqua: new(tree.Color)([0, 255, 255]),
aquamarine: new(tree.Color)([127, 255, 212]),
azure: new(tree.Color)([240, 255, 255]),
beige: new(tree.Color)([245, 245, 220]),
bisque: new(tree.Color)([255, 228, 196]),
black: new(tree.Color)([0, 0, 0]),
blanchedalmond: new(tree.Color)([255,235,205]),
blue: new(tree.Color)([0, 0, 255]),
blueviolet: new(tree.Color)([138, 43, 226]),
brown: new(tree.Color)([165, 42, 42]),
burlywood: new(tree.Color)([222, 184, 135]),
cadetblue: new(tree.Color)([95, 158, 160]),
chartreuse: new(tree.Color)([127, 255, 0]),
chocolate: new(tree.Color)([210, 105, 30]),
coral: new(tree.Color)([255, 127, 80]),
cornflowerblue: new(tree.Color)([100, 149, 237]),
cornsilk: new(tree.Color)([255, 248, 220]),
crimson: new(tree.Color)([220, 20, 60]),
cyan: new(tree.Color)([0, 255, 255]),
darkblue: new(tree.Color)([0, 0, 139]),
darkcyan: new(tree.Color)([0, 139, 139]),
darkgoldenrod: new(tree.Color)([184, 134, 11]),
darkgray: new(tree.Color)([169, 169, 169]),
darkgreen: new(tree.Color)([0, 100, 0]),
darkgrey: new(tree.Color)([169, 169, 169]),
darkkhaki: new(tree.Color)([189, 183, 107]),
darkmagenta: new(tree.Color)([139, 0, 139]),
darkolivegreen: new(tree.Color)([85, 107, 47]),
darkorange: new(tree.Color)([255, 140, 0]),
darkorchid: new(tree.Color)([153, 50, 204]),
darkred: new(tree.Color)([139, 0, 0]),
darksalmon: new(tree.Color)([233, 150, 122]),
darkseagreen: new(tree.Color)([143, 188, 143]),
darkslateblue: new(tree.Color)([72, 61, 139]),
darkslategrey: new(tree.Color)([47, 79, 79]),
darkturquoise: new(tree.Color)([0, 206, 209]),
darkviolet: new(tree.Color)([148, 0, 211]),
deeppink: new(tree.Color)([255, 20, 147]),
deepskyblue: new(tree.Color)([0, 191, 255]),
dimgray: new(tree.Color)([105, 105, 105]),
dimgrey: new(tree.Color)([105, 105, 105]),
dodgerblue: new(tree.Color)([30, 144, 255]),
firebrick: new(tree.Color)([178, 34, 34]),
floralwhite: new(tree.Color)([255, 250, 240]),
forestgreen: new(tree.Color)([34, 139, 34]),
fuchsia: new(tree.Color)([255, 0, 255]),
gainsboro: new(tree.Color)([220, 220, 220]),
ghostwhite: new(tree.Color)([248, 248, 255]),
gold: new(tree.Color)([255, 215, 0]),
goldenrod: new(tree.Color)([218, 165, 32]),
gray: new(tree.Color)([128, 128, 128]),
grey: new(tree.Color)([128, 128, 128]),
green: new(tree.Color)([0, 128, 0]),
greenyellow: new(tree.Color)([173, 255, 47]),
honeydew: new(tree.Color)([240, 255, 240]),
hotpink: new(tree.Color)([255, 105, 180]),
indianred: new(tree.Color)([205, 92, 92]),
indigo: new(tree.Color)([75, 0, 130]),
ivory: new(tree.Color)([255, 255, 240]),
khaki: new(tree.Color)([240, 230, 140]),
lavender: new(tree.Color)([230, 230, 250]),
lavenderblush: new(tree.Color)([255, 240, 245]),
lawngreen: new(tree.Color)([124, 252, 0]),
lemonchiffon: new(tree.Color)([255, 250, 205]),
lightblue: new(tree.Color)([173, 216, 230]),
lightcoral: new(tree.Color)([240, 128, 128]),
lightcyan: new(tree.Color)([224, 255, 255]),
lightgoldenrodyellow: new(tree.Color)([250, 250, 210]),
lightgray: new(tree.Color)([211, 211, 211]),
lightgreen: new(tree.Color)([144, 238, 144]),
lightgrey: new(tree.Color)([211, 211, 211]),
lightpink: new(tree.Color)([255, 182, 193]),
lightsalmon: new(tree.Color)([255, 160, 122]),
lightseagreen: new(tree.Color)([32, 178, 170]),
lightskyblue: new(tree.Color)([135, 206, 250]),
lightslategray: new(tree.Color)([119, 136, 153]),
lightslategrey: new(tree.Color)([119, 136, 153]),
lightsteelblue: new(tree.Color)([176, 196, 222]),
lightyellow: new(tree.Color)([255, 255, 224]),
lime: new(tree.Color)([0, 255, 0]),
limegreen: new(tree.Color)([50, 205, 50]),
linen: new(tree.Color)([250, 240, 230]),
magenta: new(tree.Color)([255, 0, 255]),
maroon: new(tree.Color)([128, 0, 0]),
mediumaquamarine: new(tree.Color)([102, 205, 170]),
mediumblue: new(tree.Color)([0, 0, 205]),
mediumorchid: new(tree.Color)([186, 85, 211]),
mediumpurple: new(tree.Color)([147, 112, 219]),
mediumseagreen: new(tree.Color)([60, 179, 113]),
mediumslateblue: new(tree.Color)([123, 104, 238]),
mediumspringgreen: new(tree.Color)([0, 250, 154]),
mediumturquoise: new(tree.Color)([72, 209, 204]),
mediumvioletred: new(tree.Color)([199, 21, 133]),
midnightblue: new(tree.Color)([25, 25, 112]),
mintcream: new(tree.Color)([245, 255, 250]),
mistyrose: new(tree.Color)([255, 228, 225]),
moccasin: new(tree.Color)([255, 228, 181]),
navajowhite: new(tree.Color)([255, 222, 173]),
navy: new(tree.Color)([0, 0, 128]),
oldlace: new(tree.Color)([253, 245, 230]),
olive: new(tree.Color)([128, 128, 0]),
olivedrab: new(tree.Color)([107, 142, 35]),
orange: new(tree.Color)([255, 165, 0]),
orangered: new(tree.Color)([255, 69, 0]),
orchid: new(tree.Color)([218, 112, 214]),
palegoldenrod: new(tree.Color)([238, 232, 170]),
palegreen: new(tree.Color)([152, 251, 152]),
paleturquoise: new(tree.Color)([175, 238, 238]),
palevioletred: new(tree.Color)([219, 112, 147]),
papayawhip: new(tree.Color)([255, 239, 213]),
peachpuff: new(tree.Color)([255, 218, 185]),
peru: new(tree.Color)([205, 133, 63]),
pink: new(tree.Color)([255, 192, 203]),
plum: new(tree.Color)([221, 160, 221]),
powderblue: new(tree.Color)([176, 224, 230]),
purple: new(tree.Color)([128, 0, 128]),
red: new(tree.Color)([255, 0, 0]),
rosybrown: new(tree.Color)([188, 143, 143]),
royalblue: new(tree.Color)([65, 105, 225]),
saddlebrown: new(tree.Color)([139, 69, 19]),
salmon: new(tree.Color)([250, 128, 114]),
sandybrown: new(tree.Color)([244, 164, 96]),
seagreen: new(tree.Color)([46, 139, 87]),
seashell: new(tree.Color)([255, 245, 238]),
sienna: new(tree.Color)([160, 82, 45]),
silver: new(tree.Color)([192, 192, 192]),
skyblue: new(tree.Color)([135, 206, 235]),
slateblue: new(tree.Color)([106, 90, 205]),
slategray: new(tree.Color)([112, 128, 144]),
slategrey: new(tree.Color)([112, 128, 144]),
snow: new(tree.Color)([255, 250, 250]),
springgreen: new(tree.Color)([0, 255, 127]),
steelblue: new(tree.Color)([70, 130, 180]),
tan: new(tree.Color)([210, 180, 140]),
teal: new(tree.Color)([0, 128, 128]),
thistle: new(tree.Color)([216, 191, 216]),
tomato: new(tree.Color)([255, 99, 71]),
turquoise: new(tree.Color)([64, 224, 208]),
violet: new(tree.Color)([238, 130, 238]),
wheat: new(tree.Color)([245, 222, 179]),
white: new(tree.Color)([255, 255, 255]),
whitesmoke: new(tree.Color)([245, 245, 245]),
yellow: new(tree.Color)([255, 255, 0]),
yellowgreen: new(tree.Color)([154, 205, 50]),
transparent: new(tree.Color)([0, 0, 0, 0])
}
})(require('mess/tree'));

View File

@ -0,0 +1,786 @@
{
"symbolizers" : {
"map": {
"background-color": {
"css": "background-color",
"default-value": "none",
"default-meaning": "transparent",
"type": "color",
"doc": "Map Background color"
},
"background-image": {
"css": "background-image",
"type": "uri",
"description": "Map Background image"
}
},
"polygon": {
"fill": {
"css": "polygon-fill",
"api": "fill",
"type": "color",
"availability": "0.5.1",
"default-value": "rgb(128,128,128)",
"default-meaning": "grey",
"doc": "Fill color to assign to a polygon"
},
"gamma": {
"css": "polygon-gamma",
"api": "gamma",
"type": "float",
"availability": "0.7.0",
"default-value": 1,
"default-meaning": "fully antialiased",
"range": "0-1",
"doc": "Level of antialiasing of polygon edges"
},
"fill-opacity": {
"css": "polygon-opacity",
"type": "float",
"default-value": 1,
"default-meaning": "opaque"
},
"meta-output": {
"css": "polygon-meta-output",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter Output"
},
"meta-writer": {
"css": "polygon-meta-writer",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter specified"
}
},
"line": {
"stroke": {
"css": "line-color",
"default-value": "black",
"type": "color",
"doc": "The color of a drawn line"
},
"stroke-width": {
"css": "line-width",
"default-value": 1,
"type": "float",
"doc": "The width of a line in pixels"
},
"stroke-opacity": {
"css": "line-opacity",
"default-value": 1,
"type": "float",
"default-meaning": "opaque",
"doc": "The opacity of a line"
},
"stroke-linejoin": {
"css": "line-join",
"default-value": "miter",
"type": [
"miter",
"round",
"bevel"
],
"doc": "The behavior of lines when joining"
},
"stroke-linecap": {
"css": "line-cap",
"default-value": "butt",
"type": [
"butt",
"round",
"square"
],
"doc": "The display of line endings"
},
"stroke-gamma": {
"css": "line-gamma",
"api": "gamma",
"type": "float",
"availability": "2.0.0",
"default-value": 1,
"default-meaning": "fully antialiased",
"range": "0-1",
"doc": "Level of antialiasing of stroke line"
},
"stroke-dasharray": {
"css": "line-dasharray",
"type": "numbers",
"doc": "A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two values are supported for more complex patterns.",
"default-value": "none",
"default-meaning": "solid line"
},
"meta-output": {
"css": "line-meta-output",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter Output"
},
"meta-writer": {
"css": "line-meta-writer",
"type": "string",
"default-value": ""
}
},
"markers": {
"stroke": {
"css": "marker-line-color",
"type": "color"
},
"stroke-width": {
"css": "marker-line-width",
"type": "float"
},
"stroke-opacity": {
"css": "marker-line-opacity",
"default-value": 1,
"default-meaning": "opaque",
"type": "float"
},
"placement": {
"css": "marker-placement",
"type": [
"point",
"line"
]
},
"type": {
"css": "marker-type",
"type": [
"arrow",
"ellipse"
]
},
"width": {
"css": "marker-width",
"type": "float"
},
"height": {
"css": "marker-height",
"type": "float"
},
"fill": {
"css": "marker-fill",
"type": "color"
},
"opacity": {
"css": "marker-opacity",
"default-value": 1,
"default-meaning": "opaque",
"type": "float"
},
"file": {
"css": "marker-file",
"type": "uri"
},
"allow_overlap": {
"css": "marker-allow-overlap",
"type": "boolean",
"default-value": "false",
"default-meaning": "do not allow overlap"
},
"spacing": {
"css": "marker-spacing",
"docs": "Space between repeated labels",
"type": "float"
},
"max_error": {
"css": "marker-max-error",
"type": "float"
},
"transform": {
"css": "marker-transform",
"type": "string"
},
"meta-output": {
"css": "marker-meta-output",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter Output"
},
"meta-writer": {
"css": "marker-meta-writer",
"type": "string",
"default-value": "none"
}
},
"shield": {
"name": {
"css": "shield-name",
"type": "none",
"required": true
},
"face_name": {
"css": "shield-face-name",
"type": "string",
"validate": "font",
"doc": "Font name and style to use for the shield text",
"required": true
},
"size": {
"css": "shield-size",
"type": "float",
"doc": "The size of the shield text in pixels"
},
"fill": {
"css": "shield-fill",
"type": "color",
"doc": "The color of the shield text"
},
"minimum_distance": {
"css": "shield-min-distance",
"type": "float",
"default-value": 0,
"doc": "Minimum distance to the next shield symbol, not necessarily the same shield."
},
"spacing": {
"css": "shield-spacing",
"type": "float",
"default-value": 0,
"doc": "The spacing between repeated occurrences of the same shield on a line"
},
"character_spacing": {
"css": "shield-spacing",
"type": "float",
"default-value": 0,
"doc": "Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement."
},
"line_spacing": {
"css": "shield-line-spacing",
"doc": "Vertical spacing between lines of multiline labels (in pixels)",
"type": "float"
},
"file": {
"css": "shield-file",
"type": "uri",
"default-value": "none",
"doc": "Image file to render behind the shield text"
},
"width": {
"css": "shield-width",
"type": "float",
"default-meaning": "native width of the image",
"doc": "Width in pixels to scale the shield image to"
},
"height": {
"css": "shield-height",
"type": "float",
"default-meaning": "native height of the image",
"doc": "Width in pixels to scale the shield image to"
},
"type": {
"css": "shield-type",
"type": ["png", "jpg", "svg"],
"default-meaning": "auto-detected",
"doc": "The file type of the shield image"
},
"dx": {
"css": "shield-text-dx",
"type": "float",
"doc": "Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right",
"default-value": 0
},
"dy": {
"css": "shield-text-dy",
"type": "float",
"doc": "Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down",
"default-value": 0
},
"shield-dx": {
"css": "shield-dx",
"type": "float",
"doc": "Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right",
"default-value": 0
},
"shield-dy": {
"css": "shield-dy",
"type": "float",
"doc": "Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down",
"default-value": 0
},
"meta-output": {
"css": "shield-meta-output",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter Output"
},
"meta-writer": {
"css": "shield-meta-writer",
"type": "string",
"default-value": ""
},
"shield_dx": {
"css": "shield-dx",
"type": "float",
"doc": "Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the shield right",
"default-value": 0
},
"shield_dx": {
"css": "shield-dx",
"type": "float",
"doc": "Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the shield down",
"default-value": 0
}
},
"line-pattern": {
"file": {
"css": "line-pattern-file",
"type": "uri",
"doc": "An image file to be repeated and warped along a line"
},
"width": {
"css": "line-pattern-width",
"type": "float",
"doc": "Width in pixels to scale the pattern image to",
"default-meaning": "native width of the image"
},
"height": {
"css": "line-pattern-height",
"type": "float",
"doc": "Height in pixels to scale the pattern image to",
"default-meaning": "native height of the image"
},
"type": {
"css": "line-pattern-type",
"type": "none",
"default-meaning": "auto-detected",
"doc": "The type of image file, e.g. png"
},
"meta-output": {
"css": "line-pattern-meta-output",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter Output"
},
"meta-writer": {
"css": "line-pattern-meta-writer",
"type": "string",
"default-value": ""
}
},
"polygon-pattern": {
"file": {
"css": "polygon-pattern-file",
"type": "uri",
"doc": "Image to use as a repeated pattern fill within a polygon"
},
"width": {
"css": "polygon-pattern-width",
"type": "float",
"doc": "Width in pixels to scale the pattern image to",
"default-meaning": "native width of the image"
},
"height": {
"css": "polygon-pattern-height",
"type": "float",
"doc": "Height in pixels to scale the pattern image to",
"default-meaning": "native height of the image"
},
"type": {
"css": "polygon-pattern-type",
"type": "none",
"default-meaning": "auto-detected",
"doc": "The type of image file, e.g. png"
},
"meta-output": {
"css": "polygon-pattern-meta-output",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter Output"
},
"meta-writer": {
"css": "polygon-pattern-meta-writer",
"type": "string",
"default-value": ""
}
},
"raster": {
"opacity": {
"css": "raster-opacity",
"default-value": 1,
"default-meaning": "opaque",
"type": "float"
},
"mode": {
"css": "raster-mode",
"default-value": "normal",
"type": [
"normal",
"grain_merge",
"grain_merge2",
"multiply",
"multiply2",
"divide",
"divide2",
"screen",
"hard_light"
]
},
"scaling": {
"css": "raster-scaling",
"type": [
"fast",
"bilinear",
"bilinear8"
]
}
},
"point": {
"file": {
"css": "point-file",
"type": "uri",
"doc": "Image file to represent a point"
},
"width": {
"css": "point-width",
"type": "float",
"default-meaning": "native width of the image",
"doc": "Width in pixels to scale the point image to"
},
"height": {
"css": "point-height",
"type": "float",
"default-meaning": "native height of the image",
"doc": "Height in pixels to scale the point image to"
},
"type": {
"css": "point-type",
"type": "none",
"default-meaning": "auto-detected",
"doc": "The type of image file, e.g. png"
},
"allow_overlap": {
"css": "point-allow-overlap",
"type": "boolean",
"default-value": "false",
"default-meaning": "do not allow overlap"
},
"placement": {
"css": "point-placement",
"type": [
"centroid",
"interior"
],
"default-value": "centroid"
},
"meta-output": {
"css": "point-meta-output",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter Output"
},
"meta-writer": {
"css": "point-meta-writer",
"type": "string",
"default-value": ""
}
},
"text": {
"name": {
"css": "text-name",
"type": "string",
"required": true
},
"face_name": {
"css": "text-face-name",
"type": "string",
"validate": "font",
"doc": "Font name and style to render a label in",
"required": true
},
"size": {
"css": "text-size",
"type": "float",
"default-value": 10,
"doc": "Text size in pixels"
},
"text-ratio": {
"css": "text-ratio",
"doc": "Define the amount of text (of the total) present on successive lines when wrapping occurs",
"type": "float",
"type": "none"
},
"wrap_width": {
"css": "text-wrap-width",
"doc": "Length of a chunk of text in characters before wrapping text",
"type": "float"
},
"spacing": {
"css": "text-spacing",
"type": "float",
"doc": "Distance between repeated text labels on a line"
},
"character_spacing": {
"css": "text-character-spacing",
"type": "float",
"default-value": 0,
"doc": "Horizontal spacing adjustment between characters in pixels"
},
"line_spacing": {
"css": "text-line-spacing",
"default-value": 0,
"type": "float",
"doc": "Vertical spacing adjustment between lines in pixels"
},
"label_position_tolerance": {
"css": "text-label-position-tolerance",
"type": "float"
},
"max_char_angle_delta": {
"css": "text-max-char-angle-delta",
"type": "float",
"default-value": "none",
"doc": "If present, the maximum angle change, in degrees, allowed between adjacent characters in a label. This will stop label placement around sharp corners."
},
"fill": {
"css": "text-fill",
"doc": "Specifies the color for the text",
"default-value": "#000000",
"type": "color"
},
"halo_fill": {
"css": "text-halo-fill",
"docs": "Color of the text halo",
"type": "color",
"default-value": "#FFFFFF",
"default-meaning": "white",
"doc": "Specifies the color of the halo around the text."
},
"halo_radius": {
"css": "text-halo-radius",
"doc": "Specify the radius of the halo in pixels",
"default-value": 0,
"default-meaning": "no halo",
"type": "float"
},
"dx": {
"css": "text-dx",
"type": "float",
"doc": "Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right",
"default-value": 0
},
"dy": {
"css": "text-dy",
"type": "float",
"doc": "Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down",
"default-value": 0
},
"avoid_edges": {
"css": "text-avoid-edges",
"doc": "Tell positioning algorithm to avoid labeling near intersection edges.",
"type": "boolean"
},
"minimum_distance": {
"css": "text-min-distance",
"type": "float"
},
"minimum_padding": {
"css": "text-min-padding",
"type": "float"
},
"allow_overlap": {
"css": "text-allow-overlap",
"type": "boolean",
"default-value": "false",
"default-meaning": "do not allow overlap"
},
"placement": {
"css": "text-placement",
"type": [
"point",
"line",
"vertex",
"interior"
],
"default-value": "point"
},
"text_transform": {
"css": "text-transform",
"type": [
"none",
"uppercase",
"lowercase"
],
"doc": "Transform the case of the characters",
"default-value": "none"
},
"meta-output": {
"css": "text-meta-output",
"type": "string",
"default-value": "",
"default-meaning": "No MetaWriter Output"
},
"meta-writer": {
"css": "text-meta-writer",
"type": "string",
"default-value": ""
}
},
"building": {
"fill": {
"css": "building-fill",
"default": "#FFFFFF",
"type": "color"
},
"fill-opacity": {
"css": "building-fill-opacity",
"type": "float",
"default": "1.0"
},
"height": {
"css": "building-height",
"type": "float",
"default": "0"
}
}
},
"colors": {
"aliceblue": [240, 248, 255],
"antiquewhite": [250, 235, 215],
"aqua": [0, 255, 255],
"aquamarine": [127, 255, 212],
"azure": [240, 255, 255],
"beige": [245, 245, 220],
"bisque": [255, 228, 196],
"black": [0, 0, 0],
"blanchedalmond": [255,235,205],
"blue": [0, 0, 255],
"blueviolet": [138, 43, 226],
"brown": [165, 42, 42],
"burlywood": [222, 184, 135],
"cadetblue": [95, 158, 160],
"chartreuse": [127, 255, 0],
"chocolate": [210, 105, 30],
"coral": [255, 127, 80],
"cornflowerblue": [100, 149, 237],
"cornsilk": [255, 248, 220],
"crimson": [220, 20, 60],
"cyan": [0, 255, 255],
"darkblue": [0, 0, 139],
"darkcyan": [0, 139, 139],
"darkgoldenrod": [184, 134, 11],
"darkgray": [169, 169, 169],
"darkgreen": [0, 100, 0],
"darkgrey": [169, 169, 169],
"darkkhaki": [189, 183, 107],
"darkmagenta": [139, 0, 139],
"darkolivegreen": [85, 107, 47],
"darkorange": [255, 140, 0],
"darkorchid": [153, 50, 204],
"darkred": [139, 0, 0],
"darksalmon": [233, 150, 122],
"darkseagreen": [143, 188, 143],
"darkslateblue": [72, 61, 139],
"darkslategrey": [47, 79, 79],
"darkturquoise": [0, 206, 209],
"darkviolet": [148, 0, 211],
"deeppink": [255, 20, 147],
"deepskyblue": [0, 191, 255],
"dimgray": [105, 105, 105],
"dimgrey": [105, 105, 105],
"dodgerblue": [30, 144, 255],
"firebrick": [178, 34, 34],
"floralwhite": [255, 250, 240],
"forestgreen": [34, 139, 34],
"fuchsia": [255, 0, 255],
"gainsboro": [220, 220, 220],
"ghostwhite": [248, 248, 255],
"gold": [255, 215, 0],
"goldenrod": [218, 165, 32],
"gray": [128, 128, 128],
"grey": [128, 128, 128],
"green": [0, 128, 0],
"greenyellow": [173, 255, 47],
"honeydew": [240, 255, 240],
"hotpink": [255, 105, 180],
"indianred": [205, 92, 92],
"indigo": [75, 0, 130],
"ivory": [255, 255, 240],
"khaki": [240, 230, 140],
"lavender": [230, 230, 250],
"lavenderblush": [255, 240, 245],
"lawngreen": [124, 252, 0],
"lemonchiffon": [255, 250, 205],
"lightblue": [173, 216, 230],
"lightcoral": [240, 128, 128],
"lightcyan": [224, 255, 255],
"lightgoldenrodyellow": [250, 250, 210],
"lightgray": [211, 211, 211],
"lightgreen": [144, 238, 144],
"lightgrey": [211, 211, 211],
"lightpink": [255, 182, 193],
"lightsalmon": [255, 160, 122],
"lightseagreen": [32, 178, 170],
"lightskyblue": [135, 206, 250],
"lightslategray": [119, 136, 153],
"lightslategrey": [119, 136, 153],
"lightsteelblue": [176, 196, 222],
"lightyellow": [255, 255, 224],
"lime": [0, 255, 0],
"limegreen": [50, 205, 50],
"linen": [250, 240, 230],
"magenta": [255, 0, 255],
"maroon": [128, 0, 0],
"mediumaquamarine": [102, 205, 170],
"mediumblue": [0, 0, 205],
"mediumorchid": [186, 85, 211],
"mediumpurple": [147, 112, 219],
"mediumseagreen": [60, 179, 113],
"mediumslateblue": [123, 104, 238],
"mediumspringgreen": [0, 250, 154],
"mediumturquoise": [72, 209, 204],
"mediumvioletred": [199, 21, 133],
"midnightblue": [25, 25, 112],
"mintcream": [245, 255, 250],
"mistyrose": [255, 228, 225],
"moccasin": [255, 228, 181],
"navajowhite": [255, 222, 173],
"navy": [0, 0, 128],
"oldlace": [253, 245, 230],
"olive": [128, 128, 0],
"olivedrab": [107, 142, 35],
"orange": [255, 165, 0],
"orangered": [255, 69, 0],
"orchid": [218, 112, 214],
"palegoldenrod": [238, 232, 170],
"palegreen": [152, 251, 152],
"paleturquoise": [175, 238, 238],
"palevioletred": [219, 112, 147],
"papayawhip": [255, 239, 213],
"peachpuff": [255, 218, 185],
"peru": [205, 133, 63],
"pink": [255, 192, 203],
"plum": [221, 160, 221],
"powderblue": [176, 224, 230],
"purple": [128, 0, 128],
"red": [255, 0, 0],
"rosybrown": [188, 143, 143],
"royalblue": [65, 105, 225],
"saddlebrown": [139, 69, 19],
"salmon": [250, 128, 114],
"sandybrown": [244, 164, 96],
"seagreen": [46, 139, 87],
"seashell": [255, 245, 238],
"sienna": [160, 82, 45],
"silver": [192, 192, 192],
"skyblue": [135, 206, 235],
"slateblue": [106, 90, 205],
"slategray": [112, 128, 144],
"slategrey": [112, 128, 144],
"snow": [255, 250, 250],
"springgreen": [0, 255, 127],
"steelblue": [70, 130, 180],
"tan": [210, 180, 140],
"teal": [0, 128, 128],
"thistle": [216, 191, 216],
"tomato": [255, 99, 71],
"turquoise": [64, 224, 208],
"violet": [238, 130, 238],
"wheat": [245, 222, 179],
"white": [255, 255, 255],
"whitesmoke": [245, 245, 245],
"yellow": [255, 255, 0],
"yellowgreen": [154, 205, 50],
"transparent": [0, 0, 0, 0]
}
}