Windshaft-cartodb/test/fixtures/test_mapconfigFactory.js
2019-10-21 19:07:24 +02:00

62 lines
1.7 KiB
JavaScript

function getVectorMapConfig (opts) {
return {
buffersize: {
mvt: 1
},
layers: _generateLayers(opts)
};
}
function _generateLayers (opts) {
const numberOfLayers = opts.numberOfLayers || 1;
const layers = [];
for (let index = 0; index < numberOfLayers; index++) {
const layerOptions = (opts.layerOptions || {})[index] || {};
layers.push(_generateLayerConfig(layerOptions));
}
return layers;
}
function _generateLayerConfig (opts) {
const additionalColumns = opts.additionalColumns ? opts.additionalColumns.join(',') + ',' : '';
return {
type: 'mapnik',
options: {
sql: `
SELECT
${additionalColumns}
(DATE '2018-06-01' + x) as date,
x as cartodb_id,
st_makepoint(x * 10, x * 10) as the_geom,
st_makepoint(x * 10, x * 10) as the_geom_webmercator
FROM
generate_series(0, 1) x`,
aggregation: {
columns: {},
dimensions: {
date: 'date'
},
placement: 'centroid',
resolution: 1,
threshold: 1
},
dates_as_numbers: opts.dates_as_numbers,
metadata: {
geometryType: true,
columnStats: {
topCategories: 32768,
includeNulls: true
},
sample: {
num_rows: 1000,
include_columns: [
'date'
]
}
}
}
};
}
module.exports = { getVectorMapConfig };