@antv/l7-layers 2.23.2 → 2.23.3-beta.1

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.
Files changed (73) hide show
  1. package/es/{citybuliding → citybuilding}/models/build.js +4 -2
  2. package/es/core/BaseLayer.js +3 -3
  3. package/es/core/LayerPickService.js +3 -1
  4. package/es/core/shape/Path.d.ts +2 -1
  5. package/es/core/shape/Path.js +10 -4
  6. package/es/core/triangulation.js +51 -1
  7. package/es/earth/index.js +2 -3
  8. package/es/geometry/index.js +2 -3
  9. package/es/heatmap/index.js +6 -6
  10. package/es/heatmap/models/heatmap.js +2 -3
  11. package/es/index.d.ts +1 -1
  12. package/es/index.js +1 -1
  13. package/es/line/index.js +2 -3
  14. package/es/plugins/DataMappingPlugin.js +30 -10
  15. package/es/plugins/FeatureScalePlugin.js +21 -20
  16. package/es/plugins/ShaderUniformPlugin.js +62 -29
  17. package/es/plugins/index.d.ts +1 -1
  18. package/es/polygon/index.js +2 -3
  19. package/es/polygon/models/extrude.js +22 -7
  20. package/es/polygon/models/ocean.js +17 -6
  21. package/es/polygon/models/water.js +17 -6
  22. package/es/tile/core/BaseLayer.d.ts +4 -1
  23. package/es/tile/core/BaseLayer.js +19 -11
  24. package/es/tile/service/TileLayerService.d.ts +26 -1
  25. package/es/tile/service/TileLayerService.js +88 -16
  26. package/es/tile/service/TilePickService.js +15 -9
  27. package/es/tile/tile/Tile.d.ts +1 -1
  28. package/es/tile/tile/index.d.ts +1 -1
  29. package/es/tile/tile/util.d.ts +1 -1
  30. package/es/utils/scale.d.ts +87 -0
  31. package/es/utils/scale.js +588 -0
  32. package/lib/{citybuliding → citybuilding}/models/build.js +4 -2
  33. package/lib/core/BaseLayer.js +3 -3
  34. package/lib/core/LayerPickService.js +3 -1
  35. package/lib/core/shape/Path.d.ts +2 -1
  36. package/lib/core/shape/Path.js +10 -4
  37. package/lib/core/triangulation.js +50 -1
  38. package/lib/earth/index.js +2 -3
  39. package/lib/geometry/index.js +2 -3
  40. package/lib/heatmap/index.js +6 -6
  41. package/lib/heatmap/models/heatmap.js +2 -3
  42. package/lib/index.d.ts +1 -1
  43. package/lib/index.js +1 -1
  44. package/lib/line/index.js +2 -3
  45. package/lib/plugins/DataMappingPlugin.js +30 -10
  46. package/lib/plugins/FeatureScalePlugin.js +22 -23
  47. package/lib/plugins/ShaderUniformPlugin.js +62 -29
  48. package/lib/plugins/index.d.ts +1 -1
  49. package/lib/polygon/index.js +2 -3
  50. package/lib/polygon/models/extrude.js +22 -7
  51. package/lib/polygon/models/ocean.js +17 -6
  52. package/lib/polygon/models/water.js +17 -6
  53. package/lib/tile/core/BaseLayer.d.ts +4 -1
  54. package/lib/tile/core/BaseLayer.js +19 -11
  55. package/lib/tile/service/TileLayerService.d.ts +26 -1
  56. package/lib/tile/service/TileLayerService.js +88 -16
  57. package/lib/tile/service/TilePickService.js +15 -9
  58. package/lib/tile/tile/Tile.d.ts +1 -1
  59. package/lib/tile/tile/index.d.ts +1 -1
  60. package/lib/tile/tile/util.d.ts +1 -1
  61. package/lib/utils/scale.d.ts +87 -0
  62. package/lib/utils/scale.js +603 -0
  63. package/package.json +6 -17
  64. /package/es/{citybuliding → citybuilding}/building.d.ts +0 -0
  65. /package/es/{citybuliding → citybuilding}/building.js +0 -0
  66. /package/es/{citybuliding → citybuilding}/models/build.d.ts +0 -0
  67. /package/es/{citybuliding → citybuilding}/shaders/build_frag.glsl +0 -0
  68. /package/es/{citybuliding → citybuilding}/shaders/build_vert.glsl +0 -0
  69. /package/lib/{citybuliding → citybuilding}/building.d.ts +0 -0
  70. /package/lib/{citybuliding → citybuilding}/building.js +0 -0
  71. /package/lib/{citybuliding → citybuilding}/models/build.d.ts +0 -0
  72. /package/lib/{citybuliding → citybuilding}/shaders/build_frag.glsl +0 -0
  73. /package/lib/{citybuliding → citybuilding}/shaders/build_vert.glsl +0 -0
