@carto/api-client 0.5.31 → 0.5.32-alpha.02a4470.133
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 +527 -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 +520 -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 +133 -10
- package/src/fetch-map/pattern-atlas.ts +461 -0
- package/src/fetch-map/patterns/checker-large.png +0 -0
- package/src/fetch-map/patterns/checker-large.svg +1 -0
- package/src/fetch-map/patterns/checker-medium.png +0 -0
- package/src/fetch-map/patterns/checker-medium.svg +1 -0
- package/src/fetch-map/patterns/checker-small.png +0 -0
- package/src/fetch-map/patterns/checker-small.svg +1 -0
- package/src/fetch-map/patterns/cross-hatch-large.png +0 -0
- package/src/fetch-map/patterns/cross-hatch-large.svg +1 -0
- package/src/fetch-map/patterns/cross-hatch-medium.png +0 -0
- package/src/fetch-map/patterns/cross-hatch-medium.svg +1 -0
- package/src/fetch-map/patterns/cross-hatch-small.png +0 -0
- package/src/fetch-map/patterns/cross-hatch-small.svg +1 -0
- package/src/fetch-map/patterns/diag-left-large.png +0 -0
- package/src/fetch-map/patterns/diag-left-large.svg +1 -0
- package/src/fetch-map/patterns/diag-left-medium.png +0 -0
- package/src/fetch-map/patterns/diag-left-medium.svg +1 -0
- package/src/fetch-map/patterns/diag-left-small.png +0 -0
- package/src/fetch-map/patterns/diag-left-small.svg +1 -0
- package/src/fetch-map/patterns/diag-right-large.png +0 -0
- package/src/fetch-map/patterns/diag-right-large.svg +1 -0
- package/src/fetch-map/patterns/diag-right-medium.png +0 -0
- package/src/fetch-map/patterns/diag-right-medium.svg +1 -0
- package/src/fetch-map/patterns/diag-right-small.png +0 -0
- package/src/fetch-map/patterns/diag-right-small.svg +1 -0
- package/src/fetch-map/patterns/dots-large.png +0 -0
- package/src/fetch-map/patterns/dots-large.svg +1 -0
- package/src/fetch-map/patterns/dots-medium.png +0 -0
- package/src/fetch-map/patterns/dots-medium.svg +1 -0
- package/src/fetch-map/patterns/dots-small.png +0 -0
- package/src/fetch-map/patterns/dots-small.svg +1 -0
- package/src/fetch-map/patterns/hlines-large.png +0 -0
- package/src/fetch-map/patterns/hlines-large.svg +1 -0
- package/src/fetch-map/patterns/hlines-medium.png +0 -0
- package/src/fetch-map/patterns/hlines-medium.svg +1 -0
- package/src/fetch-map/patterns/hlines-small.png +0 -0
- package/src/fetch-map/patterns/hlines-small.svg +1 -0
- package/src/fetch-map/patterns/solid.png +0 -0
- package/src/fetch-map/patterns/solid.svg +1 -0
- package/src/fetch-map/patterns/vlines-large.png +0 -0
- package/src/fetch-map/patterns/vlines-large.svg +1 -0
- package/src/fetch-map/patterns/vlines-medium.png +0 -0
- package/src/fetch-map/patterns/vlines-medium.svg +1 -0
- package/src/fetch-map/patterns/vlines-small.png +0 -0
- package/src/fetch-map/patterns/vlines-small.svg +1 -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 (runtime-assembled 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,418 @@ 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/patterns/hlines-large.png
|
|
10679
|
+
var hlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABBSURBVHic7dixAQAgDMOwwP8/wxfNUOkCz04AYK2T5LUjmm47AAAAAOb5Ae0AAAAAmOcHtAMAAABgnh/QDgAAaj69GwQJx6ek3QAAAABJRU5ErkJggg==";
|
|
10680
|
+
|
|
10681
|
+
// src/fetch-map/patterns/hlines-medium.png
|
|
10682
|
+
var hlines_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABOSURBVHic7daxAQAgDMOwwv8/wxkeKl3gLTkz8wYAVjrbZ/DWAQDQ8QPqAADo+AF1AAB0/IA6AAA6fkAdAAAdP6AOAICOH1AHAEBn/Q/4F6kJD4qx2asAAAAASUVORK5CYII=";
|
|
10683
|
+
|
|
10684
|
+
// src/fetch-map/patterns/hlines-small.png
|
|
10685
|
+
var hlines_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABrSURBVHic7dSxAQAgDMOwwv8/wxkeKl3gJTkz8wbWOtsncOsAaPmAOgBaPqAOgJYPqAOg5QPqAGj5gDoAWj6gDoCWD6gDoOUD6gBo+YA6AFo+oA6Alg+oA6DlA+oAaPmAOgBaPqAOgNb6D/gRbhEfmYiEGgAAAABJRU5ErkJggg==";
|
|
10686
|
+
|
|
10687
|
+
// src/fetch-map/patterns/vlines-large.png
|
|
10688
|
+
var vlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACkSURBVHic7dAxCsAwEMRAk///2W5Sp7CLMUGCK28RGuOb+d4u1/8/B+O/oABaQFMALaApgBbQFEALaAqgBTQF0AKaAmgBTQG0gKYAWkBTAC2gKYAW0BRAC2gKoAU0BdACmgJoAU0BtICmAFpAUwAtoCmAFtAUQAtoCqAFNAXQApoCaAFNAbSApgBaQFMALaApgBbQFEALaAqgBTQF0AKaAmgBzQIgxAh3o/Zl8AAAAABJRU5ErkJggg==";
|
|
10689
|
+
|
|
10690
|
+
// src/fetch-map/patterns/vlines-medium.png
|
|
10691
|
+
var vlines_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACfSURBVHic7dCxDYBQAITQi/vv/J1A25cotDSEbTt75nzdXy/yFzRAB2gaoAM0DdABmgboAE0DdICmATpA0wAdoGmADtA0QAdoGqADNA3QAZoG6ABNA3SApgE6QNMAHaBpgA7QNEAHaBqgAzQN0AGaBugATQN0gKYBOkDTAB2gaYAO0DRAB2gaoAM0DdABmgboAE0DdICmATpA0wAdoLkBMJgQb6A8qDAAAAAASUVORK5CYII=";
|
|
10692
|
+
|
|
10693
|
+
// src/fetch-map/patterns/vlines-small.png
|
|
10694
|
+
var vlines_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACcSURBVHic7dCxDcAwAMMwo///nIw9gUPEzZuhbTv7ndf2t8cVQB/QCqAPaAXQB7QC6ANaAfQBrQD6gFYAfUArgD6gFUAf0AqgD2gF0Ae0AugDWgH0Aa0A+oBWAH1AK4A+oBVAH9AKoA9oBdAHtALoA1oB9AGtAPqAVgB9QCuAPqAVQB/QCqAPaAXQB7QC6ANaAfQBrQD6gFYAfUC7UEAgXxU1dpkAAAAASUVORK5CYII=";
|
|
10695
|
+
|
|
10696
|
+
// src/fetch-map/patterns/diag-left-large.png
|
|
10697
|
+
var diag_left_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACtSURBVHic7dkxCsMwEETRuf/lfKSkmBCiflUseR/cDuYhN3KSvD7PVM+FzfxsPsOb3+F/RTiGIUCAACEQzmEIECBACIRzGAIECBAC4RyGAGEpwvQd2zaE8eOwDeHKN7EJIYHQIEBoECA0CBAaBAgNAoQGAUKDAKFBgNAgbEWYltiGcOU4bEJY9QfmBkICoUGA0CBAaBAgNAgQGgQIDQKEBgFCgwChrUWYfOF1CG/KcyXf7pwUyQAAAABJRU5ErkJggg==";
|
|
10698
|
+
|
|
10699
|
+
// src/fetch-map/patterns/diag-left-medium.png
|
|
10700
|
+
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==";
|
|
10701
|
+
|
|
10702
|
+
// src/fetch-map/patterns/diag-left-small.png
|
|
10703
|
+
var diag_left_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAADqSURBVHic7dgxCsMwAARB/f9zflLS2JDC/U7gDG4EA4s63TnnfO7/+a6Xs/Nzdr2c/bMnIkpPRNSeiMg8ERF6IqL0RETpiYjaExG1JyIST0SEnogoPRFReiKi9kRE5omI0BMRpSciSk9E1J6IyDwREXoiYnvAXoG7hNwTEYknIkJPRJSeiCg9EVF7ImJ7wPaAxhMRpSciak9EZJ6ICD0RsT1gr8BdQu6JiMQTEaEnIkpPRJSeiKg9EbE9YHtA44mI0hMRtSciMk9EhJ6I2B6wV+AuIfdEROKJiNATEaUnIkpPRNSeiNgeUPgvaSqXeT0fItoAAAAASUVORK5CYII=";
|
|
10704
|
+
|
|
10705
|
+
// src/fetch-map/patterns/diag-right-large.png
|
|
10706
|
+
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=";
|
|
10707
|
+
|
|
10708
|
+
// src/fetch-map/patterns/diag-right-medium.png
|
|
10709
|
+
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";
|
|
10710
|
+
|
|
10711
|
+
// src/fetch-map/patterns/diag-right-small.png
|
|
10712
|
+
var diag_right_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAADbSURBVHic7dgxCsNAEMXQuf/lfCSnCdiFqx01AqXLwgP90jMzc8/zu/7/32/zers+3uxeHY95dXzjd14dT3h1POHV8ahXxze+8cdeHU94dTzh1fGYV8c3fufV8YRXxxNeHY95dXzjd14d3z0A8Op41KvjG9/47gGnXh1PeHV8n8SN33t1POHV8YRXx2NeHd/4nVfHdw8AvDoe9er4xje+e8CpV8cTXh3fJ3Hj914dT3h1POHV8ZhXxzd+59Xx3QMAr45HvTq+8Y3vHnDq1fGEV8f3Sdz4vVfHr/0PaSqXeV716iAAAAAASUVORK5CYII=";
|
|
10713
|
+
|
|
10714
|
+
// src/fetch-map/patterns/cross-hatch-large.png
|
|
10715
|
+
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=";
|
|
10716
|
+
|
|
10717
|
+
// src/fetch-map/patterns/cross-hatch-medium.png
|
|
10718
|
+
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";
|
|
10719
|
+
|
|
10720
|
+
// src/fetch-map/patterns/cross-hatch-small.png
|
|
10721
|
+
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";
|
|
10722
|
+
|
|
10723
|
+
// src/fetch-map/patterns/dots-large.png
|
|
10724
|
+
var dots_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABJSURBVHic7dixEQAgDAMxH/vvDDskBReQ+h/ATpKduv1ADwAAwJduz9Gr/WrEAAAAMNjoPe8PAAAAgJLRe94fAAAAACWj93y3PwvzJ98DYTY6AAAAAElFTkSuQmCC";
|
|
10725
|
+
|
|
10726
|
+
// src/fetch-map/patterns/dots-medium.png
|
|
10727
|
+
var dots_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABdSURBVHic7daxDcBADAMxI/vv/Jkg6YQXYLLVAKeZmTPfzoIdgNVuZ+jq/vyMALBAdaf9AACIqu60HwAAUdWd9gMAIKq6034AAERVd9oPAICo6k77AQAQVd3p9P4CKgaPf9S3g48AAAAASUVORK5CYII=";
|
|
10728
|
+
|
|
10729
|
+
// src/fetch-map/patterns/dots-small.png
|
|
10730
|
+
var dots_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAB8SURBVHic7dSxDQAxDAMx4/ffOSl/A0WAyc69TzMzZ35n4c16r1/w6f0NrFfVpA2AuKombQDEVTVpAyCuqkkbAHFVTdoAiKtq0gZAXFWTNgDiqpq0ARBX1aQNgLiqJm0AxFU1aQMgrqpJGwBxVU3aAIiratIGQFxVk+n7ApyMHh3vKZDHAAAAAElFTkSuQmCC";
|
|
10731
|
+
|
|
10732
|
+
// src/fetch-map/patterns/checker-large.png
|
|
10733
|
+
var checker_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAC7SURBVHic7dhRCsJQEMXQV/e/57oD56scHZPfciGEFnGuc859PnMNz396/xrG6ymAFtBM39fR3+jT+79/AwqgBTQF0AKaAmgBzfXtv9P9F3iYAmgBTQG0gKYAWkDTPWAYr6cAWkBTAC2gKYAW0HQPGMbrKYAW0BRAC2gKoAU03QOG8XoKoAU0BdACmgJoAU33gGG8ngJoAU0BtICmAFpA0z1gGK+nAFpAUwAtoCmAFtB0DxjG6ymAFtC8AfltJHRjA+VQAAAAAElFTkSuQmCC";
|
|
10734
|
+
|
|
10735
|
+
// src/fetch-map/patterns/checker-medium.png
|
|
10736
|
+
var checker_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACpSURBVHic7dYxDoNAAAPBvfz/z6EOD2AjvNOhayzDCR/gy69ze371+Ydx97aw38jT5/NfQAXYAWzn3+5kf4GHVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGXajSiGiQ1/fcAAAAAElFTkSuQmCC";
|
|
10737
|
+
|
|
10738
|
+
// src/fetch-map/patterns/checker-small.png
|
|
10739
|
+
var checker_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACgSURBVHic7dRBCoNQFEPR1P3vuZ1UEBcQAv8ccPB0am6SfP/P7aj78/rwfHfEfYWtX7J9H/8HaEDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjaZPv+AQpgHkxA3R9BAAAAAElFTkSuQmCC";
|
|
10740
|
+
|
|
10741
|
+
// src/fetch-map/patterns/solid.png
|
|
10742
|
+
var solid_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACWSURBVHic7dBBEcAwAMOwrPw5dzD0qIXA52/b3cOODtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QPsBULQBfwAqZPkAAAAASUVORK5CYII=";
|
|
10743
|
+
|
|
10744
|
+
// src/fetch-map/patterns/hlines-large.svg
|
|
10745
|
+
var hlines_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="64" height="16" patternUnits="userSpaceOnUse"><rect width="64" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10746
|
+
|
|
10747
|
+
// src/fetch-map/patterns/hlines-medium.svg
|
|
10748
|
+
var hlines_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="64" height="8" patternUnits="userSpaceOnUse"><rect width="64" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10749
|
+
|
|
10750
|
+
// src/fetch-map/patterns/hlines-small.svg
|
|
10751
|
+
var hlines_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="64" height="4" patternUnits="userSpaceOnUse"><rect width="64" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10752
|
+
|
|
10753
|
+
// src/fetch-map/patterns/vlines-large.svg
|
|
10754
|
+
var vlines_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="16" height="64" patternUnits="userSpaceOnUse"><rect width="2" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10755
|
+
|
|
10756
|
+
// src/fetch-map/patterns/vlines-medium.svg
|
|
10757
|
+
var vlines_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="8" height="64" patternUnits="userSpaceOnUse"><rect width="2" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10758
|
+
|
|
10759
|
+
// src/fetch-map/patterns/vlines-small.svg
|
|
10760
|
+
var vlines_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="4" height="64" patternUnits="userSpaceOnUse"><rect width="2" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10761
|
+
|
|
10762
|
+
// src/fetch-map/patterns/diag-left-large.svg
|
|
10763
|
+
var diag_left_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="45.2548" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10764
|
+
|
|
10765
|
+
// src/fetch-map/patterns/diag-left-medium.svg
|
|
10766
|
+
var diag_left_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="22.6274" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10767
|
+
|
|
10768
|
+
// src/fetch-map/patterns/diag-left-small.svg
|
|
10769
|
+
var diag_left_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="11.3137" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10770
|
+
|
|
10771
|
+
// src/fetch-map/patterns/diag-right-large.svg
|
|
10772
|
+
var diag_right_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="45.2548" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10773
|
+
|
|
10774
|
+
// src/fetch-map/patterns/diag-right-medium.svg
|
|
10775
|
+
var diag_right_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="22.6274" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10776
|
+
|
|
10777
|
+
// src/fetch-map/patterns/diag-right-small.svg
|
|
10778
|
+
var diag_right_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="11.3137" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10779
|
+
|
|
10780
|
+
// src/fetch-map/patterns/cross-hatch-large.svg
|
|
10781
|
+
var cross_hatch_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="a" width="45.2548" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern><pattern id="b" width="45.2548" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23a)"/><rect width="64" height="64" fill="url(%23b)"/></svg>%0A';
|
|
10782
|
+
|
|
10783
|
+
// src/fetch-map/patterns/cross-hatch-medium.svg
|
|
10784
|
+
var cross_hatch_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="a" width="22.6274" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern><pattern id="b" width="22.6274" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23a)"/><rect width="64" height="64" fill="url(%23b)"/></svg>%0A';
|
|
10785
|
+
|
|
10786
|
+
// src/fetch-map/patterns/cross-hatch-small.svg
|
|
10787
|
+
var cross_hatch_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="a" width="11.3137" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern><pattern id="b" width="11.3137" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23a)"/><rect width="64" height="64" fill="url(%23b)"/></svg>%0A';
|
|
10788
|
+
|
|
10789
|
+
// src/fetch-map/patterns/dots-large.svg
|
|
10790
|
+
var dots_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="16" height="16" patternUnits="userSpaceOnUse"><rect width="2" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10791
|
+
|
|
10792
|
+
// src/fetch-map/patterns/dots-medium.svg
|
|
10793
|
+
var dots_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="8" height="8" patternUnits="userSpaceOnUse"><rect width="2" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10794
|
+
|
|
10795
|
+
// src/fetch-map/patterns/dots-small.svg
|
|
10796
|
+
var dots_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="4" height="4" patternUnits="userSpaceOnUse"><rect width="2" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10797
|
+
|
|
10798
|
+
// src/fetch-map/patterns/checker-large.svg
|
|
10799
|
+
var checker_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="16" height="16" patternUnits="userSpaceOnUse"><rect width="8" height="8"/><rect x="8" y="8" width="8" height="8"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10800
|
+
|
|
10801
|
+
// src/fetch-map/patterns/checker-medium.svg
|
|
10802
|
+
var checker_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="8" height="8" patternUnits="userSpaceOnUse"><rect width="4" height="4"/><rect x="4" y="4" width="4" height="4"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10803
|
+
|
|
10804
|
+
// src/fetch-map/patterns/checker-small.svg
|
|
10805
|
+
var checker_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="4" height="4" patternUnits="userSpaceOnUse"><rect width="2" height="2"/><rect x="2" y="2" width="2" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
|
|
10806
|
+
|
|
10807
|
+
// src/fetch-map/patterns/solid.svg
|
|
10808
|
+
var solid_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs></defs><rect width="64" height="64"/></svg>%0A';
|
|
10809
|
+
|
|
10810
|
+
// src/fetch-map/pattern-atlas.ts
|
|
10811
|
+
var DEFAULT_CELL_SIZE = 128;
|
|
10812
|
+
var SOURCE_TILE_SIZE = 64;
|
|
10813
|
+
var VECTOR_RENDER_SIZE = 128;
|
|
10814
|
+
var PATTERN_ROWS = [
|
|
10815
|
+
"hlines",
|
|
10816
|
+
"vlines",
|
|
10817
|
+
"diag-left",
|
|
10818
|
+
"diag-right",
|
|
10819
|
+
"cross-hatch",
|
|
10820
|
+
"dots",
|
|
10821
|
+
"checker"
|
|
10822
|
+
];
|
|
10823
|
+
var DENSITY_COLUMNS = ["large", "medium", "small"];
|
|
10824
|
+
var CELL_URLS = {
|
|
10825
|
+
"hlines-large": hlines_large_default,
|
|
10826
|
+
"hlines-medium": hlines_medium_default,
|
|
10827
|
+
"hlines-small": hlines_small_default,
|
|
10828
|
+
"vlines-large": vlines_large_default,
|
|
10829
|
+
"vlines-medium": vlines_medium_default,
|
|
10830
|
+
"vlines-small": vlines_small_default,
|
|
10831
|
+
"diag-left-large": diag_left_large_default,
|
|
10832
|
+
"diag-left-medium": diag_left_medium_default,
|
|
10833
|
+
"diag-left-small": diag_left_small_default,
|
|
10834
|
+
"diag-right-large": diag_right_large_default,
|
|
10835
|
+
"diag-right-medium": diag_right_medium_default,
|
|
10836
|
+
"diag-right-small": diag_right_small_default,
|
|
10837
|
+
"cross-hatch-large": cross_hatch_large_default,
|
|
10838
|
+
"cross-hatch-medium": cross_hatch_medium_default,
|
|
10839
|
+
"cross-hatch-small": cross_hatch_small_default,
|
|
10840
|
+
"dots-large": dots_large_default,
|
|
10841
|
+
"dots-medium": dots_medium_default,
|
|
10842
|
+
"dots-small": dots_small_default,
|
|
10843
|
+
"checker-large": checker_large_default,
|
|
10844
|
+
"checker-medium": checker_medium_default,
|
|
10845
|
+
"checker-small": checker_small_default,
|
|
10846
|
+
solid: solid_default
|
|
10847
|
+
};
|
|
10848
|
+
var CELL_SVG_URLS = {
|
|
10849
|
+
"hlines-large": hlines_large_default2,
|
|
10850
|
+
"hlines-medium": hlines_medium_default2,
|
|
10851
|
+
"hlines-small": hlines_small_default2,
|
|
10852
|
+
"vlines-large": vlines_large_default2,
|
|
10853
|
+
"vlines-medium": vlines_medium_default2,
|
|
10854
|
+
"vlines-small": vlines_small_default2,
|
|
10855
|
+
"diag-left-large": diag_left_large_default2,
|
|
10856
|
+
"diag-left-medium": diag_left_medium_default2,
|
|
10857
|
+
"diag-left-small": diag_left_small_default2,
|
|
10858
|
+
"diag-right-large": diag_right_large_default2,
|
|
10859
|
+
"diag-right-medium": diag_right_medium_default2,
|
|
10860
|
+
"diag-right-small": diag_right_small_default2,
|
|
10861
|
+
"cross-hatch-large": cross_hatch_large_default2,
|
|
10862
|
+
"cross-hatch-medium": cross_hatch_medium_default2,
|
|
10863
|
+
"cross-hatch-small": cross_hatch_small_default2,
|
|
10864
|
+
"dots-large": dots_large_default2,
|
|
10865
|
+
"dots-medium": dots_medium_default2,
|
|
10866
|
+
"dots-small": dots_small_default2,
|
|
10867
|
+
"checker-large": checker_large_default2,
|
|
10868
|
+
"checker-medium": checker_medium_default2,
|
|
10869
|
+
"checker-small": checker_small_default2,
|
|
10870
|
+
solid: solid_default2
|
|
10871
|
+
};
|
|
10872
|
+
function debugGlobals() {
|
|
10873
|
+
return globalThis;
|
|
10874
|
+
}
|
|
10875
|
+
function getPatternCellSize() {
|
|
10876
|
+
const cell = debugGlobals().__CARTO_PATTERN_CELL_SIZE__;
|
|
10877
|
+
return typeof cell === "number" && cell > 0 ? cell : DEFAULT_CELL_SIZE;
|
|
10878
|
+
}
|
|
10879
|
+
function getPatternAssetSource() {
|
|
10880
|
+
const source = debugGlobals().__CARTO_PATTERN_ASSET_SOURCE__;
|
|
10881
|
+
return source === "svg" || source === "procedural" ? source : "png";
|
|
10882
|
+
}
|
|
10883
|
+
function getPatternTextureParameters() {
|
|
10884
|
+
const params = debugGlobals().__CARTO_PATTERN_TEXTURE_PARAMS__;
|
|
10885
|
+
return params && typeof params === "object" ? params : void 0;
|
|
10886
|
+
}
|
|
10887
|
+
function getPatternRepeats(cell, source = getPatternAssetSource()) {
|
|
10888
|
+
const repeatSize = source === "png" ? SOURCE_TILE_SIZE : VECTOR_RENDER_SIZE;
|
|
10889
|
+
return Math.max(1, Math.floor(cell / repeatSize));
|
|
10890
|
+
}
|
|
10891
|
+
function getPatternScaleAdjustment(cell = getPatternCellSize()) {
|
|
10892
|
+
return SOURCE_TILE_SIZE * getPatternRepeats(cell) / cell;
|
|
10893
|
+
}
|
|
10894
|
+
function getPatternCellPadding(cell) {
|
|
10895
|
+
return Math.max(2, Math.round(cell / 16));
|
|
10896
|
+
}
|
|
10897
|
+
function getPatternAtlasMapping(cell = getPatternCellSize()) {
|
|
10898
|
+
const pad = getPatternCellPadding(cell);
|
|
10899
|
+
const pitch = cell + 2 * pad;
|
|
10900
|
+
const mapping = {};
|
|
10901
|
+
const frame = (col, row) => ({
|
|
10902
|
+
x: pad + col * pitch,
|
|
10903
|
+
y: pad + row * pitch,
|
|
10904
|
+
width: cell,
|
|
10905
|
+
height: cell,
|
|
10906
|
+
mask: true
|
|
10907
|
+
});
|
|
10908
|
+
PATTERN_ROWS.forEach((pattern, row) => {
|
|
10909
|
+
DENSITY_COLUMNS.forEach((density, col) => {
|
|
10910
|
+
mapping[`${pattern}-${density}`] = frame(col, row);
|
|
10911
|
+
});
|
|
10912
|
+
});
|
|
10913
|
+
mapping.none = frame(0, PATTERN_ROWS.length);
|
|
10914
|
+
mapping.solid = frame(1, PATTERN_ROWS.length);
|
|
10915
|
+
return mapping;
|
|
10916
|
+
}
|
|
10917
|
+
function createCanvas(w, h) {
|
|
10918
|
+
if (typeof OffscreenCanvas !== "undefined") return new OffscreenCanvas(w, h);
|
|
10919
|
+
if (typeof document !== "undefined") {
|
|
10920
|
+
const c = document.createElement("canvas");
|
|
10921
|
+
c.width = w;
|
|
10922
|
+
c.height = h;
|
|
10923
|
+
return c;
|
|
10924
|
+
}
|
|
10925
|
+
throw new Error(
|
|
10926
|
+
"carto-api-client: no Canvas available to assemble the pattern atlas"
|
|
10927
|
+
);
|
|
10928
|
+
}
|
|
10929
|
+
async function loadImage(dataUrl) {
|
|
10930
|
+
if (typeof createImageBitmap !== "undefined" && typeof fetch !== "undefined") {
|
|
10931
|
+
const blob = await (await fetch(dataUrl)).blob();
|
|
10932
|
+
return createImageBitmap(blob);
|
|
10933
|
+
}
|
|
10934
|
+
return new Promise((resolve, reject) => {
|
|
10935
|
+
const img = new Image();
|
|
10936
|
+
img.onload = () => resolve(img);
|
|
10937
|
+
img.onerror = reject;
|
|
10938
|
+
img.src = dataUrl;
|
|
10939
|
+
});
|
|
10940
|
+
}
|
|
10941
|
+
function loadSvgImage(dataUrl) {
|
|
10942
|
+
return new Promise((resolve, reject) => {
|
|
10943
|
+
const img = new Image();
|
|
10944
|
+
img.onload = () => resolve(img);
|
|
10945
|
+
img.onerror = reject;
|
|
10946
|
+
img.src = dataUrl;
|
|
10947
|
+
});
|
|
10948
|
+
}
|
|
10949
|
+
var DENSITY_STEP = { small: 1, medium: 2, large: 4 };
|
|
10950
|
+
function paintDesignTile(ctx, key) {
|
|
10951
|
+
const [, name, density] = key.match(/^(.*?)(?:-(small|medium|large))?$/) ?? [];
|
|
10952
|
+
const step = DENSITY_STEP[density ?? ""] ?? 1;
|
|
10953
|
+
const linePeriod = 4 * step;
|
|
10954
|
+
const diagPeriod = 16 * step;
|
|
10955
|
+
const square = 2 * step;
|
|
10956
|
+
ctx.fillStyle = "#000";
|
|
10957
|
+
ctx.strokeStyle = "#000";
|
|
10958
|
+
const diag = (dir) => {
|
|
10959
|
+
ctx.lineWidth = Math.SQRT2;
|
|
10960
|
+
ctx.beginPath();
|
|
10961
|
+
for (let k = -Math.ceil(64 / diagPeriod); k <= 2 * Math.ceil(64 / diagPeriod); k++) {
|
|
10962
|
+
ctx.moveTo(k * diagPeriod - 8 * dir, -8);
|
|
10963
|
+
ctx.lineTo(k * diagPeriod + 72 * dir, 72);
|
|
10964
|
+
}
|
|
10965
|
+
ctx.stroke();
|
|
10966
|
+
};
|
|
10967
|
+
switch (name) {
|
|
10968
|
+
case "solid":
|
|
10969
|
+
ctx.fillRect(0, 0, 64, 64);
|
|
10970
|
+
break;
|
|
10971
|
+
case "hlines":
|
|
10972
|
+
for (let y = 0; y < 64; y += linePeriod) ctx.fillRect(0, y, 64, 2);
|
|
10973
|
+
break;
|
|
10974
|
+
case "vlines":
|
|
10975
|
+
for (let x = 0; x < 64; x += linePeriod) ctx.fillRect(x, 0, 2, 64);
|
|
10976
|
+
break;
|
|
10977
|
+
case "dots":
|
|
10978
|
+
for (let y = 0; y < 64; y += linePeriod)
|
|
10979
|
+
for (let x = 0; x < 64; x += linePeriod) ctx.fillRect(x, y, 2, 2);
|
|
10980
|
+
break;
|
|
10981
|
+
case "checker":
|
|
10982
|
+
for (let j = 0; j * square < 64; j++)
|
|
10983
|
+
for (let i = 0; i * square < 64; i++)
|
|
10984
|
+
if ((i + j) % 2 === 0)
|
|
10985
|
+
ctx.fillRect(i * square, j * square, square, square);
|
|
10986
|
+
break;
|
|
10987
|
+
case "diag-left":
|
|
10988
|
+
diag(1);
|
|
10989
|
+
break;
|
|
10990
|
+
case "diag-right":
|
|
10991
|
+
diag(-1);
|
|
10992
|
+
break;
|
|
10993
|
+
case "cross-hatch":
|
|
10994
|
+
diag(1);
|
|
10995
|
+
diag(-1);
|
|
10996
|
+
break;
|
|
10997
|
+
}
|
|
10998
|
+
}
|
|
10999
|
+
function paintTileCanvas(key, size) {
|
|
11000
|
+
const canvas = createCanvas(size, size);
|
|
11001
|
+
const ctx = canvas.getContext("2d");
|
|
11002
|
+
if (!ctx)
|
|
11003
|
+
throw new Error(
|
|
11004
|
+
"carto-api-client: 2D context unavailable for pattern tile"
|
|
11005
|
+
);
|
|
11006
|
+
ctx.scale(size / 64, size / 64);
|
|
11007
|
+
paintDesignTile(ctx, key);
|
|
11008
|
+
return canvas;
|
|
11009
|
+
}
|
|
11010
|
+
async function composeAtlas(cell, reps, images) {
|
|
11011
|
+
const mapping = getPatternAtlasMapping(cell);
|
|
11012
|
+
const pad = getPatternCellPadding(cell);
|
|
11013
|
+
const pitch = cell + 2 * pad;
|
|
11014
|
+
const step = cell / reps;
|
|
11015
|
+
const canvas = createCanvas(pitch * 3, pitch * (PATTERN_ROWS.length + 1));
|
|
11016
|
+
const ctx = canvas.getContext("2d");
|
|
11017
|
+
if (!ctx)
|
|
11018
|
+
throw new Error(
|
|
11019
|
+
"carto-api-client: 2D context unavailable for pattern atlas"
|
|
11020
|
+
);
|
|
11021
|
+
for (const [key, frame] of Object.entries(mapping)) {
|
|
11022
|
+
const img = images[key];
|
|
11023
|
+
if (!img) continue;
|
|
11024
|
+
ctx.save();
|
|
11025
|
+
ctx.beginPath();
|
|
11026
|
+
ctx.rect(frame.x - pad, frame.y - pad, cell + 2 * pad, cell + 2 * pad);
|
|
11027
|
+
ctx.clip();
|
|
11028
|
+
for (let i = -1; i <= reps; i++) {
|
|
11029
|
+
for (let j = -1; j <= reps; j++) {
|
|
11030
|
+
ctx.drawImage(img, frame.x + i * step, frame.y + j * step, step, step);
|
|
11031
|
+
}
|
|
11032
|
+
}
|
|
11033
|
+
ctx.restore();
|
|
11034
|
+
}
|
|
11035
|
+
if (typeof createImageBitmap !== "undefined")
|
|
11036
|
+
return createImageBitmap(canvas);
|
|
11037
|
+
return canvas;
|
|
11038
|
+
}
|
|
11039
|
+
async function buildPngAtlas(cell) {
|
|
11040
|
+
const images = {};
|
|
11041
|
+
await Promise.all(
|
|
11042
|
+
Object.entries(CELL_URLS).map(async ([key, url]) => {
|
|
11043
|
+
images[key] = await loadImage(url);
|
|
11044
|
+
})
|
|
11045
|
+
);
|
|
11046
|
+
return composeAtlas(cell, getPatternRepeats(cell, "png"), images);
|
|
11047
|
+
}
|
|
11048
|
+
async function buildSvgAtlas(cell) {
|
|
11049
|
+
const images = {};
|
|
11050
|
+
await Promise.all(
|
|
11051
|
+
Object.entries(CELL_SVG_URLS).map(async ([key, url]) => {
|
|
11052
|
+
images[key] = await loadSvgImage(url);
|
|
11053
|
+
})
|
|
11054
|
+
);
|
|
11055
|
+
return composeAtlas(cell, getPatternRepeats(cell, "svg"), images);
|
|
11056
|
+
}
|
|
11057
|
+
async function buildProceduralAtlas(cell) {
|
|
11058
|
+
const reps = getPatternRepeats(cell, "procedural");
|
|
11059
|
+
const step = cell / reps;
|
|
11060
|
+
const images = {};
|
|
11061
|
+
for (const key of Object.keys(CELL_URLS)) {
|
|
11062
|
+
images[key] = paintTileCanvas(key, step);
|
|
11063
|
+
}
|
|
11064
|
+
return composeAtlas(cell, reps, images);
|
|
11065
|
+
}
|
|
11066
|
+
var ATLAS_BUILDERS = {
|
|
11067
|
+
png: buildPngAtlas,
|
|
11068
|
+
svg: buildSvgAtlas,
|
|
11069
|
+
procedural: buildProceduralAtlas
|
|
11070
|
+
};
|
|
11071
|
+
var atlasPromises = /* @__PURE__ */ new Map();
|
|
11072
|
+
function getPatternAtlas(cell = getPatternCellSize()) {
|
|
11073
|
+
const source = getPatternAssetSource();
|
|
11074
|
+
const memoKey = `${source}:${cell}`;
|
|
11075
|
+
let promise = atlasPromises.get(memoKey);
|
|
11076
|
+
if (!promise) {
|
|
11077
|
+
promise = ATLAS_BUILDERS[source](cell);
|
|
11078
|
+
promise.catch(() => {
|
|
11079
|
+
});
|
|
11080
|
+
atlasPromises.set(memoKey, promise);
|
|
11081
|
+
}
|
|
11082
|
+
return promise;
|
|
11083
|
+
}
|
|
11084
|
+
|
|
11085
|
+
// src/fetch-map/parse-map.ts
|
|
10644
11086
|
function getLayerDescriptor({
|
|
10645
11087
|
mapConfig,
|
|
10646
11088
|
layer,
|
|
@@ -10863,6 +11305,10 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
10863
11305
|
const result = {};
|
|
10864
11306
|
const updateTriggers = {};
|
|
10865
11307
|
const scales = {};
|
|
11308
|
+
const isVectorTile = layerType === "mvt" || layerType === "tileset";
|
|
11309
|
+
const geometry = data.tilestats?.layers?.[0]?.geometry;
|
|
11310
|
+
const isLine = geometry === "Line" || geometry === "LineString" || geometry === "MultiLineString";
|
|
11311
|
+
const isPolygon = geometry === "Polygon" || geometry === "MultiPolygon";
|
|
10866
11312
|
{
|
|
10867
11313
|
const { colorField, colorScale } = visualChannels;
|
|
10868
11314
|
const { colorRange } = visConfig;
|
|
@@ -11023,6 +11469,84 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
11023
11469
|
};
|
|
11024
11470
|
}
|
|
11025
11471
|
}
|
|
11472
|
+
{
|
|
11473
|
+
const strokeVisible = isLine || isPolygon && Boolean(visConfig.stroked);
|
|
11474
|
+
if (isVectorTile && strokeVisible) {
|
|
11475
|
+
const { lineStyleField, lineStyleScale } = visualChannels;
|
|
11476
|
+
const { lineStyleRange } = visConfig;
|
|
11477
|
+
if (visConfig.lineStyle && visConfig.lineStyle !== "solid") {
|
|
11478
|
+
if (visConfig.lineStyle === "dotted") {
|
|
11479
|
+
result.lineCapRounded = true;
|
|
11480
|
+
}
|
|
11481
|
+
result.lineStyle = visConfig.lineStyle;
|
|
11482
|
+
if (visConfig.dashArray) {
|
|
11483
|
+
result.dashArray = visConfig.dashArray;
|
|
11484
|
+
result.getDashArray = visConfig.dashArray;
|
|
11485
|
+
}
|
|
11486
|
+
}
|
|
11487
|
+
if (lineStyleField && lineStyleScale && lineStyleRange) {
|
|
11488
|
+
const { accessor, ...scaleProps } = getLineStyleAccessor(
|
|
11489
|
+
lineStyleField,
|
|
11490
|
+
lineStyleRange,
|
|
11491
|
+
data
|
|
11492
|
+
);
|
|
11493
|
+
result.getDashArray = accessor;
|
|
11494
|
+
scales.lineStyle = updateTriggers.getDashArray = {
|
|
11495
|
+
field: lineStyleField,
|
|
11496
|
+
type: lineStyleScale,
|
|
11497
|
+
...scaleProps
|
|
11498
|
+
};
|
|
11499
|
+
const dashArrays = [
|
|
11500
|
+
...lineStyleRange.dashArrayMap.map(({ dashArray }) => dashArray),
|
|
11501
|
+
...lineStyleRange.othersDashArray ? [lineStyleRange.othersDashArray] : []
|
|
11502
|
+
];
|
|
11503
|
+
if (dashArrays.some(([dash]) => dash === 0)) {
|
|
11504
|
+
result.lineCapRounded = true;
|
|
11505
|
+
}
|
|
11506
|
+
}
|
|
11507
|
+
}
|
|
11508
|
+
}
|
|
11509
|
+
{
|
|
11510
|
+
const fillPatternEnabled = Boolean(
|
|
11511
|
+
visConfig.filled && visConfig.fillPatternEnabled
|
|
11512
|
+
);
|
|
11513
|
+
result.fillPatternEnabled = fillPatternEnabled;
|
|
11514
|
+
if (visConfig.filled) {
|
|
11515
|
+
result.fillPatternAtlas = getPatternAtlas();
|
|
11516
|
+
result.fillPatternMapping = getPatternAtlasMapping();
|
|
11517
|
+
result.fillPatternMask = true;
|
|
11518
|
+
const textureParameters = getPatternTextureParameters();
|
|
11519
|
+
if (textureParameters) {
|
|
11520
|
+
result.textureParameters = textureParameters;
|
|
11521
|
+
}
|
|
11522
|
+
result.getFillPatternScale = (visConfig.fillPatternSize ?? 1) * getPatternScaleAdjustment();
|
|
11523
|
+
const { fillPatternField, fillPatternScale } = visualChannels;
|
|
11524
|
+
const { fillPatternRange, fillPatternDensity } = visConfig;
|
|
11525
|
+
if (!fillPatternEnabled) {
|
|
11526
|
+
result.getFillPattern = () => "solid";
|
|
11527
|
+
updateTriggers.getFillPattern = "solid";
|
|
11528
|
+
} else if (fillPatternField && fillPatternScale && fillPatternRange) {
|
|
11529
|
+
result.fillPattern = visConfig.fillPattern;
|
|
11530
|
+
const { accessor, ...scaleProps } = getFillPatternAccessor(
|
|
11531
|
+
fillPatternField,
|
|
11532
|
+
fillPatternRange,
|
|
11533
|
+
fillPatternDensity,
|
|
11534
|
+
data
|
|
11535
|
+
);
|
|
11536
|
+
result.getFillPattern = accessor;
|
|
11537
|
+
scales.fillPattern = updateTriggers.getFillPattern = {
|
|
11538
|
+
field: fillPatternField,
|
|
11539
|
+
type: fillPatternScale,
|
|
11540
|
+
...scaleProps
|
|
11541
|
+
};
|
|
11542
|
+
} else {
|
|
11543
|
+
result.fillPattern = visConfig.fillPattern;
|
|
11544
|
+
const key = `${visConfig.fillPattern}-${fillPatternDensity ?? "medium"}`;
|
|
11545
|
+
result.getFillPattern = () => key;
|
|
11546
|
+
updateTriggers.getFillPattern = key;
|
|
11547
|
+
}
|
|
11548
|
+
}
|
|
11549
|
+
}
|
|
11026
11550
|
{
|
|
11027
11551
|
const { heightField, heightScale } = visualChannels;
|
|
11028
11552
|
const { enable3d, heightRange } = visConfig;
|
|
@@ -11151,9 +11675,7 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
11151
11675
|
} = secondaryLabel || {};
|
|
11152
11676
|
result.getText = mainLabel.field && getTextAccessor(mainLabel.field, data);
|
|
11153
11677
|
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")) {
|
|
11678
|
+
if ((isLine || isPolygon) && isVectorTile) {
|
|
11157
11679
|
const uniqueIdProperty = visConfig.textLabelUniqueIdField;
|
|
11158
11680
|
result.autoLabels = uniqueIdProperty ? { uniqueIdProperty } : true;
|
|
11159
11681
|
result.pointType = "text";
|
|
@@ -11935,10 +12457,12 @@ function hashBuckets(initialCount) {
|
|
|
11935
12457
|
getColumnNameFromGeoColumn,
|
|
11936
12458
|
getDataFilterExtensionProps,
|
|
11937
12459
|
getDefaultAggregationExpColumnAliasForLayerType,
|
|
12460
|
+
getFillPatternAccessor,
|
|
11938
12461
|
getFilter,
|
|
11939
12462
|
getIconUrlAccessor,
|
|
11940
12463
|
getLayerDescriptor,
|
|
11941
12464
|
getLayerProps,
|
|
12465
|
+
getLineStyleAccessor,
|
|
11942
12466
|
getMaxMarkerSize,
|
|
11943
12467
|
getSizeAccessor,
|
|
11944
12468
|
getSorter,
|