This specification describes an extension for MapConfig 1.4.0 version.
This extension targets layers with sql
option, including layer types: cartodb
, mapnik
, and torque
.
It extends MapConfig with a new attribute: analyses
.
The new analyses attribute must be an array of analyses as per camshaft. Each analysis must adhere to the camshaft-reference specification.
Each node can have an id that can be later references to consume the query from MapConfig’s layers.
Basic analyses example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[
{
// REQUIRED
// string, `id` free identifier that can be reference from any layer
"id": "HEAD",
// REQUIRED
// string, `type` camshaft's analysis type
"type": "source",
// REQUIRED
// object, `params` will depend on `type`, check camshaft-reference for more information
"params": {
"query": "select * from your_table"
}
}
]
As pointed before an analysis node id can be referenced from layers to consume its output query.
The layer consuming the output must reference it with the following option:
1
2
3
4
5
6
7
8
9
10
11
{
"options": {
// REQUIRED
// object, `source` as in the future we might want to have other source options
"source": {
// REQUIRED
// string, `id` the analysis node identifier
"id": "HEAD"
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"version": "1.4.0",
"layers": [
{
"type": "cartodb",
"options": {
"source": {
"id": "HEAD"
},
"cartocss": "...",
"cartocss_version": "2.3.0"
}
}
],
"analyses": [
{
"id": "HEAD",
"type": "source",
"params": {
"query": "select * from your_table"
}
}
]
}