@deck.gl/carto 8.6.2 → 8.7.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +24009 -380
- package/dist/es5/api/index.js +14 -8
- package/dist/es5/api/index.js.map +1 -1
- package/dist/es5/api/layer-map.js +244 -0
- package/dist/es5/api/layer-map.js.map +1 -0
- package/dist/es5/api/maps-api-common.js +9 -13
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-client.js +98 -157
- package/dist/es5/api/maps-client.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +325 -304
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +210 -0
- package/dist/es5/api/parseMap.js.map +1 -0
- package/dist/es5/basemap.js +1 -1
- package/dist/es5/basemap.js.map +1 -1
- package/dist/es5/config.js +23 -39
- package/dist/es5/config.js.map +1 -1
- package/dist/es5/index.js +22 -16
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-bqtiler-layer.js +6 -39
- package/dist/es5/layers/carto-bqtiler-layer.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +130 -211
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/carto-sql-layer.js +6 -39
- package/dist/es5/layers/carto-sql-layer.js.map +1 -1
- package/dist/es5/style/color-bins-style.js +14 -13
- package/dist/es5/style/color-bins-style.js.map +1 -1
- package/dist/es5/style/color-categories-style.js +16 -39
- package/dist/es5/style/color-categories-style.js.map +1 -1
- package/dist/es5/style/color-continuous-style.js +14 -13
- package/dist/es5/style/color-continuous-style.js.map +1 -1
- package/dist/es5/style/palette.js +15 -21
- package/dist/es5/style/palette.js.map +1 -1
- package/dist/es5/style/utils.js +6 -13
- package/dist/es5/style/utils.js.map +1 -1
- package/dist/esm/api/index.js +1 -1
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/layer-map.js +219 -0
- package/dist/esm/api/layer-map.js.map +1 -0
- package/dist/esm/api/maps-client.js +1 -1
- package/dist/esm/api/maps-client.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +145 -16
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +194 -0
- package/dist/esm/api/parseMap.js.map +1 -0
- package/dist/esm/config.js +11 -26
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +7 -9
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/style/color-bins-style.js.map +1 -1
- package/dist/esm/style/color-continuous-style.js.map +1 -1
- package/dist.min.js +278 -1
- package/package.json +7 -3
- package/src/api/index.js +1 -1
- package/src/api/layer-map.js +194 -0
- package/src/api/maps-client.js +3 -7
- package/src/api/maps-v3-client.js +114 -11
- package/src/api/parseMap.js +182 -0
- package/src/config.js +8 -39
- package/src/index.js +1 -0
- package/src/layers/carto-layer.js +3 -5
- package/src/style/color-bins-style.js +1 -3
- package/src/style/color-continuous-style.js +1 -3
package/dist/es5/api/index.js
CHANGED
|
@@ -5,49 +5,55 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "FORMATS", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: function
|
|
8
|
+
get: function () {
|
|
9
9
|
return _mapsApiCommon.FORMATS;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "MAP_TYPES", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function
|
|
14
|
+
get: function () {
|
|
15
15
|
return _mapsApiCommon.MAP_TYPES;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "API_VERSIONS", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function
|
|
20
|
+
get: function () {
|
|
21
21
|
return _mapsApiCommon.API_VERSIONS;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "getDataV2", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function
|
|
26
|
+
get: function () {
|
|
27
27
|
return _mapsClient.getDataV2;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "CONNECTIONS", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function
|
|
32
|
+
get: function () {
|
|
33
33
|
return _mapsClient.CONNECTIONS;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "fetchLayerData", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function
|
|
38
|
+
get: function () {
|
|
39
39
|
return _mapsV3Client.fetchLayerData;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "fetchMap", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _mapsV3Client.fetchMap;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
42
48
|
Object.defineProperty(exports, "getData", {
|
|
43
49
|
enumerable: true,
|
|
44
|
-
get: function
|
|
50
|
+
get: function () {
|
|
45
51
|
return _mapsV3Client.getData;
|
|
46
52
|
}
|
|
47
53
|
});
|
|
48
54
|
Object.defineProperty(exports, "mapInstantiation", {
|
|
49
55
|
enumerable: true,
|
|
50
|
-
get: function
|
|
56
|
+
get: function () {
|
|
51
57
|
return _mapsV3Client.mapInstantiation;
|
|
52
58
|
}
|
|
53
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/api/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA","sourcesContent":["export {FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {fetchLayerData, fetchMap, getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getColorAccessor = getColorAccessor;
|
|
9
|
+
exports.getSizeAccessor = getSizeAccessor;
|
|
10
|
+
exports.getTextAccessor = getTextAccessor;
|
|
11
|
+
exports.getTextPixelOffsetAccessor = getTextPixelOffsetAccessor;
|
|
12
|
+
exports.LAYER_MAP = void 0;
|
|
13
|
+
|
|
14
|
+
var _d3Array = require("d3-array");
|
|
15
|
+
|
|
16
|
+
var _d3Color = require("d3-color");
|
|
17
|
+
|
|
18
|
+
var _d3Scale = require("d3-scale");
|
|
19
|
+
|
|
20
|
+
var _d3Format = require("d3-format");
|
|
21
|
+
|
|
22
|
+
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
23
|
+
|
|
24
|
+
var _geoLayers = require("@deck.gl/geo-layers");
|
|
25
|
+
|
|
26
|
+
var _layers = require("@deck.gl/layers");
|
|
27
|
+
|
|
28
|
+
const SCALE_FUNCS = {
|
|
29
|
+
linear: _d3Scale.scaleLinear,
|
|
30
|
+
ordinal: _d3Scale.scaleOrdinal,
|
|
31
|
+
log: _d3Scale.scaleLog,
|
|
32
|
+
point: _d3Scale.scalePoint,
|
|
33
|
+
quantile: _d3Scale.scaleQuantile,
|
|
34
|
+
quantize: _d3Scale.scaleQuantize,
|
|
35
|
+
sqrt: _d3Scale.scaleSqrt
|
|
36
|
+
};
|
|
37
|
+
const sharedPropMap = {
|
|
38
|
+
color: 'getFillColor',
|
|
39
|
+
isVisible: 'visible',
|
|
40
|
+
textLabel: {
|
|
41
|
+
alignment: 'getTextAlignmentBaseline',
|
|
42
|
+
anchor: 'getTextAnchor',
|
|
43
|
+
color: 'getTextColor',
|
|
44
|
+
size: 'getTextSize'
|
|
45
|
+
},
|
|
46
|
+
visConfig: {
|
|
47
|
+
enable3d: 'extruded',
|
|
48
|
+
filled: 'filled',
|
|
49
|
+
opacity: 'opacity',
|
|
50
|
+
strokeColor: 'getLineColor',
|
|
51
|
+
stroked: 'stroked',
|
|
52
|
+
thickness: 'getLineWidth',
|
|
53
|
+
radius: 'getPointRadius',
|
|
54
|
+
wireframe: 'wireframe'
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const RADIUS_DOWNSCALE = 0.2;
|
|
58
|
+
const defaultProps = {
|
|
59
|
+
lineMiterLimit: 2,
|
|
60
|
+
lineWidthUnits: 'pixels',
|
|
61
|
+
pointRadiusScale: RADIUS_DOWNSCALE,
|
|
62
|
+
pointRadiusUnits: 'pixels',
|
|
63
|
+
rounded: true,
|
|
64
|
+
wrapLongitude: false
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
function mergePropMaps(a, b) {
|
|
68
|
+
return { ...a,
|
|
69
|
+
...b,
|
|
70
|
+
visConfig: { ...a.visConfig,
|
|
71
|
+
...b.visConfig
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const LAYER_MAP = {
|
|
77
|
+
point: {
|
|
78
|
+
Layer: _layers.GeoJsonLayer,
|
|
79
|
+
propMap: mergePropMaps(sharedPropMap, {
|
|
80
|
+
visConfig: {
|
|
81
|
+
outline: 'stroked'
|
|
82
|
+
}
|
|
83
|
+
}),
|
|
84
|
+
defaultProps
|
|
85
|
+
},
|
|
86
|
+
geojson: {
|
|
87
|
+
Layer: _layers.GeoJsonLayer,
|
|
88
|
+
propMap: sharedPropMap,
|
|
89
|
+
defaultProps: { ...defaultProps,
|
|
90
|
+
lineWidthScale: 2
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
hexagonId: {
|
|
94
|
+
Layer: _geoLayers.H3HexagonLayer,
|
|
95
|
+
propMap: mergePropMaps(sharedPropMap, {
|
|
96
|
+
visConfig: {
|
|
97
|
+
coverage: 'coverage',
|
|
98
|
+
elevationScale: 'elevationScale'
|
|
99
|
+
}
|
|
100
|
+
}),
|
|
101
|
+
defaultProps: { ...defaultProps,
|
|
102
|
+
getHexagon: d => d.h3
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
mvt: {
|
|
106
|
+
Layer: _geoLayers.MVTLayer,
|
|
107
|
+
propMap: sharedPropMap,
|
|
108
|
+
defaultProps: { ...defaultProps,
|
|
109
|
+
pointRadiusScale: 0.3,
|
|
110
|
+
lineWidthScale: 2
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
exports.LAYER_MAP = LAYER_MAP;
|
|
115
|
+
|
|
116
|
+
function domainFromAttribute(attribute, scaleType) {
|
|
117
|
+
if (scaleType === 'ordinal' || scaleType === 'point') {
|
|
118
|
+
return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
let {
|
|
122
|
+
min
|
|
123
|
+
} = attribute;
|
|
124
|
+
|
|
125
|
+
if (scaleType === 'log' && min === 0) {
|
|
126
|
+
min = 1e-5;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return [min, attribute.max];
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function domainFromValues(values, scaleType) {
|
|
133
|
+
if (scaleType === 'ordinal') {
|
|
134
|
+
return [...new Set(values)].sort();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return (0, _d3Array.extent)(values);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function calculateDomain(data, name, scaleType) {
|
|
141
|
+
if (data.tilestats) {
|
|
142
|
+
const {
|
|
143
|
+
attributes
|
|
144
|
+
} = data.tilestats.layers[0];
|
|
145
|
+
const attribute = attributes.find(a => a.attribute === name);
|
|
146
|
+
return domainFromAttribute(attribute, scaleType);
|
|
147
|
+
} else if (data.features) {
|
|
148
|
+
const values = data.features.map(({
|
|
149
|
+
properties
|
|
150
|
+
}) => properties[name]);
|
|
151
|
+
return domainFromValues(values, scaleType);
|
|
152
|
+
} else if (Array.isArray(data) && data[0][name] !== undefined) {
|
|
153
|
+
const values = data.map(properties => properties[name]);
|
|
154
|
+
return domainFromValues(values, scaleType);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return [0, 1];
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function normalizeAccessor(accessor, data) {
|
|
161
|
+
if (data.features || data.tilestats) {
|
|
162
|
+
return ({
|
|
163
|
+
properties
|
|
164
|
+
}) => {
|
|
165
|
+
return accessor(properties);
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return accessor;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function getColorAccessor({
|
|
173
|
+
name
|
|
174
|
+
}, scaleType, {
|
|
175
|
+
colors
|
|
176
|
+
}, opacity, data) {
|
|
177
|
+
const scale = SCALE_FUNCS[scaleType]();
|
|
178
|
+
scale.domain(calculateDomain(data, name, scaleType));
|
|
179
|
+
scale.range(colors);
|
|
180
|
+
const alpha = opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;
|
|
181
|
+
|
|
182
|
+
const accessor = properties => {
|
|
183
|
+
const rgba = (0, _d3Color.rgb)(scale(properties[name]));
|
|
184
|
+
return [rgba.r, rgba.g, rgba.b, alpha];
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
return normalizeAccessor(accessor, data);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function getSizeAccessor({
|
|
191
|
+
name
|
|
192
|
+
}, scaleType, range, data) {
|
|
193
|
+
const scale = SCALE_FUNCS[scaleType]();
|
|
194
|
+
scale.domain(calculateDomain(data, name, scaleType));
|
|
195
|
+
scale.range(range);
|
|
196
|
+
|
|
197
|
+
const accessor = properties => {
|
|
198
|
+
return scale(properties[name]);
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
return normalizeAccessor(accessor, data);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
const FORMATS = {
|
|
205
|
+
date: s => _momentTimezone.default.utc(s).format('MM/DD/YY HH:mm:ssa'),
|
|
206
|
+
integer: (0, _d3Format.format)('i'),
|
|
207
|
+
float: (0, _d3Format.format)('.5f'),
|
|
208
|
+
timestamp: s => _momentTimezone.default.utc(s).format('X'),
|
|
209
|
+
default: String
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
function getTextAccessor({
|
|
213
|
+
name,
|
|
214
|
+
type
|
|
215
|
+
}, data) {
|
|
216
|
+
const format = FORMATS[type] || FORMATS.default;
|
|
217
|
+
|
|
218
|
+
const accessor = properties => {
|
|
219
|
+
return format(properties[name]);
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
return normalizeAccessor(accessor, data);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
function getTextPixelOffsetAccessor({
|
|
226
|
+
alignment,
|
|
227
|
+
anchor,
|
|
228
|
+
size
|
|
229
|
+
}, radius) {
|
|
230
|
+
const padding = 20;
|
|
231
|
+
const signX = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;
|
|
232
|
+
const signY = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;
|
|
233
|
+
const sizeOffset = alignment === 'center' ? 0 : size;
|
|
234
|
+
|
|
235
|
+
const calculateOffset = r => {
|
|
236
|
+
r = RADIUS_DOWNSCALE * r;
|
|
237
|
+
return [signX * (r + padding), signY * (r + padding + sizeOffset)];
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
return typeof radius === 'function' ? d => {
|
|
241
|
+
return calculateOffset(radius(d));
|
|
242
|
+
} : calculateOffset(radius);
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=layer-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api/layer-map.js"],"names":["SCALE_FUNCS","linear","scaleLinear","ordinal","scaleOrdinal","log","scaleLog","point","scalePoint","quantile","scaleQuantile","quantize","scaleQuantize","sqrt","scaleSqrt","sharedPropMap","color","isVisible","textLabel","alignment","anchor","size","visConfig","enable3d","filled","opacity","strokeColor","stroked","thickness","radius","wireframe","RADIUS_DOWNSCALE","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusScale","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","b","LAYER_MAP","Layer","GeoJsonLayer","propMap","outline","geojson","lineWidthScale","hexagonId","H3HexagonLayer","coverage","elevationScale","getHexagon","d","h3","mvt","MVTLayer","domainFromAttribute","attribute","scaleType","categories","map","c","category","filter","undefined","min","max","domainFromValues","values","Set","sort","calculateDomain","data","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","accessor","getColorAccessor","colors","scale","domain","range","alpha","Math","round","pow","rgba","r","g","getSizeAccessor","FORMATS","date","s","moment","utc","format","integer","float","timestamp","default","String","getTextAccessor","type","getTextPixelOffsetAccessor","padding","signX","signY","sizeOffset","calculateOffset"],"mappings":"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","sourcesContent":["import {extent} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\nimport {H3HexagonLayer, MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt\n};\n\n// Kepler -> Deck.gl\nconst sharedPropMap = {\n color: 'getFillColor',\n isVisible: 'visible',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n filled: 'filled',\n opacity: 'opacity',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst RADIUS_DOWNSCALE = 0.2;\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusScale: RADIUS_DOWNSCALE,\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a, b) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport const LAYER_MAP = {\n point: {\n Layer: GeoJsonLayer,\n propMap: mergePropMaps(sharedPropMap, {\n visConfig: {outline: 'stroked'}\n }),\n defaultProps\n },\n geojson: {\n Layer: GeoJsonLayer,\n propMap: sharedPropMap,\n defaultProps: {...defaultProps, lineWidthScale: 2}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: mergePropMaps(sharedPropMap, {\n visConfig: {coverage: 'coverage', elevationScale: 'elevationScale'}\n }),\n defaultProps: {...defaultProps, getHexagon: d => d.h3}\n },\n mvt: {\n Layer: MVTLayer,\n propMap: sharedPropMap,\n defaultProps: {...defaultProps, pointRadiusScale: 0.3, lineWidthScale: 2}\n }\n};\n\nfunction domainFromAttribute(attribute, scaleType) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType) {\n if (scaleType === 'ordinal') {\n return [...new Set(values)].sort();\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name] !== undefined) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return ({properties}) => {\n return accessor(properties);\n };\n }\n return accessor;\n}\n\nexport function getColorAccessor({name}, scaleType, {colors}, opacity, data) {\n const scale = SCALE_FUNCS[scaleType]();\n scale.domain(calculateDomain(data, name, scaleType));\n scale.range(colors);\n const alpha = opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;\n\n const accessor = properties => {\n const rgba = rgb(scale(properties[name]));\n return [rgba.r, rgba.g, rgba.b, alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getSizeAccessor({name}, scaleType, range, data) {\n const scale = SCALE_FUNCS[scaleType]();\n scale.domain(calculateDomain(data, name, scaleType));\n scale.range(range);\n\n const accessor = properties => {\n return scale(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getTextPixelOffsetAccessor({alignment, anchor, size}, radius) {\n const padding = 20;\n const signX = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;\n const signY = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;\n const sizeOffset = alignment === 'center' ? 0 : size;\n\n const calculateOffset = r => {\n r = RADIUS_DOWNSCALE * r;\n return [signX * (r + padding), signY * (r + padding + sizeOffset)];\n };\n\n return typeof radius === 'function'\n ? d => {\n return calculateOffset(radius(d));\n }\n : calculateOffset(radius);\n}\n"],"file":"layer-map.js"}
|
|
@@ -1,36 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.encodeParameter = encodeParameter;
|
|
9
7
|
exports.FORMATS = exports.MAP_TYPES = exports.DEFAULT_MAPS_URL_FORMAT = exports.API_VERSIONS = exports.DEFAULT_REGION_COMPONENT_IN_URL = exports.DEFAULT_USER_COMPONENT_IN_URL = void 0;
|
|
10
|
-
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
|
-
var _DEFAULT_MAPS_URL_FOR;
|
|
14
|
-
|
|
15
|
-
var DEFAULT_USER_COMPONENT_IN_URL = '{user}';
|
|
8
|
+
const DEFAULT_USER_COMPONENT_IN_URL = '{user}';
|
|
16
9
|
exports.DEFAULT_USER_COMPONENT_IN_URL = DEFAULT_USER_COMPONENT_IN_URL;
|
|
17
|
-
|
|
10
|
+
const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
|
|
18
11
|
exports.DEFAULT_REGION_COMPONENT_IN_URL = DEFAULT_REGION_COMPONENT_IN_URL;
|
|
19
|
-
|
|
12
|
+
const API_VERSIONS = {
|
|
20
13
|
V1: 'v1',
|
|
21
14
|
V2: 'v2',
|
|
22
15
|
V3: 'v3'
|
|
23
16
|
};
|
|
24
17
|
exports.API_VERSIONS = API_VERSIONS;
|
|
25
|
-
|
|
18
|
+
const DEFAULT_MAPS_URL_FORMAT = {
|
|
19
|
+
[API_VERSIONS.V1]: "https://".concat(DEFAULT_USER_COMPONENT_IN_URL, ".carto.com/api/v1/map"),
|
|
20
|
+
[API_VERSIONS.V2]: "https://maps-api-v2.".concat(DEFAULT_REGION_COMPONENT_IN_URL, ".carto.com/user/").concat(DEFAULT_USER_COMPONENT_IN_URL)
|
|
21
|
+
};
|
|
26
22
|
exports.DEFAULT_MAPS_URL_FORMAT = DEFAULT_MAPS_URL_FORMAT;
|
|
27
|
-
|
|
23
|
+
const MAP_TYPES = {
|
|
28
24
|
QUERY: 'query',
|
|
29
25
|
TABLE: 'table',
|
|
30
26
|
TILESET: 'tileset'
|
|
31
27
|
};
|
|
32
28
|
exports.MAP_TYPES = MAP_TYPES;
|
|
33
|
-
|
|
29
|
+
const FORMATS = {
|
|
34
30
|
GEOJSON: 'geojson',
|
|
35
31
|
NDJSON: 'ndjson',
|
|
36
32
|
TILEJSON: 'tilejson',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":";;;;;;;AAAO,MAAMA,6BAA6B,GAAG,QAAtC;;AACA,MAAMC,+BAA+B,GAAG,UAAxC;;AAEA,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;;AAMA,MAAMC,uBAAuB,GAAG;AACrC,GAACJ,YAAY,CAACC,EAAd,qBAA8BH,6BAA9B,0BADqC;AAErC,GAACE,YAAY,CAACE,EAAd,iCAA0CH,+BAA1C,6BAA4FD,6BAA5F;AAFqC,CAAhC;;AAKA,MAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;;AAOA,MAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;;;AAUA,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}
|