@carto/api-client 0.5.31 → 0.5.32-alpha.13acc23.123
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/CHANGELOG.md +3 -0
- package/build/api-client.cjs +300 -3
- package/build/api-client.cjs.map +1 -1
- package/build/api-client.d.cts +42 -5
- package/build/api-client.d.ts +42 -5
- package/build/api-client.js +289 -3
- package/build/api-client.js.map +1 -1
- package/package.json +2 -2
- package/src/fetch-map/layer-map.ts +48 -0
- package/src/fetch-map/parse-map.ts +108 -10
- package/src/fetch-map/pattern-atlas-baked.ts +56 -0
- package/src/fetch-map/pattern-atlas-runtime.ts +139 -0
- package/src/fetch-map/pattern-atlas.ts +21 -0
- package/src/fetch-map/patterns/checker-large.png +0 -0
- package/src/fetch-map/patterns/checker-medium.png +0 -0
- package/src/fetch-map/patterns/checker-small.png +0 -0
- package/src/fetch-map/patterns/cross-hatch-large.png +0 -0
- package/src/fetch-map/patterns/cross-hatch-medium.png +0 -0
- package/src/fetch-map/patterns/cross-hatch-small.png +0 -0
- package/src/fetch-map/patterns/diag-left-large.png +0 -0
- package/src/fetch-map/patterns/diag-left-medium.png +0 -0
- package/src/fetch-map/patterns/diag-left-small.png +0 -0
- package/src/fetch-map/patterns/diag-right-large.png +0 -0
- package/src/fetch-map/patterns/diag-right-medium.png +0 -0
- package/src/fetch-map/patterns/diag-right-small.png +0 -0
- package/src/fetch-map/patterns/dots-large.png +0 -0
- package/src/fetch-map/patterns/dots-medium.png +0 -0
- package/src/fetch-map/patterns/dots-small.png +0 -0
- package/src/fetch-map/patterns/hlines-large.png +0 -0
- package/src/fetch-map/patterns/hlines-medium.png +0 -0
- package/src/fetch-map/patterns/hlines-small.png +0 -0
- package/src/fetch-map/patterns/solid.png +0 -0
- package/src/fetch-map/patterns/vlines-large.png +0 -0
- package/src/fetch-map/patterns/vlines-medium.png +0 -0
- package/src/fetch-map/patterns/vlines-small.png +0 -0
- package/src/fetch-map/types.ts +44 -0
- package/src/global.d.ts +10 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- feat(fetchMap): Support line & polygon stroke dash styles (#297)
|
|
6
|
+
- feat(fetchMap): Support polygon fill patterns (inline sprite atlas, `getFillPattern`/`scales.fillPattern`, `fillPatternEnabled`)
|
|
7
|
+
|
|
5
8
|
### 0.5.31
|
|
6
9
|
|
|
7
10
|
- feat(sources): rename `featureBbox` source option to `prepareLabels` (Maps API `featureBbox` param unchanged)
|
package/build/api-client.cjs
CHANGED
|
@@ -172,10 +172,12 @@ __export(src_exports, {
|
|
|
172
172
|
getColumnNameFromGeoColumn: () => getColumnNameFromGeoColumn,
|
|
173
173
|
getDataFilterExtensionProps: () => getDataFilterExtensionProps,
|
|
174
174
|
getDefaultAggregationExpColumnAliasForLayerType: () => getDefaultAggregationExpColumnAliasForLayerType,
|
|
175
|
+
getFillPatternAccessor: () => getFillPatternAccessor,
|
|
175
176
|
getFilter: () => getFilter,
|
|
176
177
|
getIconUrlAccessor: () => getIconUrlAccessor,
|
|
177
178
|
getLayerDescriptor: () => getLayerDescriptor,
|
|
178
179
|
getLayerProps: () => getLayerProps,
|
|
180
|
+
getLineStyleAccessor: () => getLineStyleAccessor,
|
|
179
181
|
getMaxMarkerSize: () => getMaxMarkerSize,
|
|
180
182
|
getSizeAccessor: () => getSizeAccessor,
|
|
181
183
|
getSorter: () => getSorter,
|
|
@@ -10150,6 +10152,34 @@ function getIconUrlAccessor(field, range, {
|
|
|
10150
10152
|
};
|
|
10151
10153
|
return normalizeAccessor(accessor, data);
|
|
10152
10154
|
}
|
|
10155
|
+
function getLineStyleAccessor(field, range, data) {
|
|
10156
|
+
const fallback = range.othersDashArray ?? [0, 0];
|
|
10157
|
+
const mapping = {};
|
|
10158
|
+
for (const { value, dashArray } of range.dashArrayMap) {
|
|
10159
|
+
mapping[value] = dashArray;
|
|
10160
|
+
}
|
|
10161
|
+
const accessor = (properties) => mapping[properties[field.name]] ?? fallback;
|
|
10162
|
+
return {
|
|
10163
|
+
accessor: normalizeAccessor(accessor, data),
|
|
10164
|
+
domain: range.dashArrayMap.map(({ value }) => value),
|
|
10165
|
+
range: range.dashArrayMap.map(({ dashArray }) => dashArray)
|
|
10166
|
+
};
|
|
10167
|
+
}
|
|
10168
|
+
function getFillPatternAccessor(field, range, density, data) {
|
|
10169
|
+
const d = density ?? "medium";
|
|
10170
|
+
const toKey = (pattern) => pattern === "solid" || pattern === "none" ? pattern : `${pattern}-${d}`;
|
|
10171
|
+
const fallback = toKey(range.othersPattern ?? "none");
|
|
10172
|
+
const mapping = {};
|
|
10173
|
+
for (const { value, pattern } of range.patternMap) {
|
|
10174
|
+
mapping[value] = toKey(pattern);
|
|
10175
|
+
}
|
|
10176
|
+
const accessor = (properties) => mapping[properties[field.name]] ?? fallback;
|
|
10177
|
+
return {
|
|
10178
|
+
accessor: normalizeAccessor(accessor, data),
|
|
10179
|
+
domain: range.patternMap.map(({ value }) => value),
|
|
10180
|
+
range: range.patternMap.map(({ pattern }) => pattern)
|
|
10181
|
+
};
|
|
10182
|
+
}
|
|
10153
10183
|
function getMaxMarkerSize(visConfig, visualChannels) {
|
|
10154
10184
|
const { radiusRange, radius, sizeMaxPixels } = visConfig;
|
|
10155
10185
|
const { radiusField, sizeField } = visualChannels;
|
|
@@ -10641,6 +10671,203 @@ init_cjs_shims();
|
|
|
10641
10671
|
|
|
10642
10672
|
// src/fetch-map/parse-map.ts
|
|
10643
10673
|
init_cjs_shims();
|
|
10674
|
+
|
|
10675
|
+
// src/fetch-map/pattern-atlas.ts
|
|
10676
|
+
init_cjs_shims();
|
|
10677
|
+
|
|
10678
|
+
// src/fetch-map/pattern-atlas-baked.ts
|
|
10679
|
+
init_cjs_shims();
|
|
10680
|
+
var BAKED_ATLAS_URL = "data:image/png;base64,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";
|
|
10681
|
+
var PATTERN_ATLAS_MAPPING = {
|
|
10682
|
+
"hlines-large": { x: 0, y: 0, width: 64, height: 64, mask: true },
|
|
10683
|
+
"hlines-medium": { x: 64, y: 0, width: 64, height: 64, mask: true },
|
|
10684
|
+
"hlines-small": { x: 128, y: 0, width: 64, height: 64, mask: true },
|
|
10685
|
+
"vlines-large": { x: 0, y: 64, width: 64, height: 64, mask: true },
|
|
10686
|
+
"vlines-medium": { x: 64, y: 64, width: 64, height: 64, mask: true },
|
|
10687
|
+
"vlines-small": { x: 128, y: 64, width: 64, height: 64, mask: true },
|
|
10688
|
+
"diag-left-large": { x: 0, y: 128, width: 64, height: 64, mask: true },
|
|
10689
|
+
"diag-left-medium": { x: 64, y: 128, width: 64, height: 64, mask: true },
|
|
10690
|
+
"diag-left-small": { x: 128, y: 128, width: 64, height: 64, mask: true },
|
|
10691
|
+
"diag-right-large": { x: 0, y: 192, width: 64, height: 64, mask: true },
|
|
10692
|
+
"diag-right-medium": { x: 64, y: 192, width: 64, height: 64, mask: true },
|
|
10693
|
+
"diag-right-small": { x: 128, y: 192, width: 64, height: 64, mask: true },
|
|
10694
|
+
"cross-hatch-large": { x: 0, y: 256, width: 64, height: 64, mask: true },
|
|
10695
|
+
"cross-hatch-medium": { x: 64, y: 256, width: 64, height: 64, mask: true },
|
|
10696
|
+
"cross-hatch-small": { x: 128, y: 256, width: 64, height: 64, mask: true },
|
|
10697
|
+
"dots-large": { x: 0, y: 320, width: 64, height: 64, mask: true },
|
|
10698
|
+
"dots-medium": { x: 64, y: 320, width: 64, height: 64, mask: true },
|
|
10699
|
+
"dots-small": { x: 128, y: 320, width: 64, height: 64, mask: true },
|
|
10700
|
+
"checker-large": { x: 0, y: 384, width: 64, height: 64, mask: true },
|
|
10701
|
+
"checker-medium": { x: 64, y: 384, width: 64, height: 64, mask: true },
|
|
10702
|
+
"checker-small": { x: 128, y: 384, width: 64, height: 64, mask: true },
|
|
10703
|
+
solid: { x: 64, y: 448, width: 64, height: 64, mask: true },
|
|
10704
|
+
none: { x: 0, y: 448, width: 64, height: 64, mask: true }
|
|
10705
|
+
};
|
|
10706
|
+
var CELL = 64;
|
|
10707
|
+
var ATLAS_W = CELL * 3;
|
|
10708
|
+
var ATLAS_H = CELL * 8;
|
|
10709
|
+
|
|
10710
|
+
// src/fetch-map/pattern-atlas-runtime.ts
|
|
10711
|
+
init_cjs_shims();
|
|
10712
|
+
|
|
10713
|
+
// src/fetch-map/patterns/hlines-large.png
|
|
10714
|
+
var hlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABBSURBVHic7dixAQAgDMOwwP8/wxfNUOkCz04AYK2T5LUjmm47AAAAAOb5Ae0AAAAAmOcHtAMAAABgnh/QDgAAaj69GwQJx6ek3QAAAABJRU5ErkJggg==";
|
|
10715
|
+
|
|
10716
|
+
// src/fetch-map/patterns/hlines-medium.png
|
|
10717
|
+
var hlines_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABOSURBVHic7daxAQAgDMOwwv8/wxkeKl3gLTkz8wYAVjrbZ/DWAQDQ8QPqAADo+AF1AAB0/IA6AAA6fkAdAAAdP6AOAICOH1AHAEBn/Q/4F6kJD4qx2asAAAAASUVORK5CYII=";
|
|
10718
|
+
|
|
10719
|
+
// src/fetch-map/patterns/hlines-small.png
|
|
10720
|
+
var hlines_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABrSURBVHic7dSxAQAgDMOwwv8/wxkeKl3gJTkz8wbWOtsncOsAaPmAOgBaPqAOgJYPqAOg5QPqAGj5gDoAWj6gDoCWD6gDoOUD6gBo+YA6AFo+oA6Alg+oA6DlA+oAaPmAOgBaPqAOgNb6D/gRbhEfmYiEGgAAAABJRU5ErkJggg==";
|
|
10721
|
+
|
|
10722
|
+
// src/fetch-map/patterns/vlines-large.png
|
|
10723
|
+
var vlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACkSURBVHic7dAxCsAwEMRAk///2W5Sp7CLMUGCK28RGuOb+d4u1/8/B+O/oABaQFMALaApgBbQFEALaAqgBTQF0AKaAmgBTQG0gKYAWkBTAC2gKYAW0BRAC2gKoAU0BdACmgJoAU0BtICmAFpAUwAtoCmAFtAUQAtoCqAFNAXQApoCaAFNAbSApgBaQFMALaApgBbQFEALaAqgBTQF0AKaAmgBzQIgxAh3o/Zl8AAAAABJRU5ErkJggg==";
|
|
10724
|
+
|
|
10725
|
+
// src/fetch-map/patterns/vlines-medium.png
|
|
10726
|
+
var vlines_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACfSURBVHic7dCxDYBQAITQi/vv/J1A25cotDSEbTt75nzdXy/yFzRAB2gaoAM0DdABmgboAE0DdICmATpA0wAdoGmADtA0QAdoGqADNA3QAZoG6ABNA3SApgE6QNMAHaBpgA7QNEAHaBqgAzQN0AGaBugATQN0gKYBOkDTAB2gaYAO0DRAB2gaoAM0DdABmgboAE0DdICmATpA0wAdoLkBMJgQb6A8qDAAAAAASUVORK5CYII=";
|
|
10727
|
+
|
|
10728
|
+
// src/fetch-map/patterns/vlines-small.png
|
|
10729
|
+
var vlines_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACcSURBVHic7dCxDcAwAMMwo///nIw9gUPEzZuhbTv7ndf2t8cVQB/QCqAPaAXQB7QC6ANaAfQBrQD6gFYAfUArgD6gFUAf0AqgD2gF0Ae0AugDWgH0Aa0A+oBWAH1AK4A+oBVAH9AKoA9oBdAHtALoA1oB9AGtAPqAVgB9QCuAPqAVQB/QCqAPaAXQB7QC6ANaAfQBrQD6gFYAfUC7UEAgXxU1dpkAAAAASUVORK5CYII=";
|
|
10730
|
+
|
|
10731
|
+
// src/fetch-map/patterns/diag-left-large.png
|
|
10732
|
+
var diag_left_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACtSURBVHic7dkxCsMwEETRuf/lfKSkmBCiflUseR/cDuYhN3KSvD7PVM+FzfxsPsOb3+F/RTiGIUCAACEQzmEIECBACIRzGAIECBAC4RyGAGEpwvQd2zaE8eOwDeHKN7EJIYHQIEBoECA0CBAaBAgNAoQGAUKDAKFBgNAgbEWYltiGcOU4bEJY9QfmBkICoUGA0CBAaBAgNAgQGgQIDQKEBgFCgwChrUWYfOF1CG/KcyXf7pwUyQAAAABJRU5ErkJggg==";
|
|
10733
|
+
|
|
10734
|
+
// src/fetch-map/patterns/diag-left-medium.png
|
|
10735
|
+
var diag_left_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAD+SURBVHic7dqxDYAwDADB7L9cRoIGaiQk81cQKZ3l+wG81lrH9Z/ePbcf5vaLnaVPRJQ+EVH7RETtExG1T0TUPhFR+0RE7RMRtU9EjPtEROgTEaVPRJQ+EVH7RETtExG1T0TUPhFR+0RE7RMRn/hEROgTEaVPRJQ+EVH7RETtExG1T0TUPhFR+0RE7RMRtU9EjPtEROgTEaVPRJQ+EVH7RETtExG1T0TUPhFR+0RE7RMRtU9EjPtEROgTEaVPRJQ+EVH7RETtExG1T0TUPhFR+0RE7RMR/33Afx8w7xMRpU9E1D4RUftERO0TEbVPRNQ+EVH7RETtExHjPhFR+SdUtUu99aAoTAAAAABJRU5ErkJggg==";
|
|
10736
|
+
|
|
10737
|
+
// src/fetch-map/patterns/diag-left-small.png
|
|
10738
|
+
var diag_left_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAADqSURBVHic7dgxCsMwAARB/f9zflLS2JDC/U7gDG4EA4s63TnnfO7/+a6Xs/Nzdr2c/bMnIkpPRNSeiMg8ERF6IqL0RETpiYjaExG1JyIST0SEnogoPRFReiKi9kRE5omI0BMRpSciSk9E1J6IyDwREXoiYnvAXoG7hNwTEYknIkJPRJSeiCg9EVF7ImJ7wPaAxhMRpSciak9EZJ6ICD0RsT1gr8BdQu6JiMQTEaEnIkpPRJSeiKg9EbE9YHtA44mI0hMRtSciMk9EhJ6I2B6wV+AuIfdEROKJiNATEaUnIkpPRNSeiNgeUPgvaSqXeT0fItoAAAAASUVORK5CYII=";
|
|
10739
|
+
|
|
10740
|
+
// src/fetch-map/patterns/diag-right-large.png
|
|
10741
|
+
var diag_right_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAClSURBVHic7djBCQMgFAXB339zlmQuOaSAFSLOFvBwEC/OzOzpWt+9cnN+NteBzawb8dlZ4eHb4OH7TfgiePg2ePh+E74IHr4NHr7fhK9HT2z+O37N4/jafh3+yFOCjzfho+Dhw+Dh+034KHj4MHj4fhM+Ch4+DP5V/DyO3/M4/shTugmfXT48fBc8fBs8fDwIHwUP3wYPHw/CR8HDt8HH33hP4/cHynMl31YK/QUAAAAASUVORK5CYII=";
|
|
10742
|
+
|
|
10743
|
+
// src/fetch-map/patterns/diag-right-medium.png
|
|
10744
|
+
var diag_right_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAADKSURBVHic7doxCsMwEAXRf//L6UhKkyJVVmkyRn8M6pYdHhg3VpLszM9+nzXMrY/Z0510H43T+HFWvHggTvfFiwfidF98Kz7l+J1y/Dh3O/5rX7x4IE73xYsH4nS/Gp9y/Eo5/mTf1fhxp3jxQJzuixcPxOm++FZ8yvE75fif3pAb8cffB/H/jtN98eKBON0XLx6IP6Bfjd8px49zt+P9Y/TION0XLx6I033xrfiU470fcLDvavy4U7x4IE73xYsH4nRffCs+5fj9AlS1S72cv9TCAAAAAElFTkSuQmCC";
|
|
10745
|
+
|
|
10746
|
+
// src/fetch-map/patterns/diag-right-small.png
|
|
10747
|
+
var diag_right_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAADbSURBVHic7dgxCsNAEMXQuf/lfCSnCdiFqx01AqXLwgP90jMzc8/zu/7/32/zers+3uxeHY95dXzjd14dT3h1POHV8ahXxze+8cdeHU94dTzh1fGYV8c3fufV8YRXxxNeHY95dXzjd14d3z0A8Op41KvjG9/47gGnXh1PeHV8n8SN33t1POHV8YRXx2NeHd/4nVfHdw8AvDoe9er4xje+e8CpV8cTXh3fJ3Hj914dT3h1POHV8ZhXxzd+59Xx3QMAr45HvTq+8Y3vHnDq1fGEV8f3Sdz4vVfHr/0PaSqXeV716iAAAAAASUVORK5CYII=";
|
|
10748
|
+
|
|
10749
|
+
// src/fetch-map/patterns/cross-hatch-large.png
|
|
10750
|
+
var cross_hatch_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAALoSURBVHic1ZpdUiwxCIUpV3D3/zJL0qXcHeiLsVokCT8fPRmq5kErnOGcTgMKIiKf3x/CHhc8ClMU5juMiQX8UEFSIliYVRH+cK6KcCX/7/t3hAgW4aoIU65ZESzywyoirIhmRdhyjIqwIj8sI4KHYFQENzfvQQ/5YRERIsS8Z8O3e+cQIT/MI0Lmau980vlt5pghP2wlQiW5zXzLFU4DVMgPs0QgypvGwPqRT+OTJT/s3cAkGhwrVsRI8sPIxuZqOHnd3lLAd2CWhdXvPBXwNUCqbdaxlUWYJbyqCFZgVRFmMaVF2GX7rAirgLIi7GIJi+AtdVERPIFERfDG4BYhWufxAAIi4A8g2+TgV9AhAv4KVjs8PAktRMCTMNHeWoERtViL0FGGEfIaGGtEJm0zYT9YVKAamAq0C/NxFYASQT8pIuAOzIfGIkTQGETAGoNom6c5ryLCzLciwsy3IsI24WdE2PlkRNj5ZERwV7uICN6zERG8ZyMihEu9h1j0tniIRW+LR4R0n7MimM0XK4LZfLESodzkWUSrFcMiWq0YlghUh/uLMNUzWLW9Wt+v8WHkrYDp8TTV3IjRNm/Jv0FffIp9qJ//E6Cv8gq07Ce8ShJs2U94lTLYsp/wKo1Qy35ChJj3bISY92zLfkLmau98Mld759Oyn1BJbjPfSnKb+bbsJxDlTWMQ5U1jtOwnkB0eXdtnmOR+AkZ+GEnewqT3E9Bg9ZMihO3eTzh3Pn/TfoLIifP5m/cTRE6azz9pP0HkhPn8k/cTRJ45nz9kP0HkGfP5w/YTRO6czx+6nyBy03z+5P0EkRvm8wT5GSbW4dLkxfgfHmV4rFpVAthqb4/8Y0wDdc3nCRE0RlmEGUDXfL4iwsw3LcLOsWs+nxFh5xMWwevQNZ+PiOA96xYhqlbXfN5DLHpbttyy70vXfH5FMJsvphyrGbNrPm8RrVaMP1ypmtk1n78SpnqGX5zJrik8n3ca3TD9YH4B52HxPNYfWfcAAAAASUVORK5CYII=";
|
|
10751
|
+
|
|
10752
|
+
// src/fetch-map/patterns/cross-hatch-medium.png
|
|
10753
|
+
var cross_hatch_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAKASURBVHic7ZpNbgMxCIWtnqD33+RI7VF6g2STSg4/D2zTAaIiZVEb8zEeG/WhGWOM+/OH7D79voDfjfh6Y2byzQUzGCVxU3ytB8rmywMCHI3N8M/nmJaExIrk/9oKX5xAuz3PSQ+vJYHedgSf2gqfOVj3jfrSh5eSsO7mCV+zFT4LjIzeuYiY6XxvYaLVFiXhjZnOp4G0BdKd15KgMVB1TuV7A6CC530AKYlU/s4R0gqe97hJhSmLv1xENLjki8z6x+YqvuksFRwP3Howb8y/5sPCRO8cSoLOoSTmuWz+0DZBKzhSElpiUhLSWDafJYGqLQVaR3MGoreSzWdJWAXHey+pL7qXl/M/iOM3+fvHCBxtqfyuej6EX0nPX86vpOcz+GbBuUrPZ/FNRxrYMq9vlX6CmYS32Kz4VuonvCxsq+cP+UsByun5ID5bgI5QJT0fyWcLkFXR86F8765Kvpq16SdQB5TEPJet50P42oSUhDSWreeP+NbRmIHorWTr+V2+q+B472W7fgLtB5xay35C1BHs2k+Am+AtQt37CeIE2u15LlvPR/GZg1VwqO879BNYYGRV9Hwo31uYKun5MD4NpC2oqOeP+d4AlfX8Nn/nCFXV8zv85SJSWs9v8E3nNnp+k/8eev6AP7RNaKPnA/gsiU56PorPkrAKjvdeUt9S/YT/7wMm66rnQ/in39ufFqEy3wdQ66Tnd/lmEemk53f4piMNbJnXt0o/wUzCW2xWfCv1E14WttXzh/ylAOX0fBCfLUBHqJKej+SzBciq6PlQvndXJV/N2vQTqANKYp7L1vMhfG1CSkIay9bzR3zraMxA9Fay9fwu31VwvPeyXT/hAZMuKfjIf3HUAAAAAElFTkSuQmCC";
|
|
10754
|
+
|
|
10755
|
+
// src/fetch-map/patterns/cross-hatch-small.png
|
|
10756
|
+
var cross_hatch_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAHqSURBVHic7ZhRagMxDERFT5D7/+RI26PkBu5PFipZirqmE41aB/wRR89LhoG3WERkPJeIyP3b93NPzN7h7HXmp4POoZ/sRasTPyV0e+4dBvZmGXm5ytvaDGcw2jv+AK+S9wa86niHVfPRH8z45YrdzYO68uoQm1S0vNp15aeEXmnGPuTWnJcPufb5NN8fzXmRxQp18nzGq9qIGfT2qj3/2+8J6gcvqWpPo/k2nke9J4QVYfE0nLepDDJPo3mVBpun4bx9D2Dz9Ft4rxZMnkbzUwjVnn47z+5pNK+S8wa6eH6Vv1wxrzmdeXWITSpanTyf8VNCVJ5G8//9PuAhixXq5PmMV7URM+jttfN8wqthL6lqT+/7ADAf1obF03DepjLIPI3mVRp0nkbz+z4gqAWTp9H8FAKbp+E8u6fRvErOG6j29L4PAPPqEJtUtDp5PuOnhKg8jeb3fcBihTp5PuNVbcQMenvtPJ/wathLqtrT+z4AzIe1YfE0nLepDDJPo3mVBp2n0fy+DwhqweRpND+FcH5YPA3n2T2N5tOBak/v+wAwrw6xSUWrk+czfkqIytNoft8HLFaok+czXtVGzOCrvTaeT3g17CVV7Wma+4DoAeyez/iwNiyehvM2lUHmaTSv0rBDXkitPJ/xX9QhcjSKhBtGAAAAAElFTkSuQmCC";
|
|
10757
|
+
|
|
10758
|
+
// src/fetch-map/patterns/dots-large.png
|
|
10759
|
+
var dots_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABJSURBVHic7dixEQAgDAMxH/vvDDskBReQ+h/ATpKduv1ADwAAwJduz9Gr/WrEAAAAMNjoPe8PAAAAgJLRe94fAAAAACWj93y3PwvzJ98DYTY6AAAAAElFTkSuQmCC";
|
|
10760
|
+
|
|
10761
|
+
// src/fetch-map/patterns/dots-medium.png
|
|
10762
|
+
var dots_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABdSURBVHic7daxDcBADAMxI/vv/Jkg6YQXYLLVAKeZmTPfzoIdgNVuZ+jq/vyMALBAdaf9AACIqu60HwAAUdWd9gMAIKq6034AAERVd9oPAICo6k77AQAQVd3p9P4CKgaPf9S3g48AAAAASUVORK5CYII=";
|
|
10763
|
+
|
|
10764
|
+
// src/fetch-map/patterns/dots-small.png
|
|
10765
|
+
var dots_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAB8SURBVHic7dSxDQAxDAMx4/ffOSl/A0WAyc69TzMzZ35n4c16r1/w6f0NrFfVpA2AuKombQDEVTVpAyCuqkkbAHFVTdoAiKtq0gZAXFWTNgDiqpq0ARBX1aQNgLiqJm0AxFU1aQMgrqpJGwBxVU3aAIiratIGQFxVk+n7ApyMHh3vKZDHAAAAAElFTkSuQmCC";
|
|
10766
|
+
|
|
10767
|
+
// src/fetch-map/patterns/checker-large.png
|
|
10768
|
+
var checker_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAC7SURBVHic7dhRCsJQEMXQV/e/57oD56scHZPfciGEFnGuc859PnMNz396/xrG6ymAFtBM39fR3+jT+79/AwqgBTQF0AKaAmgBzfXtv9P9F3iYAmgBTQG0gKYAWkDTPWAYr6cAWkBTAC2gKYAW0HQPGMbrKYAW0BRAC2gKoAU03QOG8XoKoAU0BdACmgJoAU33gGG8ngJoAU0BtICmAFpA0z1gGK+nAFpAUwAtoCmAFtB0DxjG6ymAFtC8AfltJHRjA+VQAAAAAElFTkSuQmCC";
|
|
10769
|
+
|
|
10770
|
+
// src/fetch-map/patterns/checker-medium.png
|
|
10771
|
+
var checker_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACpSURBVHic7dYxDoNAAAPBvfz/z6EOD2AjvNOhayzDCR/gy69ze371+Ydx97aw38jT5/NfQAXYAWzn3+5kf4GHVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGXajSiGiQ1/fcAAAAAElFTkSuQmCC";
|
|
10772
|
+
|
|
10773
|
+
// src/fetch-map/patterns/checker-small.png
|
|
10774
|
+
var checker_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACgSURBVHic7dRBCoNQFEPR1P3vuZ1UEBcQAv8ccPB0am6SfP/P7aj78/rwfHfEfYWtX7J9H/8HaEDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjaZPv+AQpgHkxA3R9BAAAAAElFTkSuQmCC";
|
|
10775
|
+
|
|
10776
|
+
// src/fetch-map/patterns/solid.png
|
|
10777
|
+
var solid_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACWSURBVHic7dBBEcAwAMOwrPw5dzD0qIXA52/b3cOODtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QPsBULQBfwAqZPkAAAAASUVORK5CYII=";
|
|
10778
|
+
|
|
10779
|
+
// src/fetch-map/pattern-atlas-runtime.ts
|
|
10780
|
+
var CELL_URLS = {
|
|
10781
|
+
"hlines-large": hlines_large_default,
|
|
10782
|
+
"hlines-medium": hlines_medium_default,
|
|
10783
|
+
"hlines-small": hlines_small_default,
|
|
10784
|
+
"vlines-large": vlines_large_default,
|
|
10785
|
+
"vlines-medium": vlines_medium_default,
|
|
10786
|
+
"vlines-small": vlines_small_default,
|
|
10787
|
+
"diag-left-large": diag_left_large_default,
|
|
10788
|
+
"diag-left-medium": diag_left_medium_default,
|
|
10789
|
+
"diag-left-small": diag_left_small_default,
|
|
10790
|
+
"diag-right-large": diag_right_large_default,
|
|
10791
|
+
"diag-right-medium": diag_right_medium_default,
|
|
10792
|
+
"diag-right-small": diag_right_small_default,
|
|
10793
|
+
"cross-hatch-large": cross_hatch_large_default,
|
|
10794
|
+
"cross-hatch-medium": cross_hatch_medium_default,
|
|
10795
|
+
"cross-hatch-small": cross_hatch_small_default,
|
|
10796
|
+
"dots-large": dots_large_default,
|
|
10797
|
+
"dots-medium": dots_medium_default,
|
|
10798
|
+
"dots-small": dots_small_default,
|
|
10799
|
+
"checker-large": checker_large_default,
|
|
10800
|
+
"checker-medium": checker_medium_default,
|
|
10801
|
+
"checker-small": checker_small_default,
|
|
10802
|
+
solid: solid_default
|
|
10803
|
+
};
|
|
10804
|
+
function createCanvas(w, h) {
|
|
10805
|
+
if (typeof OffscreenCanvas !== "undefined") return new OffscreenCanvas(w, h);
|
|
10806
|
+
if (typeof document !== "undefined") {
|
|
10807
|
+
const c = document.createElement("canvas");
|
|
10808
|
+
c.width = w;
|
|
10809
|
+
c.height = h;
|
|
10810
|
+
return c;
|
|
10811
|
+
}
|
|
10812
|
+
throw new Error(
|
|
10813
|
+
"carto-api-client: no Canvas available to assemble the pattern atlas"
|
|
10814
|
+
);
|
|
10815
|
+
}
|
|
10816
|
+
async function loadImage(dataUrl) {
|
|
10817
|
+
if (typeof createImageBitmap !== "undefined" && typeof fetch !== "undefined") {
|
|
10818
|
+
const blob = await (await fetch(dataUrl)).blob();
|
|
10819
|
+
return createImageBitmap(blob);
|
|
10820
|
+
}
|
|
10821
|
+
return new Promise((resolve, reject) => {
|
|
10822
|
+
const img = new Image();
|
|
10823
|
+
img.onload = () => resolve(img);
|
|
10824
|
+
img.onerror = reject;
|
|
10825
|
+
img.src = dataUrl;
|
|
10826
|
+
});
|
|
10827
|
+
}
|
|
10828
|
+
async function toDataURL(canvas) {
|
|
10829
|
+
if ("convertToBlob" in canvas) {
|
|
10830
|
+
const blob = await canvas.convertToBlob({ type: "image/png" });
|
|
10831
|
+
return new Promise((resolve) => {
|
|
10832
|
+
const reader = new FileReader();
|
|
10833
|
+
reader.onload = () => resolve(reader.result);
|
|
10834
|
+
reader.readAsDataURL(blob);
|
|
10835
|
+
});
|
|
10836
|
+
}
|
|
10837
|
+
return canvas.toDataURL("image/png");
|
|
10838
|
+
}
|
|
10839
|
+
var atlasPromise;
|
|
10840
|
+
function assemblePatternAtlas() {
|
|
10841
|
+
if (!atlasPromise) atlasPromise = build();
|
|
10842
|
+
return atlasPromise;
|
|
10843
|
+
}
|
|
10844
|
+
async function build() {
|
|
10845
|
+
const canvas = createCanvas(ATLAS_W, ATLAS_H);
|
|
10846
|
+
const ctx = canvas.getContext("2d");
|
|
10847
|
+
if (!ctx)
|
|
10848
|
+
throw new Error(
|
|
10849
|
+
"carto-api-client: 2D context unavailable for pattern atlas"
|
|
10850
|
+
);
|
|
10851
|
+
const images = {};
|
|
10852
|
+
await Promise.all(
|
|
10853
|
+
Object.entries(CELL_URLS).map(async ([key, url]) => {
|
|
10854
|
+
images[key] = await loadImage(url);
|
|
10855
|
+
})
|
|
10856
|
+
);
|
|
10857
|
+
for (const [key, frame] of Object.entries(PATTERN_ATLAS_MAPPING)) {
|
|
10858
|
+
const img = images[key];
|
|
10859
|
+
if (img) ctx.drawImage(img, frame.x, frame.y, CELL, CELL);
|
|
10860
|
+
}
|
|
10861
|
+
return toDataURL(canvas);
|
|
10862
|
+
}
|
|
10863
|
+
|
|
10864
|
+
// src/fetch-map/pattern-atlas.ts
|
|
10865
|
+
function getPatternAtlas() {
|
|
10866
|
+
const runtime = globalThis.__CARTO_RUNTIME_ATLAS__ === true;
|
|
10867
|
+
return runtime ? assemblePatternAtlas() : BAKED_ATLAS_URL;
|
|
10868
|
+
}
|
|
10869
|
+
|
|
10870
|
+
// src/fetch-map/parse-map.ts
|
|
10644
10871
|
function getLayerDescriptor({
|
|
10645
10872
|
mapConfig,
|
|
10646
10873
|
layer,
|
|
@@ -10863,6 +11090,10 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
10863
11090
|
const result = {};
|
|
10864
11091
|
const updateTriggers = {};
|
|
10865
11092
|
const scales = {};
|
|
11093
|
+
const isVectorTile = layerType === "mvt" || layerType === "tileset";
|
|
11094
|
+
const geometry = data.tilestats?.layers?.[0]?.geometry;
|
|
11095
|
+
const isLine = geometry === "Line" || geometry === "LineString" || geometry === "MultiLineString";
|
|
11096
|
+
const isPolygon = geometry === "Polygon" || geometry === "MultiPolygon";
|
|
10866
11097
|
{
|
|
10867
11098
|
const { colorField, colorScale } = visualChannels;
|
|
10868
11099
|
const { colorRange } = visConfig;
|
|
@@ -11023,6 +11254,72 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
11023
11254
|
};
|
|
11024
11255
|
}
|
|
11025
11256
|
}
|
|
11257
|
+
{
|
|
11258
|
+
const strokeVisible = isLine || isPolygon && Boolean(visConfig.stroked);
|
|
11259
|
+
if (isVectorTile && strokeVisible) {
|
|
11260
|
+
const { lineStyleField, lineStyleScale } = visualChannels;
|
|
11261
|
+
const { lineStyleRange } = visConfig;
|
|
11262
|
+
if (visConfig.lineStyle && visConfig.lineStyle !== "solid") {
|
|
11263
|
+
if (visConfig.lineStyle === "dotted") {
|
|
11264
|
+
result.lineCapRounded = true;
|
|
11265
|
+
}
|
|
11266
|
+
result.lineStyle = visConfig.lineStyle;
|
|
11267
|
+
if (visConfig.dashArray) {
|
|
11268
|
+
result.dashArray = visConfig.dashArray;
|
|
11269
|
+
result.getDashArray = visConfig.dashArray;
|
|
11270
|
+
}
|
|
11271
|
+
}
|
|
11272
|
+
if (lineStyleField && lineStyleScale && lineStyleRange) {
|
|
11273
|
+
const { accessor, ...scaleProps } = getLineStyleAccessor(
|
|
11274
|
+
lineStyleField,
|
|
11275
|
+
lineStyleRange,
|
|
11276
|
+
data
|
|
11277
|
+
);
|
|
11278
|
+
result.getDashArray = accessor;
|
|
11279
|
+
scales.lineStyle = updateTriggers.getDashArray = {
|
|
11280
|
+
field: lineStyleField,
|
|
11281
|
+
type: lineStyleScale,
|
|
11282
|
+
...scaleProps
|
|
11283
|
+
};
|
|
11284
|
+
const dashArrays = [
|
|
11285
|
+
...lineStyleRange.dashArrayMap.map(({ dashArray }) => dashArray),
|
|
11286
|
+
...lineStyleRange.othersDashArray ? [lineStyleRange.othersDashArray] : []
|
|
11287
|
+
];
|
|
11288
|
+
if (dashArrays.some(([dash]) => dash === 0)) {
|
|
11289
|
+
result.lineCapRounded = true;
|
|
11290
|
+
}
|
|
11291
|
+
}
|
|
11292
|
+
}
|
|
11293
|
+
}
|
|
11294
|
+
{
|
|
11295
|
+
result.fillPatternEnabled = Boolean(visConfig.fillPatternEnabled);
|
|
11296
|
+
if (visConfig.filled && visConfig.fillPatternEnabled) {
|
|
11297
|
+
result.fillPatternAtlas = getPatternAtlas();
|
|
11298
|
+
result.fillPatternMapping = PATTERN_ATLAS_MAPPING;
|
|
11299
|
+
result.fillPatternMask = true;
|
|
11300
|
+
result.getFillPatternScale = visConfig.fillPatternSize ?? 1;
|
|
11301
|
+
result.fillPattern = visConfig.fillPattern;
|
|
11302
|
+
const { fillPatternField, fillPatternScale } = visualChannels;
|
|
11303
|
+
const { fillPatternRange, fillPatternDensity } = visConfig;
|
|
11304
|
+
if (fillPatternField && fillPatternScale && fillPatternRange) {
|
|
11305
|
+
const { accessor, ...scaleProps } = getFillPatternAccessor(
|
|
11306
|
+
fillPatternField,
|
|
11307
|
+
fillPatternRange,
|
|
11308
|
+
fillPatternDensity,
|
|
11309
|
+
data
|
|
11310
|
+
);
|
|
11311
|
+
result.getFillPattern = accessor;
|
|
11312
|
+
scales.fillPattern = updateTriggers.getFillPattern = {
|
|
11313
|
+
field: fillPatternField,
|
|
11314
|
+
type: fillPatternScale,
|
|
11315
|
+
...scaleProps
|
|
11316
|
+
};
|
|
11317
|
+
} else {
|
|
11318
|
+
const key = `${visConfig.fillPattern}-${fillPatternDensity ?? "medium"}`;
|
|
11319
|
+
result.getFillPattern = () => key;
|
|
11320
|
+
}
|
|
11321
|
+
}
|
|
11322
|
+
}
|
|
11026
11323
|
{
|
|
11027
11324
|
const { heightField, heightScale } = visualChannels;
|
|
11028
11325
|
const { enable3d, heightRange } = visConfig;
|
|
@@ -11151,9 +11448,7 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
11151
11448
|
} = secondaryLabel || {};
|
|
11152
11449
|
result.getText = mainLabel.field && getTextAccessor(mainLabel.field, data);
|
|
11153
11450
|
const getSecondaryText = secondaryField && getTextAccessor(secondaryField, data);
|
|
11154
|
-
|
|
11155
|
-
const isLineOrPolygon = geometry === "Polygon" || geometry === "MultiPolygon" || geometry === "Line" || geometry === "LineString" || geometry === "MultiLineString";
|
|
11156
|
-
if (isLineOrPolygon && (layerType === "tileset" || layerType === "mvt")) {
|
|
11451
|
+
if ((isLine || isPolygon) && isVectorTile) {
|
|
11157
11452
|
const uniqueIdProperty = visConfig.textLabelUniqueIdField;
|
|
11158
11453
|
result.autoLabels = uniqueIdProperty ? { uniqueIdProperty } : true;
|
|
11159
11454
|
result.pointType = "text";
|
|
@@ -11935,10 +12230,12 @@ function hashBuckets(initialCount) {
|
|
|
11935
12230
|
getColumnNameFromGeoColumn,
|
|
11936
12231
|
getDataFilterExtensionProps,
|
|
11937
12232
|
getDefaultAggregationExpColumnAliasForLayerType,
|
|
12233
|
+
getFillPatternAccessor,
|
|
11938
12234
|
getFilter,
|
|
11939
12235
|
getIconUrlAccessor,
|
|
11940
12236
|
getLayerDescriptor,
|
|
11941
12237
|
getLayerProps,
|
|
12238
|
+
getLineStyleAccessor,
|
|
11942
12239
|
getMaxMarkerSize,
|
|
11943
12240
|
getSizeAccessor,
|
|
11944
12241
|
getSorter,
|