@@ -0,0 +1,603 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.scaleDiverging = scaleDiverging;
7
+ exports.scaleLinear = scaleLinear;
8
+ exports.scaleLog = scaleLog;
9
+ exports.scaleOrdinal = scaleOrdinal;
10
+ exports.scalePow = scalePow;
11
+ exports.scaleQuantile = scaleQuantile;
12
+ exports.scaleQuantize = scaleQuantize;
13
+ exports.scaleSequential = scaleSequential;
14
+ exports.scaleThreshold = scaleThreshold;
15
+ exports.scaleTime = scaleTime;
16
+ /**
17
+ * 比例尺工具
18
+ * 用于替代 d3-scale 的功能
19
+ */
20
+
21
+ // ==================== 工具函数 ====================
22
+
23
+ function bisect(a, x, lo = 0, hi = a.length) {
24
+ while (lo < hi) {
25
+ const mid = lo + hi >>> 1;
26
+ if (a[mid] < x) lo = mid + 1;else hi = mid;
27
+ }
28
+ return lo;
29
+ }
30
+ function tickIncrement(start, stop, count) {
31
+ if (start === stop) return 0;
32
+ const d = stop - start;
33
+ const step = Math.pow(10, Math.floor(Math.log(d / count) / Math.LN10));
34
+ const err = count / d * step;
35
+ if (err <= 0.15) return step * 10;
36
+ if (err <= 0.35) return step * 5;
37
+ if (err <= 0.75) return step * 2;
38
+ return step;
39
+ }
40
+ function tickStep(start, stop, count) {
41
+ if (start === stop) return 1;
42
+ const d = stop - start;
43
+ const step0 = Math.abs(d) / Math.max(1, count);
44
+ let step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10));
45
+ const error = step0 / step1;
46
+ if (error >= 10) step1 *= 10;else if (error >= 5) step1 *= 5;else if (error >= 2) step1 *= 2;
47
+ return d < 0 ? -step1 : step1;
48
+ }
49
+
50
+ // 处理 domain 中的无效值
51
+ function sanitizeDomain(d) {
52
+ const filtered = d.filter(v => v != null && !Number.isNaN(v) && typeof v === 'number');
53
+ if (filtered.length === 0) {
54
+ return [0, 1];
55
+ } else if (filtered.length === 1) {
56
+ return [filtered[0], filtered[0]];
57
+ }
58
+ return filtered;
59
+ }
60
+
61
+ // ==================== Linear Scale ====================
62
+
63
+ function scaleLinear() {
64
+ let domain = [0, 1];
65
+ let range = [0, 1];
66
+ let _clamp = false;
67
+ function scale(x) {
68
+ const d0 = domain[0];
69
+ const d1 = domain[domain.length - 1];
70
+ const r0 = range[0];
71
+ const r1 = range[range.length - 1];
72
+
73
+ // 处理相等的 domain
74
+ if (d0 === d1) {
75
+ return r0;
76
+ }
77
+ let t = (x - d0) / (d1 - d0);
78
+ if (_clamp) t = Math.max(0, Math.min(1, t));
79
+ return r0 + t * (r1 - r0);
80
+ }
81
+ scale.domain = function (d) {
82
+ if (d === undefined) return domain.slice();
83
+ domain = sanitizeDomain(d);
84
+ return scale;
85
+ };
86
+ scale.range = function (r) {
87
+ if (r === undefined) return range.slice();
88
+ range = r.slice();
89
+ return scale;
90
+ };
91
+ scale.invert = function (y) {
92
+ const d0 = domain[0];
93
+ const d1 = domain[domain.length - 1];
94
+ const r0 = range[0];
95
+ const r1 = range[range.length - 1];
96
+ return d0 + (y - r0) / (r1 - r0) * (d1 - d0);
97
+ };
98
+ scale.ticks = function (count = 10) {
99
+ const d0 = domain[0];
100
+ const d1 = domain[domain.length - 1];
101
+ if (d0 === d1) return [d0];
102
+ const step = tickStep(d0, d1, count);
103
+ const ticks = [];
104
+ let i = Math.floor(d0 / step);
105
+ const maxI = Math.ceil(d1 / step);
106
+ while (i <= maxI) {
107
+ ticks.push(i * step);
108
+ i++;
109
+ }
110
+ return ticks;
111
+ };
112
+ scale.nice = function (count = 10) {
113
+ const d0 = domain[0];
114
+ const d1 = domain[domain.length - 1];
115
+ if (d0 === d1) return scale;
116
+ const step = tickIncrement(d0, d1, count);
117
+ if (step > 0) {
118
+ domain = [Math.floor(d0 / step) * step, Math.ceil(d1 / step) * step];
119
+ }
120
+ return scale;
121
+ };
122
+ scale.clamp = function (c) {
123
+ if (c === undefined) return _clamp;
124
+ _clamp = c;
125
+ return scale;
126
+ };
127
+ return scale;
128
+ }
129
+
130
+ // ==================== Power Scale ====================
131
+
132
+ function scalePow() {
133
+ let domain = [0, 1];
134
+ let range = [0, 1];
135
+ let _clamp = false;
136
+ let _exponent = 1;
137
+ function scale(x) {
138
+ const d0 = domain[0];
139
+ const d1 = domain[domain.length - 1];
140
+ const r0 = range[0];
141
+ const r1 = range[range.length - 1];
142
+ if (d0 === d1) {
143
+ return r0;
144
+ }
145
+ let t = (x - d0) / (d1 - d0);
146
+ if (_clamp) t = Math.max(0, Math.min(1, t));
147
+ t = Math.pow(t, _exponent);
148
+ return r0 + t * (r1 - r0);
149
+ }
150
+ scale.domain = function (d) {
151
+ if (d === undefined) return domain.slice();
152
+ domain = sanitizeDomain(d);
153
+ return scale;
154
+ };
155
+ scale.range = function (r) {
156
+ if (r === undefined) return range.slice();
157
+ range = r.slice();
158
+ return scale;
159
+ };
160
+ scale.invert = function (y) {
161
+ const d0 = domain[0];
162
+ const d1 = domain[domain.length - 1];
163
+ const r0 = range[0];
164
+ const r1 = range[range.length - 1];
165
+ let t = (y - r0) / (r1 - r0);
166
+ t = Math.pow(t, 1 / _exponent);
167
+ return d0 + t * (d1 - d0);
168
+ };
169
+ scale.ticks = function (count = 10) {
170
+ const d0 = domain[0];
171
+ const d1 = domain[domain.length - 1];
172
+ if (d0 === d1) return [d0];
173
+ const step = tickStep(d0, d1, count);
174
+ const ticks = [];
175
+ let i = Math.floor(d0 / step);
176
+ const maxI = Math.ceil(d1 / step);
177
+ while (i <= maxI) {
178
+ ticks.push(i * step);
179
+ i++;
180
+ }
181
+ return ticks;
182
+ };
183
+ scale.nice = function (count = 10) {
184
+ const d0 = domain[0];
185
+ const d1 = domain[domain.length - 1];
186
+ if (d0 === d1) return scale;
187
+ const step = tickIncrement(d0, d1, count);
188
+ if (step > 0) {
189
+ domain = [Math.floor(d0 / step) * step, Math.ceil(d1 / step) * step];
190
+ }
191
+ return scale;
192
+ };
193
+ scale.clamp = function (c) {
194
+ if (c === undefined) return _clamp;
195
+ _clamp = c;
196
+ return scale;
197
+ };
198
+ scale.exponent = function (k) {
199
+ if (k === undefined) return _exponent;
200
+ _exponent = k;
201
+ return scale;
202
+ };
203
+ return scale;
204
+ }
205
+
206
+ // ==================== Log Scale ====================
207
+
208
+ function log(x, base) {
209
+ return Math.log(x) / Math.log(base);
210
+ }
211
+ function pow(x, base) {
212
+ return Math.pow(base, x);
213
+ }
214
+ function scaleLog() {
215
+ let domain = [1, 10];
216
+ let range = [0, 1];
217
+ let _clamp = false;
218
+ let _base = 10;
219
+ function scale(x) {
220
+ const d0 = domain[0];
221
+ const d1 = domain[domain.length - 1];
222
+ const r0 = range[0];
223
+ const r1 = range[range.length - 1];
224
+ if (d0 === d1) {
225
+ return r0;
226
+ }
227
+ const absD0 = Math.abs(d0) || 1;
228
+ const absD1 = Math.abs(d1) || 1;
229
+ const absX = Math.abs(x) || 1;
230
+ let t = (log(absX, _base) - log(absD0, _base)) / (log(absD1, _base) - log(absD0, _base));
231
+ if (_clamp) t = Math.max(0, Math.min(1, t));
232
+ return r0 + t * (r1 - r0);
233
+ }
234
+ scale.domain = function (d) {
235
+ if (d === undefined) return domain.slice();
236
+ const sanitized = sanitizeDomain(d);
237
+ // log scale 需要 正数domain
238
+ domain = sanitized.map(v => v <= 0 ? 1 : v);
239
+ return scale;
240
+ };
241
+ scale.range = function (r) {
242
+ if (r === undefined) return range.slice();
243
+ range = r.slice();
244
+ return scale;
245
+ };
246
+ scale.invert = function (y) {
247
+ const d0 = domain[0];
248
+ const d1 = domain[domain.length - 1];
249
+ const r0 = range[0];
250
+ const r1 = range[range.length - 1];
251
+ const t = (y - r0) / (r1 - r0);
252
+ const absD0 = Math.abs(d0) || 1;
253
+ const absD1 = Math.abs(d1) || 1;
254
+ return pow(log(absD0, _base) + t * (log(absD1, _base) - log(absD0, _base)), _base);
255
+ };
256
+ scale.ticks = function (count = 10) {
257
+ const d0 = domain[0];
258
+ const d1 = domain[domain.length - 1];
259
+ if (d0 === d1) return [d0];
260
+ const ticks = [];
261
+ const startPow = Math.floor(log(Math.abs(d0) || 1, _base));
262
+ const endPow = Math.ceil(log(Math.abs(d1) || 1, _base));
263
+ for (let i = startPow; i <= endPow; i++) {
264
+ ticks.push(pow(i, _base));
265
+ }
266
+ return ticks;
267
+ };
268
+ scale.nice = function () {
269
+ return scale;
270
+ };
271
+ scale.clamp = function (c) {
272
+ if (c === undefined) return _clamp;
273
+ _clamp = c;
274
+ return scale;
275
+ };
276
+ scale.base = function (b) {
277
+ if (b === undefined) return _base;
278
+ _base = b;
279
+ return scale;
280
+ };
281
+ return scale;
282
+ }
283
+
284
+ // ==================== Ordinal Scale ====================
285
+
286
+ function scaleOrdinal(range) {
287
+ let domain = [];
288
+ let _range = range || [];
289
+ let _unknown;
290
+ const index = new Map();
291
+ function scale(x) {
292
+ let i = index.get(x);
293
+ if (i === undefined) {
294
+ if (_unknown !== undefined) return _unknown;
295
+ if (_range.length === 0) return undefined;
296
+ i = domain.push(x) - 1;
297
+ index.set(x, i);
298
+ }
299
+ return _range[i % _range.length];
300
+ }
301
+ scale.domain = function (d) {
302
+ if (d === undefined) return domain.slice();
303
+ domain = [];
304
+ index.clear();
305
+ d.forEach(x => {
306
+ if (!index.has(x)) {
307
+ index.set(x, domain.length);
308
+ domain.push(x);
309
+ }
310
+ });
311
+ return scale;
312
+ };
313
+ scale.range = function (r) {
314
+ if (r === undefined) return _range.slice();
315
+ _range = r.slice();
316
+ return scale;
317
+ };
318
+ scale.unknown = function (value) {
319
+ _unknown = value;
320
+ return scale;
321
+ };
322
+ return scale;
323
+ }
324
+
325
+ // ==================== Quantize Scale ====================
326
+
327
+ function scaleQuantize() {
328
+ let domain = [0, 1];
329
+ let _range = [0, 1];
330
+ let n = 1;
331
+ function scale(x) {
332
+ const d0 = domain[0];
333
+ const d1 = domain[domain.length - 1];
334
+ if (d0 === d1) {
335
+ return _range[0];
336
+ }
337
+ const t = (x - d0) / (d1 - d0);
338
+ const i = Math.max(0, Math.min(n - 1, Math.floor(t * n)));
339
+ return _range[i];
340
+ }
341
+ scale.domain = function (d) {
342
+ if (d === undefined) return domain.slice();
343
+ domain = sanitizeDomain(d);
344
+ return scale;
345
+ };
346
+ scale.range = function (r) {
347
+ if (r === undefined) return _range.slice();
348
+ _range = r.slice();
349
+ n = Math.max(1, _range.length);
350
+ return scale;
351
+ };
352
+ scale.invertExtent = function (y) {
353
+ const i = _range.indexOf(y);
354
+ if (i < 0) return [NaN, NaN];
355
+ const d0 = domain[0];
356
+ const d1 = domain[domain.length - 1];
357
+ const step = (d1 - d0) / n;
358
+ return [d0 + i * step, d0 + (i + 1) * step];
359
+ };
360
+ return scale;
361
+ }
362
+
363
+ // ==================== Quantile Scale ====================
364
+
365
+ function scaleQuantile() {
366
+ let _domain = [];
367
+ let _range = [0, 1];
368
+ let thresholds = [];
369
+ function scale(x) {
370
+ if (isNaN(x)) return _range[0];
371
+ const i = bisect(thresholds, x);
372
+ return _range[i];
373
+ }
374
+ scale.domain = function (d) {
375
+ if (d === undefined) return _domain.slice();
376
+ _domain = d.filter(x => x != null && !isNaN(x) && typeof x === 'number').sort((a, b) => a - b);
377
+ rescale();
378
+ return scale;
379
+ };
380
+ scale.range = function (r) {
381
+ if (r === undefined) return _range.slice();
382
+ _range = r.slice();
383
+ rescale();
384
+ return scale;
385
+ };
386
+ scale.invertExtent = function (y) {
387
+ const i = _range.indexOf(y);
388
+ if (i < 0) return [NaN, NaN];
389
+ const n = _range.length;
390
+ return i > 0 ? [thresholds[i - 1], thresholds[i]] : [_domain[0], thresholds[0]];
391
+ };
392
+ scale.quantiles = function () {
393
+ return thresholds.slice();
394
+ };
395
+ function rescale() {
396
+ const n = _range.length;
397
+ const m = _domain.length;
398
+ if (m === 0 || n === 0) {
399
+ thresholds = [];
400
+ return;
401
+ }
402
+ thresholds = [];
403
+ for (let i = 1; i < n; i++) {
404
+ const q = i / n;
405
+ const index = (m - 1) * q;
406
+ const lower = Math.floor(index);
407
+ const upper = Math.ceil(index);
408
+ const weight = index - lower;
409
+ if (upper >= m) {
410
+ thresholds.push(_domain[m - 1]);
411
+ } else {
412
+ thresholds.push(_domain[lower] * (1 - weight) + _domain[upper] * weight);
413
+ }
414
+ }
415
+ }
416
+ return scale;
417
+ }
418
+
419
+ // ==================== Threshold Scale ====================
420
+
421
+ function scaleThreshold() {
422
+ let _domain = [0.5];
423
+ let _range = [0, 1];
424
+ function scale(x) {
425
+ const i = bisect(_domain, x);
426
+ return _range[i];
427
+ }
428
+ scale.domain = function (d) {
429
+ if (d === undefined) return _domain.slice();
430
+ _domain = d.filter(v => v != null && !isNaN(v) && typeof v === 'number');
431
+ if (_domain.length === 0) {
432
+ _domain = [0.5];
433
+ }
434
+ return scale;
435
+ };
436
+ scale.range = function (r) {
437
+ if (r === undefined) return _range.slice();
438
+ _range = r.slice();
439
+ return scale;
440
+ };
441
+ scale.invertExtent = function (y) {
442
+ const i = _range.indexOf(y);
443
+ return [i > 0 ? _domain[i - 1] : undefined, i < _domain.length ? _domain[i] : undefined];
444
+ };
445
+ return scale;
446
+ }
447
+
448
+ // ==================== Sequential Scale ====================
449
+
450
+ function scaleSequential() {
451
+ let domain = [0, 1];
452
+ let _interpolator = t => t;
453
+ let _clamp = false;
454
+ function scale(x) {
455
+ const d0 = domain[0];
456
+ const d1 = domain[domain.length - 1];
457
+ if (d0 === d1) {
458
+ return _interpolator(0.5);
459
+ }
460
+ let t = (x - d0) / (d1 - d0);
461
+ if (_clamp) t = Math.max(0, Math.min(1, t));
462
+ return _interpolator(t);
463
+ }
464
+ scale.domain = function (d) {
465
+ if (d === undefined) return domain.slice();
466
+ domain = sanitizeDomain(d);
467
+ return scale;
468
+ };
469
+ scale.interpolator = function (i) {
470
+ if (i === undefined) return _interpolator;
471
+ _interpolator = i;
472
+ return scale;
473
+ };
474
+ scale.clamp = function (c) {
475
+ if (c === undefined) return _clamp;
476
+ _clamp = c;
477
+ return scale;
478
+ };
479
+ return scale;
480
+ }
481
+
482
+ // ==================== Diverging Scale ====================
483
+
484
+ function scaleDiverging() {
485
+ let domain = [0, 0.5, 1];
486
+ let _interpolator = t => t;
487
+ let _clamp = false;
488
+ function scale(x) {
489
+ const d0 = domain[0];
490
+ const d1 = domain[1];
491
+ const d2 = domain[2];
492
+ let t;
493
+ if (x < d1) {
494
+ if (d0 === d1) {
495
+ return _interpolator(0.5);
496
+ }
497
+ t = (x - d0) / (d1 - d0);
498
+ t = _clamp ? Math.max(0, t) : t;
499
+ return _interpolator(0.5 - t * 0.5);
500
+ } else {
501
+ if (d1 === d2) {
502
+ return _interpolator(0.5);
503
+ }
504
+ t = (x - d1) / (d2 - d1);
505
+ t = _clamp ? Math.min(1, t) : t;
506
+ return _interpolator(0.5 + t * 0.5);
507
+ }
508
+ }
509
+ scale.domain = function (d) {
510
+ if (d === undefined) return domain.slice();
511
+ // diverging scale 需要 3 个值
512
+ const sanitized = d.filter(v => v != null && !isNaN(v) && typeof v === 'number');
513
+ if (sanitized.length >= 3) {
514
+ domain = [sanitized[0], sanitized[1], sanitized[2]];
515
+ } else if (sanitized.length === 2) {
516
+ const mid = (sanitized[0] + sanitized[1]) / 2;
517
+ domain = [sanitized[0], mid, sanitized[1]];
518
+ } else if (sanitized.length === 1) {
519
+ domain = [sanitized[1], sanitized[0], sanitized[0] + 1];
520
+ } else {
521
+ domain = [0, 0.5, 1];
522
+ }
523
+ return scale;
524
+ };
525
+ scale.interpolator = function (i) {
526
+ if (i === undefined) return _interpolator;
527
+ _interpolator = i;
528
+ return scale;
529
+ };
530
+ scale.clamp = function (c) {
531
+ if (c === undefined) return _clamp;
532
+ _clamp = c;
533
+ return scale;
534
+ };
535
+ return scale;
536
+ }
537
+
538
+ // ==================== Time Scale ====================
539
+
540
+ function scaleTime() {
541
+ let domain = [0, 1];
542
+ let range = [0, 1];
543
+ let _clamp = false;
544
+ function scale(x) {
545
+ const d0 = domain[0];
546
+ const d1 = domain[domain.length - 1];
547
+ const r0 = range[0];
548
+ const r1 = range[range.length - 1];
549
+ if (d0 === d1) {
550
+ return r0;
551
+ }
552
+ let t = (x - d0) / (d1 - d0);
553
+ if (_clamp) t = Math.max(0, Math.min(1, t));
554
+ return r0 + t * (r1 - r0);
555
+ }
556
+ scale.domain = function (d) {
557
+ if (d === undefined) return domain.slice();
558
+ domain = sanitizeDomain(d);
559
+ return scale;
560
+ };
561
+ scale.range = function (r) {
562
+ if (r === undefined) return range.slice();
563
+ range = r.slice();
564
+ return scale;
565
+ };
566
+ scale.invert = function (y) {
567
+ const d0 = domain[0];
568
+ const d1 = domain[domain.length - 1];
569
+ const r0 = range[0];
570
+ const r1 = range[range.length - 1];
571
+ return d0 + (y - r0) / (r1 - r0) * (d1 - d0);
572
+ };
573
+ scale.ticks = function (count = 10) {
574
+ const d0 = domain[0];
575
+ const d1 = domain[domain.length - 1];
576
+ if (d0 === d1) return [d0];
577
+ const step = tickStep(d0, d1, count);
578
+ const ticks = [];
579
+ let i = Math.floor(d0 / step);
580
+ const maxI = Math.ceil(d1 / step);
581
+ while (i <= maxI) {
582
+ ticks.push(i * step);
583
+ i++;
584
+ }
585
+ return ticks;
586
+ };
587
+ scale.nice = function (count = 10) {
588
+ const d0 = domain[0];
589
+ const d1 = domain[domain.length - 1];
590
+ if (d0 === d1) return scale;
591
+ const step = tickIncrement(d0, d1, count);
592
+ if (step > 0) {
593
+ domain = [Math.floor(d0 / step) * step, Math.ceil(d1 / step) * step];
594
+ }
595
+ return scale;
596
+ };
597
+ scale.clamp = function (c) {
598
+ if (c === undefined) return _clamp;
599
+ _clamp = c;
600
+ return scale;
601
+ };
602
+ return scale;
603
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-layers",
3
- "version": "2.23.2",
3
+ "version": "2.23.3-beta.1",
4
4
  "description": "L7's collection of built-in layers",
5
5
  "license": "MIT",
6
6
  "author": "https://github.com/orgs/antvis/people",
@@ -23,29 +23,18 @@
23
23
  "@turf/meta": "^6.0.2",
24
24
  "@turf/polygon-to-line": "^6.5.0",
25
25
  "@turf/union": "^6.5.0",
26
- "d3-array": "^2",
27
- "d3-color": "^1.4.0",
28
- "d3-interpolate": "1.4.0",
29
- "d3-scale": "^2",
30
26
  "earcut": "^2.2.1",
31
27
  "eventemitter3": "^4.0.0",
32
- "extrude-polyline": "^1.0.6",
33
28
  "gl-matrix": "^3.1.0",
34
- "gl-vec2": "^1.3.0",
35
- "polyline-miter-util": "^1.0.1",
36
- "@antv/l7-core": "2.23.2",
37
- "@antv/l7-maps": "2.23.2",
38
- "@antv/l7-source": "2.23.2",
39
- "@antv/l7-utils": "2.23.2"
29
+ "@antv/l7-core": "2.23.3-beta.1",
30
+ "@antv/l7-maps": "2.23.3-beta.1",
31
+ "@antv/l7-source": "2.23.3-beta.1",
32
+ "@antv/l7-utils": "2.23.3-beta.1"
40
33
  },
41
34
  "devDependencies": {
42
- "@types/d3-array": "^2",
43
- "@types/d3-color": "^1.2.2",
44
- "@types/d3-interpolate": "1.1.6",
45
- "@types/d3-scale": "^2.1.1",
46
35
  "@types/earcut": "^2.1.0",
47
36
  "@types/gl-matrix": "^2.4.5",
48
- "@antv/l7-test-utils": "^2.23.2"
37
+ "@antv/l7-test-utils": "^2.23.3-beta.1"
49
38
  },
50
39
  "publishConfig": {
51
40
  "access": "public",
File without changes
File without changes
File without changes