@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/build/api-client.js
CHANGED
|
@@ -9796,6 +9796,34 @@ function getIconUrlAccessor(field, range, {
|
|
|
9796
9796
|
};
|
|
9797
9797
|
return normalizeAccessor(accessor, data);
|
|
9798
9798
|
}
|
|
9799
|
+
function getLineStyleAccessor(field, range, data) {
|
|
9800
|
+
const fallback = range.othersDashArray ?? [0, 0];
|
|
9801
|
+
const mapping = {};
|
|
9802
|
+
for (const { value, dashArray } of range.dashArrayMap) {
|
|
9803
|
+
mapping[value] = dashArray;
|
|
9804
|
+
}
|
|
9805
|
+
const accessor = (properties) => mapping[properties[field.name]] ?? fallback;
|
|
9806
|
+
return {
|
|
9807
|
+
accessor: normalizeAccessor(accessor, data),
|
|
9808
|
+
domain: range.dashArrayMap.map(({ value }) => value),
|
|
9809
|
+
range: range.dashArrayMap.map(({ dashArray }) => dashArray)
|
|
9810
|
+
};
|
|
9811
|
+
}
|
|
9812
|
+
function getFillPatternAccessor(field, range, density, data) {
|
|
9813
|
+
const d = density ?? "medium";
|
|
9814
|
+
const toKey = (pattern) => pattern === "solid" || pattern === "none" ? pattern : `${pattern}-${d}`;
|
|
9815
|
+
const fallback = toKey(range.othersPattern ?? "none");
|
|
9816
|
+
const mapping = {};
|
|
9817
|
+
for (const { value, pattern } of range.patternMap) {
|
|
9818
|
+
mapping[value] = toKey(pattern);
|
|
9819
|
+
}
|
|
9820
|
+
const accessor = (properties) => mapping[properties[field.name]] ?? fallback;
|
|
9821
|
+
return {
|
|
9822
|
+
accessor: normalizeAccessor(accessor, data),
|
|
9823
|
+
domain: range.patternMap.map(({ value }) => value),
|
|
9824
|
+
range: range.patternMap.map(({ pattern }) => pattern)
|
|
9825
|
+
};
|
|
9826
|
+
}
|
|
9799
9827
|
function getMaxMarkerSize(visConfig, visualChannels) {
|
|
9800
9828
|
const { radiusRange, radius, sizeMaxPixels } = visConfig;
|
|
9801
9829
|
const { radiusField, sizeField } = visualChannels;
|
|
@@ -10282,6 +10310,413 @@ function hexToRGB2(hexColor) {
|
|
|
10282
10310
|
return [r, g, b];
|
|
10283
10311
|
}
|
|
10284
10312
|
|
|
10313
|
+
// src/fetch-map/patterns/hlines-large.png
|
|
10314
|
+
var hlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABBSURBVHic7dixAQAgDMOwwP8/wxfNUOkCz04AYK2T5LUjmm47AAAAAOb5Ae0AAAAAmOcHtAMAAABgnh/QDgAAaj69GwQJx6ek3QAAAABJRU5ErkJggg==";
|
|
10315
|
+
|
|
10316
|
+
// src/fetch-map/patterns/hlines-medium.png
|
|
10317
|
+
var hlines_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABOSURBVHic7daxAQAgDMOwwv8/wxkeKl3gLTkz8wYAVjrbZ/DWAQDQ8QPqAADo+AF1AAB0/IA6AAA6fkAdAAAdP6AOAICOH1AHAEBn/Q/4F6kJD4qx2asAAAAASUVORK5CYII=";
|
|
10318
|
+
|
|
10319
|
+
// src/fetch-map/patterns/hlines-small.png
|
|
10320
|
+
var hlines_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABrSURBVHic7dSxAQAgDMOwwv8/wxkeKl3gJTkz8wbWOtsncOsAaPmAOgBaPqAOgJYPqAOg5QPqAGj5gDoAWj6gDoCWD6gDoOUD6gBo+YA6AFo+oA6Alg+oA6DlA+oAaPmAOgBaPqAOgNb6D/gRbhEfmYiEGgAAAABJRU5ErkJggg==";
|
|
10321
|
+
|
|
10322
|
+
// src/fetch-map/patterns/vlines-large.png
|
|
10323
|
+
var vlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACkSURBVHic7dAxCsAwEMRAk///2W5Sp7CLMUGCK28RGuOb+d4u1/8/B+O/oABaQFMALaApgBbQFEALaAqgBTQF0AKaAmgBTQG0gKYAWkBTAC2gKYAW0BRAC2gKoAU0BdACmgJoAU0BtICmAFpAUwAtoCmAFtAUQAtoCqAFNAXQApoCaAFNAbSApgBaQFMALaApgBbQFEALaAqgBTQF0AKaAmgBzQIgxAh3o/Zl8AAAAABJRU5ErkJggg==";
|
|
10324
|
+
|
|
10325
|
+
// src/fetch-map/patterns/vlines-medium.png
|
|
10326
|
+
var vlines_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACfSURBVHic7dCxDYBQAITQi/vv/J1A25cotDSEbTt75nzdXy/yFzRAB2gaoAM0DdABmgboAE0DdICmATpA0wAdoGmADtA0QAdoGqADNA3QAZoG6ABNA3SApgE6QNMAHaBpgA7QNEAHaBqgAzQN0AGaBugATQN0gKYBOkDTAB2gaYAO0DRAB2gaoAM0DdABmgboAE0DdICmATpA0wAdoLkBMJgQb6A8qDAAAAAASUVORK5CYII=";
|
|
10327
|
+
|
|
10328
|
+
// src/fetch-map/patterns/vlines-small.png
|
|
10329
|
+
var vlines_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACcSURBVHic7dCxDcAwAMMwo///nIw9gUPEzZuhbTv7ndf2t8cVQB/QCqAPaAXQB7QC6ANaAfQBrQD6gFYAfUArgD6gFUAf0AqgD2gF0Ae0AugDWgH0Aa0A+oBWAH1AK4A+oBVAH9AKoA9oBdAHtALoA1oB9AGtAPqAVgB9QCuAPqAVQB/QCqAPaAXQB7QC6ANaAfQBrQD6gFYAfUC7UEAgXxU1dpkAAAAASUVORK5CYII=";
|
|
10330
|
+
|
|
10331
|
+
// src/fetch-map/patterns/diag-left-large.png
|
|
10332
|
+
var diag_left_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACtSURBVHic7dkxCsMwEETRuf/lfKSkmBCiflUseR/cDuYhN3KSvD7PVM+FzfxsPsOb3+F/RTiGIUCAACEQzmEIECBACIRzGAIECBAC4RyGAGEpwvQd2zaE8eOwDeHKN7EJIYHQIEBoECA0CBAaBAgNAoQGAUKDAKFBgNAgbEWYltiGcOU4bEJY9QfmBkICoUGA0CBAaBAgNAgQGgQIDQKEBgFCgwChrUWYfOF1CG/KcyXf7pwUyQAAAABJRU5ErkJggg==";
|
|
10333
|
+
|
|
10334
|
+
// src/fetch-map/patterns/diag-left-medium.png
|
|
10335
|
+
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==";
|
|
10336
|
+
|
|
10337
|
+
// src/fetch-map/patterns/diag-left-small.png
|
|
10338
|
+
var diag_left_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAADqSURBVHic7dgxCsMwAARB/f9zflLS2JDC/U7gDG4EA4s63TnnfO7/+a6Xs/Nzdr2c/bMnIkpPRNSeiMg8ERF6IqL0RETpiYjaExG1JyIST0SEnogoPRFReiKi9kRE5omI0BMRpSciSk9E1J6IyDwREXoiYnvAXoG7hNwTEYknIkJPRJSeiCg9EVF7ImJ7wPaAxhMRpSciak9EZJ6ICD0RsT1gr8BdQu6JiMQTEaEnIkpPRJSeiKg9EbE9YHtA44mI0hMRtSciMk9EhJ6I2B6wV+AuIfdEROKJiNATEaUnIkpPRNSeiNgeUPgvaSqXeT0fItoAAAAASUVORK5CYII=";
|
|
10339
|
+
|
|
10340
|
+
// src/fetch-map/patterns/diag-right-large.png
|
|
10341
|
+
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=";
|
|
10342
|
+
|
|
10343
|
+
// src/fetch-map/patterns/diag-right-medium.png
|
|
10344
|
+
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";
|
|
10345
|
+
|
|
10346
|
+
// src/fetch-map/patterns/diag-right-small.png
|
|
10347
|
+
var diag_right_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAADbSURBVHic7dgxCsNAEMXQuf/lfCSnCdiFqx01AqXLwgP90jMzc8/zu/7/32/zers+3uxeHY95dXzjd14dT3h1POHV8ahXxze+8cdeHU94dTzh1fGYV8c3fufV8YRXxxNeHY95dXzjd14d3z0A8Op41KvjG9/47gGnXh1PeHV8n8SN33t1POHV8YRXx2NeHd/4nVfHdw8AvDoe9er4xje+e8CpV8cTXh3fJ3Hj914dT3h1POHV8ZhXxzd+59Xx3QMAr45HvTq+8Y3vHnDq1fGEV8f3Sdz4vVfHr/0PaSqXeV716iAAAAAASUVORK5CYII=";
|
|
10348
|
+
|
|
10349
|
+
// src/fetch-map/patterns/cross-hatch-large.png
|
|
10350
|
+
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=";
|
|
10351
|
+
|
|
10352
|
+
// src/fetch-map/patterns/cross-hatch-medium.png
|
|
10353
|
+
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";
|
|
10354
|
+
|
|
10355
|
+
// src/fetch-map/patterns/cross-hatch-small.png
|
|
10356
|
+
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";
|
|
10357
|
+
|
|
10358
|
+
// src/fetch-map/patterns/dots-large.png
|
|
10359
|
+
var dots_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABJSURBVHic7dixEQAgDAMxH/vvDDskBReQ+h/ATpKduv1ADwAAwJduz9Gr/WrEAAAAMNjoPe8PAAAAgJLRe94fAAAAACWj93y3PwvzJ98DYTY6AAAAAElFTkSuQmCC";
|
|
10360
|
+
|
|
10361
|
+
// src/fetch-map/patterns/dots-medium.png
|
|
10362
|
+
var dots_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABdSURBVHic7daxDcBADAMxI/vv/Jkg6YQXYLLVAKeZmTPfzoIdgNVuZ+jq/vyMALBAdaf9AACIqu60HwAAUdWd9gMAIKq6034AAERVd9oPAICo6k77AQAQVd3p9P4CKgaPf9S3g48AAAAASUVORK5CYII=";
|
|
10363
|
+
|
|
10364
|
+
// src/fetch-map/patterns/dots-small.png
|
|
10365
|
+
var dots_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAB8SURBVHic7dSxDQAxDAMx4/ffOSl/A0WAyc69TzMzZ35n4c16r1/w6f0NrFfVpA2AuKombQDEVTVpAyCuqkkbAHFVTdoAiKtq0gZAXFWTNgDiqpq0ARBX1aQNgLiqJm0AxFU1aQMgrqpJGwBxVU3aAIiratIGQFxVk+n7ApyMHh3vKZDHAAAAAElFTkSuQmCC";
|
|
10366
|
+
|
|
10367
|
+
// src/fetch-map/patterns/checker-large.png
|
|
10368
|
+
var checker_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAC7SURBVHic7dhRCsJQEMXQV/e/57oD56scHZPfciGEFnGuc859PnMNz396/xrG6ymAFtBM39fR3+jT+79/AwqgBTQF0AKaAmgBzfXtv9P9F3iYAmgBTQG0gKYAWkDTPWAYr6cAWkBTAC2gKYAW0HQPGMbrKYAW0BRAC2gKoAU03QOG8XoKoAU0BdACmgJoAU33gGG8ngJoAU0BtICmAFpA0z1gGK+nAFpAUwAtoCmAFtB0DxjG6ymAFtC8AfltJHRjA+VQAAAAAElFTkSuQmCC";
|
|
10369
|
+
|
|
10370
|
+
// src/fetch-map/patterns/checker-medium.png
|
|
10371
|
+
var checker_medium_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACpSURBVHic7dYxDoNAAAPBvfz/z6EOD2AjvNOhayzDCR/gy69ze371+Ydx97aw38jT5/NfQAXYAWzn3+5kf4GHVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGVYAdwNYOYFwF2AFs7QDGXajSiGiQ1/fcAAAAAElFTkSuQmCC";
|
|
10372
|
+
|
|
10373
|
+
// src/fetch-map/patterns/checker-small.png
|
|
10374
|
+
var checker_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACgSURBVHic7dRBCoNQFEPR1P3vuZ1UEBcQAv8ccPB0am6SfP/P7aj78/rwfHfEfYWtX7J9H/8HaEDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjapAaUaUDY2qQGlGlA2NqkBpRpQNjaZPv+AQpgHkxA3R9BAAAAAElFTkSuQmCC";
|
|
10375
|
+
|
|
10376
|
+
// src/fetch-map/patterns/solid.png
|
|
10377
|
+
var solid_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACWSURBVHic7dBBEcAwAMOwrPw5dzD0qIXA52/b3cOODtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QPsBULQBfwAqZPkAAAAASUVORK5CYII=";
|
|
10378
|
+
|
|
10379
|
+
// src/fetch-map/patterns/hlines-large.svg
|
|
10380
|
+
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';
|
|
10381
|
+
|
|
10382
|
+
// src/fetch-map/patterns/hlines-medium.svg
|
|
10383
|
+
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';
|
|
10384
|
+
|
|
10385
|
+
// src/fetch-map/patterns/hlines-small.svg
|
|
10386
|
+
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';
|
|
10387
|
+
|
|
10388
|
+
// src/fetch-map/patterns/vlines-large.svg
|
|
10389
|
+
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';
|
|
10390
|
+
|
|
10391
|
+
// src/fetch-map/patterns/vlines-medium.svg
|
|
10392
|
+
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';
|
|
10393
|
+
|
|
10394
|
+
// src/fetch-map/patterns/vlines-small.svg
|
|
10395
|
+
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';
|
|
10396
|
+
|
|
10397
|
+
// src/fetch-map/patterns/diag-left-large.svg
|
|
10398
|
+
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';
|
|
10399
|
+
|
|
10400
|
+
// src/fetch-map/patterns/diag-left-medium.svg
|
|
10401
|
+
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';
|
|
10402
|
+
|
|
10403
|
+
// src/fetch-map/patterns/diag-left-small.svg
|
|
10404
|
+
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';
|
|
10405
|
+
|
|
10406
|
+
// src/fetch-map/patterns/diag-right-large.svg
|
|
10407
|
+
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';
|
|
10408
|
+
|
|
10409
|
+
// src/fetch-map/patterns/diag-right-medium.svg
|
|
10410
|
+
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';
|
|
10411
|
+
|
|
10412
|
+
// src/fetch-map/patterns/diag-right-small.svg
|
|
10413
|
+
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';
|
|
10414
|
+
|
|
10415
|
+
// src/fetch-map/patterns/cross-hatch-large.svg
|
|
10416
|
+
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';
|
|
10417
|
+
|
|
10418
|
+
// src/fetch-map/patterns/cross-hatch-medium.svg
|
|
10419
|
+
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';
|
|
10420
|
+
|
|
10421
|
+
// src/fetch-map/patterns/cross-hatch-small.svg
|
|
10422
|
+
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';
|
|
10423
|
+
|
|
10424
|
+
// src/fetch-map/patterns/dots-large.svg
|
|
10425
|
+
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';
|
|
10426
|
+
|
|
10427
|
+
// src/fetch-map/patterns/dots-medium.svg
|
|
10428
|
+
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';
|
|
10429
|
+
|
|
10430
|
+
// src/fetch-map/patterns/dots-small.svg
|
|
10431
|
+
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';
|
|
10432
|
+
|
|
10433
|
+
// src/fetch-map/patterns/checker-large.svg
|
|
10434
|
+
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';
|
|
10435
|
+
|
|
10436
|
+
// src/fetch-map/patterns/checker-medium.svg
|
|
10437
|
+
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';
|
|
10438
|
+
|
|
10439
|
+
// src/fetch-map/patterns/checker-small.svg
|
|
10440
|
+
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';
|
|
10441
|
+
|
|
10442
|
+
// src/fetch-map/patterns/solid.svg
|
|
10443
|
+
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';
|
|
10444
|
+
|
|
10445
|
+
// src/fetch-map/pattern-atlas.ts
|
|
10446
|
+
var DEFAULT_CELL_SIZE = 128;
|
|
10447
|
+
var SOURCE_TILE_SIZE = 64;
|
|
10448
|
+
var VECTOR_RENDER_SIZE = 128;
|
|
10449
|
+
var PATTERN_ROWS = [
|
|
10450
|
+
"hlines",
|
|
10451
|
+
"vlines",
|
|
10452
|
+
"diag-left",
|
|
10453
|
+
"diag-right",
|
|
10454
|
+
"cross-hatch",
|
|
10455
|
+
"dots",
|
|
10456
|
+
"checker"
|
|
10457
|
+
];
|
|
10458
|
+
var DENSITY_COLUMNS = ["large", "medium", "small"];
|
|
10459
|
+
var CELL_URLS = {
|
|
10460
|
+
"hlines-large": hlines_large_default,
|
|
10461
|
+
"hlines-medium": hlines_medium_default,
|
|
10462
|
+
"hlines-small": hlines_small_default,
|
|
10463
|
+
"vlines-large": vlines_large_default,
|
|
10464
|
+
"vlines-medium": vlines_medium_default,
|
|
10465
|
+
"vlines-small": vlines_small_default,
|
|
10466
|
+
"diag-left-large": diag_left_large_default,
|
|
10467
|
+
"diag-left-medium": diag_left_medium_default,
|
|
10468
|
+
"diag-left-small": diag_left_small_default,
|
|
10469
|
+
"diag-right-large": diag_right_large_default,
|
|
10470
|
+
"diag-right-medium": diag_right_medium_default,
|
|
10471
|
+
"diag-right-small": diag_right_small_default,
|
|
10472
|
+
"cross-hatch-large": cross_hatch_large_default,
|
|
10473
|
+
"cross-hatch-medium": cross_hatch_medium_default,
|
|
10474
|
+
"cross-hatch-small": cross_hatch_small_default,
|
|
10475
|
+
"dots-large": dots_large_default,
|
|
10476
|
+
"dots-medium": dots_medium_default,
|
|
10477
|
+
"dots-small": dots_small_default,
|
|
10478
|
+
"checker-large": checker_large_default,
|
|
10479
|
+
"checker-medium": checker_medium_default,
|
|
10480
|
+
"checker-small": checker_small_default,
|
|
10481
|
+
solid: solid_default
|
|
10482
|
+
};
|
|
10483
|
+
var CELL_SVG_URLS = {
|
|
10484
|
+
"hlines-large": hlines_large_default2,
|
|
10485
|
+
"hlines-medium": hlines_medium_default2,
|
|
10486
|
+
"hlines-small": hlines_small_default2,
|
|
10487
|
+
"vlines-large": vlines_large_default2,
|
|
10488
|
+
"vlines-medium": vlines_medium_default2,
|
|
10489
|
+
"vlines-small": vlines_small_default2,
|
|
10490
|
+
"diag-left-large": diag_left_large_default2,
|
|
10491
|
+
"diag-left-medium": diag_left_medium_default2,
|
|
10492
|
+
"diag-left-small": diag_left_small_default2,
|
|
10493
|
+
"diag-right-large": diag_right_large_default2,
|
|
10494
|
+
"diag-right-medium": diag_right_medium_default2,
|
|
10495
|
+
"diag-right-small": diag_right_small_default2,
|
|
10496
|
+
"cross-hatch-large": cross_hatch_large_default2,
|
|
10497
|
+
"cross-hatch-medium": cross_hatch_medium_default2,
|
|
10498
|
+
"cross-hatch-small": cross_hatch_small_default2,
|
|
10499
|
+
"dots-large": dots_large_default2,
|
|
10500
|
+
"dots-medium": dots_medium_default2,
|
|
10501
|
+
"dots-small": dots_small_default2,
|
|
10502
|
+
"checker-large": checker_large_default2,
|
|
10503
|
+
"checker-medium": checker_medium_default2,
|
|
10504
|
+
"checker-small": checker_small_default2,
|
|
10505
|
+
solid: solid_default2
|
|
10506
|
+
};
|
|
10507
|
+
function debugGlobals() {
|
|
10508
|
+
return globalThis;
|
|
10509
|
+
}
|
|
10510
|
+
function getPatternCellSize() {
|
|
10511
|
+
const cell = debugGlobals().__CARTO_PATTERN_CELL_SIZE__;
|
|
10512
|
+
return typeof cell === "number" && cell > 0 ? cell : DEFAULT_CELL_SIZE;
|
|
10513
|
+
}
|
|
10514
|
+
function getPatternAssetSource() {
|
|
10515
|
+
const source = debugGlobals().__CARTO_PATTERN_ASSET_SOURCE__;
|
|
10516
|
+
return source === "svg" || source === "procedural" ? source : "png";
|
|
10517
|
+
}
|
|
10518
|
+
function getPatternTextureParameters() {
|
|
10519
|
+
const params = debugGlobals().__CARTO_PATTERN_TEXTURE_PARAMS__;
|
|
10520
|
+
return params && typeof params === "object" ? params : void 0;
|
|
10521
|
+
}
|
|
10522
|
+
function getPatternRepeats(cell, source = getPatternAssetSource()) {
|
|
10523
|
+
const repeatSize = source === "png" ? SOURCE_TILE_SIZE : VECTOR_RENDER_SIZE;
|
|
10524
|
+
return Math.max(1, Math.floor(cell / repeatSize));
|
|
10525
|
+
}
|
|
10526
|
+
function getPatternScaleAdjustment(cell = getPatternCellSize()) {
|
|
10527
|
+
return SOURCE_TILE_SIZE * getPatternRepeats(cell) / cell;
|
|
10528
|
+
}
|
|
10529
|
+
function getPatternCellPadding(cell) {
|
|
10530
|
+
return Math.max(2, Math.round(cell / 16));
|
|
10531
|
+
}
|
|
10532
|
+
function getPatternAtlasMapping(cell = getPatternCellSize()) {
|
|
10533
|
+
const pad = getPatternCellPadding(cell);
|
|
10534
|
+
const pitch = cell + 2 * pad;
|
|
10535
|
+
const mapping = {};
|
|
10536
|
+
const frame = (col, row) => ({
|
|
10537
|
+
x: pad + col * pitch,
|
|
10538
|
+
y: pad + row * pitch,
|
|
10539
|
+
width: cell,
|
|
10540
|
+
height: cell,
|
|
10541
|
+
mask: true
|
|
10542
|
+
});
|
|
10543
|
+
PATTERN_ROWS.forEach((pattern, row) => {
|
|
10544
|
+
DENSITY_COLUMNS.forEach((density, col) => {
|
|
10545
|
+
mapping[`${pattern}-${density}`] = frame(col, row);
|
|
10546
|
+
});
|
|
10547
|
+
});
|
|
10548
|
+
mapping.none = frame(0, PATTERN_ROWS.length);
|
|
10549
|
+
mapping.solid = frame(1, PATTERN_ROWS.length);
|
|
10550
|
+
return mapping;
|
|
10551
|
+
}
|
|
10552
|
+
function createCanvas(w, h) {
|
|
10553
|
+
if (typeof OffscreenCanvas !== "undefined") return new OffscreenCanvas(w, h);
|
|
10554
|
+
if (typeof document !== "undefined") {
|
|
10555
|
+
const c = document.createElement("canvas");
|
|
10556
|
+
c.width = w;
|
|
10557
|
+
c.height = h;
|
|
10558
|
+
return c;
|
|
10559
|
+
}
|
|
10560
|
+
throw new Error(
|
|
10561
|
+
"carto-api-client: no Canvas available to assemble the pattern atlas"
|
|
10562
|
+
);
|
|
10563
|
+
}
|
|
10564
|
+
async function loadImage(dataUrl) {
|
|
10565
|
+
if (typeof createImageBitmap !== "undefined" && typeof fetch !== "undefined") {
|
|
10566
|
+
const blob = await (await fetch(dataUrl)).blob();
|
|
10567
|
+
return createImageBitmap(blob);
|
|
10568
|
+
}
|
|
10569
|
+
return new Promise((resolve, reject) => {
|
|
10570
|
+
const img = new Image();
|
|
10571
|
+
img.onload = () => resolve(img);
|
|
10572
|
+
img.onerror = reject;
|
|
10573
|
+
img.src = dataUrl;
|
|
10574
|
+
});
|
|
10575
|
+
}
|
|
10576
|
+
function loadSvgImage(dataUrl) {
|
|
10577
|
+
return new Promise((resolve, reject) => {
|
|
10578
|
+
const img = new Image();
|
|
10579
|
+
img.onload = () => resolve(img);
|
|
10580
|
+
img.onerror = reject;
|
|
10581
|
+
img.src = dataUrl;
|
|
10582
|
+
});
|
|
10583
|
+
}
|
|
10584
|
+
var DENSITY_STEP = { small: 1, medium: 2, large: 4 };
|
|
10585
|
+
function paintDesignTile(ctx, key) {
|
|
10586
|
+
const [, name, density] = key.match(/^(.*?)(?:-(small|medium|large))?$/) ?? [];
|
|
10587
|
+
const step = DENSITY_STEP[density ?? ""] ?? 1;
|
|
10588
|
+
const linePeriod = 4 * step;
|
|
10589
|
+
const diagPeriod = 16 * step;
|
|
10590
|
+
const square = 2 * step;
|
|
10591
|
+
ctx.fillStyle = "#000";
|
|
10592
|
+
ctx.strokeStyle = "#000";
|
|
10593
|
+
const diag = (dir) => {
|
|
10594
|
+
ctx.lineWidth = Math.SQRT2;
|
|
10595
|
+
ctx.beginPath();
|
|
10596
|
+
for (let k = -Math.ceil(64 / diagPeriod); k <= 2 * Math.ceil(64 / diagPeriod); k++) {
|
|
10597
|
+
ctx.moveTo(k * diagPeriod - 8 * dir, -8);
|
|
10598
|
+
ctx.lineTo(k * diagPeriod + 72 * dir, 72);
|
|
10599
|
+
}
|
|
10600
|
+
ctx.stroke();
|
|
10601
|
+
};
|
|
10602
|
+
switch (name) {
|
|
10603
|
+
case "solid":
|
|
10604
|
+
ctx.fillRect(0, 0, 64, 64);
|
|
10605
|
+
break;
|
|
10606
|
+
case "hlines":
|
|
10607
|
+
for (let y = 0; y < 64; y += linePeriod) ctx.fillRect(0, y, 64, 2);
|
|
10608
|
+
break;
|
|
10609
|
+
case "vlines":
|
|
10610
|
+
for (let x = 0; x < 64; x += linePeriod) ctx.fillRect(x, 0, 2, 64);
|
|
10611
|
+
break;
|
|
10612
|
+
case "dots":
|
|
10613
|
+
for (let y = 0; y < 64; y += linePeriod)
|
|
10614
|
+
for (let x = 0; x < 64; x += linePeriod) ctx.fillRect(x, y, 2, 2);
|
|
10615
|
+
break;
|
|
10616
|
+
case "checker":
|
|
10617
|
+
for (let j = 0; j * square < 64; j++)
|
|
10618
|
+
for (let i = 0; i * square < 64; i++)
|
|
10619
|
+
if ((i + j) % 2 === 0)
|
|
10620
|
+
ctx.fillRect(i * square, j * square, square, square);
|
|
10621
|
+
break;
|
|
10622
|
+
case "diag-left":
|
|
10623
|
+
diag(1);
|
|
10624
|
+
break;
|
|
10625
|
+
case "diag-right":
|
|
10626
|
+
diag(-1);
|
|
10627
|
+
break;
|
|
10628
|
+
case "cross-hatch":
|
|
10629
|
+
diag(1);
|
|
10630
|
+
diag(-1);
|
|
10631
|
+
break;
|
|
10632
|
+
}
|
|
10633
|
+
}
|
|
10634
|
+
function paintTileCanvas(key, size) {
|
|
10635
|
+
const canvas = createCanvas(size, size);
|
|
10636
|
+
const ctx = canvas.getContext("2d");
|
|
10637
|
+
if (!ctx)
|
|
10638
|
+
throw new Error(
|
|
10639
|
+
"carto-api-client: 2D context unavailable for pattern tile"
|
|
10640
|
+
);
|
|
10641
|
+
ctx.scale(size / 64, size / 64);
|
|
10642
|
+
paintDesignTile(ctx, key);
|
|
10643
|
+
return canvas;
|
|
10644
|
+
}
|
|
10645
|
+
async function composeAtlas(cell, reps, images) {
|
|
10646
|
+
const mapping = getPatternAtlasMapping(cell);
|
|
10647
|
+
const pad = getPatternCellPadding(cell);
|
|
10648
|
+
const pitch = cell + 2 * pad;
|
|
10649
|
+
const step = cell / reps;
|
|
10650
|
+
const canvas = createCanvas(pitch * 3, pitch * (PATTERN_ROWS.length + 1));
|
|
10651
|
+
const ctx = canvas.getContext("2d");
|
|
10652
|
+
if (!ctx)
|
|
10653
|
+
throw new Error(
|
|
10654
|
+
"carto-api-client: 2D context unavailable for pattern atlas"
|
|
10655
|
+
);
|
|
10656
|
+
for (const [key, frame] of Object.entries(mapping)) {
|
|
10657
|
+
const img = images[key];
|
|
10658
|
+
if (!img) continue;
|
|
10659
|
+
ctx.save();
|
|
10660
|
+
ctx.beginPath();
|
|
10661
|
+
ctx.rect(frame.x - pad, frame.y - pad, cell + 2 * pad, cell + 2 * pad);
|
|
10662
|
+
ctx.clip();
|
|
10663
|
+
for (let i = -1; i <= reps; i++) {
|
|
10664
|
+
for (let j = -1; j <= reps; j++) {
|
|
10665
|
+
ctx.drawImage(img, frame.x + i * step, frame.y + j * step, step, step);
|
|
10666
|
+
}
|
|
10667
|
+
}
|
|
10668
|
+
ctx.restore();
|
|
10669
|
+
}
|
|
10670
|
+
if (typeof createImageBitmap !== "undefined")
|
|
10671
|
+
return createImageBitmap(canvas);
|
|
10672
|
+
return canvas;
|
|
10673
|
+
}
|
|
10674
|
+
async function buildPngAtlas(cell) {
|
|
10675
|
+
const images = {};
|
|
10676
|
+
await Promise.all(
|
|
10677
|
+
Object.entries(CELL_URLS).map(async ([key, url]) => {
|
|
10678
|
+
images[key] = await loadImage(url);
|
|
10679
|
+
})
|
|
10680
|
+
);
|
|
10681
|
+
return composeAtlas(cell, getPatternRepeats(cell, "png"), images);
|
|
10682
|
+
}
|
|
10683
|
+
async function buildSvgAtlas(cell) {
|
|
10684
|
+
const images = {};
|
|
10685
|
+
await Promise.all(
|
|
10686
|
+
Object.entries(CELL_SVG_URLS).map(async ([key, url]) => {
|
|
10687
|
+
images[key] = await loadSvgImage(url);
|
|
10688
|
+
})
|
|
10689
|
+
);
|
|
10690
|
+
return composeAtlas(cell, getPatternRepeats(cell, "svg"), images);
|
|
10691
|
+
}
|
|
10692
|
+
async function buildProceduralAtlas(cell) {
|
|
10693
|
+
const reps = getPatternRepeats(cell, "procedural");
|
|
10694
|
+
const step = cell / reps;
|
|
10695
|
+
const images = {};
|
|
10696
|
+
for (const key of Object.keys(CELL_URLS)) {
|
|
10697
|
+
images[key] = paintTileCanvas(key, step);
|
|
10698
|
+
}
|
|
10699
|
+
return composeAtlas(cell, reps, images);
|
|
10700
|
+
}
|
|
10701
|
+
var ATLAS_BUILDERS = {
|
|
10702
|
+
png: buildPngAtlas,
|
|
10703
|
+
svg: buildSvgAtlas,
|
|
10704
|
+
procedural: buildProceduralAtlas
|
|
10705
|
+
};
|
|
10706
|
+
var atlasPromises = /* @__PURE__ */ new Map();
|
|
10707
|
+
function getPatternAtlas(cell = getPatternCellSize()) {
|
|
10708
|
+
const source = getPatternAssetSource();
|
|
10709
|
+
const memoKey = `${source}:${cell}`;
|
|
10710
|
+
let promise = atlasPromises.get(memoKey);
|
|
10711
|
+
if (!promise) {
|
|
10712
|
+
promise = ATLAS_BUILDERS[source](cell);
|
|
10713
|
+
promise.catch(() => {
|
|
10714
|
+
});
|
|
10715
|
+
atlasPromises.set(memoKey, promise);
|
|
10716
|
+
}
|
|
10717
|
+
return promise;
|
|
10718
|
+
}
|
|
10719
|
+
|
|
10285
10720
|
// src/fetch-map/parse-map.ts
|
|
10286
10721
|
function getLayerDescriptor({
|
|
10287
10722
|
mapConfig,
|
|
@@ -10505,6 +10940,10 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
10505
10940
|
const result = {};
|
|
10506
10941
|
const updateTriggers = {};
|
|
10507
10942
|
const scales = {};
|
|
10943
|
+
const isVectorTile = layerType === "mvt" || layerType === "tileset";
|
|
10944
|
+
const geometry = data.tilestats?.layers?.[0]?.geometry;
|
|
10945
|
+
const isLine = geometry === "Line" || geometry === "LineString" || geometry === "MultiLineString";
|
|
10946
|
+
const isPolygon = geometry === "Polygon" || geometry === "MultiPolygon";
|
|
10508
10947
|
{
|
|
10509
10948
|
const { colorField, colorScale } = visualChannels;
|
|
10510
10949
|
const { colorRange } = visConfig;
|
|
@@ -10665,6 +11104,84 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
10665
11104
|
};
|
|
10666
11105
|
}
|
|
10667
11106
|
}
|
|
11107
|
+
{
|
|
11108
|
+
const strokeVisible = isLine || isPolygon && Boolean(visConfig.stroked);
|
|
11109
|
+
if (isVectorTile && strokeVisible) {
|
|
11110
|
+
const { lineStyleField, lineStyleScale } = visualChannels;
|
|
11111
|
+
const { lineStyleRange } = visConfig;
|
|
11112
|
+
if (visConfig.lineStyle && visConfig.lineStyle !== "solid") {
|
|
11113
|
+
if (visConfig.lineStyle === "dotted") {
|
|
11114
|
+
result.lineCapRounded = true;
|
|
11115
|
+
}
|
|
11116
|
+
result.lineStyle = visConfig.lineStyle;
|
|
11117
|
+
if (visConfig.dashArray) {
|
|
11118
|
+
result.dashArray = visConfig.dashArray;
|
|
11119
|
+
result.getDashArray = visConfig.dashArray;
|
|
11120
|
+
}
|
|
11121
|
+
}
|
|
11122
|
+
if (lineStyleField && lineStyleScale && lineStyleRange) {
|
|
11123
|
+
const { accessor, ...scaleProps } = getLineStyleAccessor(
|
|
11124
|
+
lineStyleField,
|
|
11125
|
+
lineStyleRange,
|
|
11126
|
+
data
|
|
11127
|
+
);
|
|
11128
|
+
result.getDashArray = accessor;
|
|
11129
|
+
scales.lineStyle = updateTriggers.getDashArray = {
|
|
11130
|
+
field: lineStyleField,
|
|
11131
|
+
type: lineStyleScale,
|
|
11132
|
+
...scaleProps
|
|
11133
|
+
};
|
|
11134
|
+
const dashArrays = [
|
|
11135
|
+
...lineStyleRange.dashArrayMap.map(({ dashArray }) => dashArray),
|
|
11136
|
+
...lineStyleRange.othersDashArray ? [lineStyleRange.othersDashArray] : []
|
|
11137
|
+
];
|
|
11138
|
+
if (dashArrays.some(([dash]) => dash === 0)) {
|
|
11139
|
+
result.lineCapRounded = true;
|
|
11140
|
+
}
|
|
11141
|
+
}
|
|
11142
|
+
}
|
|
11143
|
+
}
|
|
11144
|
+
{
|
|
11145
|
+
const fillPatternEnabled = Boolean(
|
|
11146
|
+
visConfig.filled && visConfig.fillPatternEnabled
|
|
11147
|
+
);
|
|
11148
|
+
result.fillPatternEnabled = fillPatternEnabled;
|
|
11149
|
+
if (visConfig.filled) {
|
|
11150
|
+
result.fillPatternAtlas = getPatternAtlas();
|
|
11151
|
+
result.fillPatternMapping = getPatternAtlasMapping();
|
|
11152
|
+
result.fillPatternMask = true;
|
|
11153
|
+
const textureParameters = getPatternTextureParameters();
|
|
11154
|
+
if (textureParameters) {
|
|
11155
|
+
result.textureParameters = textureParameters;
|
|
11156
|
+
}
|
|
11157
|
+
result.getFillPatternScale = (visConfig.fillPatternSize ?? 1) * getPatternScaleAdjustment();
|
|
11158
|
+
const { fillPatternField, fillPatternScale } = visualChannels;
|
|
11159
|
+
const { fillPatternRange, fillPatternDensity } = visConfig;
|
|
11160
|
+
if (!fillPatternEnabled) {
|
|
11161
|
+
result.getFillPattern = () => "solid";
|
|
11162
|
+
updateTriggers.getFillPattern = "solid";
|
|
11163
|
+
} else if (fillPatternField && fillPatternScale && fillPatternRange) {
|
|
11164
|
+
result.fillPattern = visConfig.fillPattern;
|
|
11165
|
+
const { accessor, ...scaleProps } = getFillPatternAccessor(
|
|
11166
|
+
fillPatternField,
|
|
11167
|
+
fillPatternRange,
|
|
11168
|
+
fillPatternDensity,
|
|
11169
|
+
data
|
|
11170
|
+
);
|
|
11171
|
+
result.getFillPattern = accessor;
|
|
11172
|
+
scales.fillPattern = updateTriggers.getFillPattern = {
|
|
11173
|
+
field: fillPatternField,
|
|
11174
|
+
type: fillPatternScale,
|
|
11175
|
+
...scaleProps
|
|
11176
|
+
};
|
|
11177
|
+
} else {
|
|
11178
|
+
result.fillPattern = visConfig.fillPattern;
|
|
11179
|
+
const key = `${visConfig.fillPattern}-${fillPatternDensity ?? "medium"}`;
|
|
11180
|
+
result.getFillPattern = () => key;
|
|
11181
|
+
updateTriggers.getFillPattern = key;
|
|
11182
|
+
}
|
|
11183
|
+
}
|
|
11184
|
+
}
|
|
10668
11185
|
{
|
|
10669
11186
|
const { heightField, heightScale } = visualChannels;
|
|
10670
11187
|
const { enable3d, heightRange } = visConfig;
|
|
@@ -10793,9 +11310,7 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
10793
11310
|
} = secondaryLabel || {};
|
|
10794
11311
|
result.getText = mainLabel.field && getTextAccessor(mainLabel.field, data);
|
|
10795
11312
|
const getSecondaryText = secondaryField && getTextAccessor(secondaryField, data);
|
|
10796
|
-
|
|
10797
|
-
const isLineOrPolygon = geometry === "Polygon" || geometry === "MultiPolygon" || geometry === "Line" || geometry === "LineString" || geometry === "MultiLineString";
|
|
10798
|
-
if (isLineOrPolygon && (layerType === "tileset" || layerType === "mvt")) {
|
|
11313
|
+
if ((isLine || isPolygon) && isVectorTile) {
|
|
10799
11314
|
const uniqueIdProperty = visConfig.textLabelUniqueIdField;
|
|
10800
11315
|
result.autoLabels = uniqueIdProperty ? { uniqueIdProperty } : true;
|
|
10801
11316
|
result.pointType = "text";
|
|
@@ -11568,10 +12083,12 @@ export {
|
|
|
11568
12083
|
getColumnNameFromGeoColumn,
|
|
11569
12084
|
getDataFilterExtensionProps,
|
|
11570
12085
|
getDefaultAggregationExpColumnAliasForLayerType,
|
|
12086
|
+
getFillPatternAccessor,
|
|
11571
12087
|
getFilter,
|
|
11572
12088
|
getIconUrlAccessor,
|
|
11573
12089
|
getLayerDescriptor,
|
|
11574
12090
|
getLayerProps,
|
|
12091
|
+
getLineStyleAccessor,
|
|
11575
12092
|
getMaxMarkerSize,
|
|
11576
12093
|
getSizeAccessor,
|
|
11577
12094
|
getSorter,
|