@deck.gl/carto 8.8.0-alpha.2 → 8.8.0-alpha.5

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 (64) hide show
  1. package/dist/dist.dev.js +1752 -1262
  2. package/dist/es5/api/layer-map.js +17 -5
  3. package/dist/es5/api/layer-map.js.map +1 -1
  4. package/dist/es5/api/maps-api-common.js +1 -0
  5. package/dist/es5/api/maps-api-common.js.map +1 -1
  6. package/dist/es5/api/parseMap.js +14 -3
  7. package/dist/es5/api/parseMap.js.map +1 -1
  8. package/dist/es5/index.js +16 -0
  9. package/dist/es5/index.js.map +1 -1
  10. package/dist/es5/layers/carto-layer.js +16 -1
  11. package/dist/es5/layers/carto-layer.js.map +1 -1
  12. package/dist/es5/layers/carto-tile-layer.js +17 -12
  13. package/dist/es5/layers/carto-tile-layer.js.map +1 -1
  14. package/dist/es5/layers/h3-tile-layer.js +107 -0
  15. package/dist/es5/layers/h3-tile-layer.js.map +1 -0
  16. package/dist/es5/layers/h3-tileset-2d.js +175 -0
  17. package/dist/es5/layers/h3-tileset-2d.js.map +1 -0
  18. package/dist/es5/layers/quadkey-tile-layer.js +103 -0
  19. package/dist/es5/layers/quadkey-tile-layer.js.map +1 -0
  20. package/dist/es5/layers/quadkey-tileset-2d.js +89 -0
  21. package/dist/es5/layers/quadkey-tileset-2d.js.map +1 -0
  22. package/dist/es5/layers/schema/carto-tile.js +261 -188
  23. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  24. package/dist/es5/layers/spatial-index-tile-layer.js +92 -0
  25. package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -0
  26. package/dist/esm/api/layer-map.js +12 -4
  27. package/dist/esm/api/layer-map.js.map +1 -1
  28. package/dist/esm/api/maps-api-common.js +1 -0
  29. package/dist/esm/api/maps-api-common.js.map +1 -1
  30. package/dist/esm/api/parseMap.js +15 -4
  31. package/dist/esm/api/parseMap.js.map +1 -1
  32. package/dist/esm/index.js +2 -0
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/layers/carto-layer.js +15 -2
  35. package/dist/esm/layers/carto-layer.js.map +1 -1
  36. package/dist/esm/layers/carto-tile-layer.js +20 -16
  37. package/dist/esm/layers/carto-tile-layer.js.map +1 -1
  38. package/dist/esm/layers/h3-tile-layer.js +69 -0
  39. package/dist/esm/layers/h3-tile-layer.js.map +1 -0
  40. package/dist/esm/layers/h3-tileset-2d.js +118 -0
  41. package/dist/esm/layers/h3-tileset-2d.js.map +1 -0
  42. package/dist/esm/layers/quadkey-tile-layer.js +63 -0
  43. package/dist/esm/layers/quadkey-tile-layer.js.map +1 -0
  44. package/dist/esm/layers/quadkey-tileset-2d.js +48 -0
  45. package/dist/esm/layers/quadkey-tileset-2d.js.map +1 -0
  46. package/dist/esm/layers/schema/carto-tile.js +174 -189
  47. package/dist/esm/layers/schema/carto-tile.js.map +1 -1
  48. package/dist/esm/layers/spatial-index-tile-layer.js +57 -0
  49. package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -0
  50. package/dist.min.js +14 -14
  51. package/package.json +5 -3
  52. package/src/api/layer-map.ts +14 -4
  53. package/src/api/maps-api-common.ts +1 -0
  54. package/src/api/parseMap.ts +20 -5
  55. package/src/index.ts +2 -0
  56. package/src/layers/carto-layer.ts +16 -2
  57. package/src/layers/{carto-tile-layer.js → carto-tile-layer.ts} +64 -27
  58. package/src/layers/h3-tile-layer.js +52 -0
  59. package/src/layers/h3-tileset-2d.js +108 -0
  60. package/src/layers/quadkey-tile-layer.js +47 -0
  61. package/src/layers/quadkey-tileset-2d.js +36 -0
  62. package/src/layers/schema/carto-tile.ts +221 -0
  63. package/src/layers/spatial-index-tile-layer.js +48 -0
  64. package/src/layers/schema/carto-tile.js +0 -195
@@ -1,190 +1,175 @@
1
- const KeyValueObject = {};
2
-
3
- KeyValueObject.read = function (pbf, end) {
4
- return pbf.readFields(KeyValueObject._readField, {
5
- key: '',
6
- value: ''
7
- }, end);
8
- };
9
-
10
- KeyValueObject._readField = function (tag, obj, pbf) {
11
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
12
- };
13
-
14
- const Properties = {};
15
-
16
- Properties.read = function (pbf, end) {
17
- return pbf.readFields(Properties._readField, {
18
- data: []
19
- }, end);
20
- };
21
-
22
- Properties._readField = function (tag, obj, pbf) {
23
- if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));
24
- };
25
-
26
- const Doubles = {};
27
-
28
- Doubles.read = function (pbf, end) {
29
- const {
30
- value,
31
- size
32
- } = pbf.readFields(Doubles._readField, {
33
- value: [],
34
- size: 0
35
- }, end);
36
- return {
37
- value: new Float32Array(value),
38
- size
39
- };
40
- };
41
-
42
- Doubles._readField = function (tag, obj, pbf) {
43
- if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
44
- };
45
-
46
- const Ints = {};
47
-
48
- Ints.read = function (pbf, end) {
49
- const {
50
- value,
51
- size
52
- } = pbf.readFields(Ints._readField, {
53
- value: [],
54
- size: 0
55
- }, end);
56
- return {
57
- value: new Uint32Array(value),
58
- size
59
- };
60
- };
61
-
62
- Ints._readField = function (tag, obj, pbf) {
63
- if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
64
- };
65
-
66
- const NumericProp = {};
67
-
68
- NumericProp.read = function (pbf, end) {
69
- return pbf.readFields(NumericProp._readField, {
70
- value: []
71
- }, end);
72
- };
73
-
74
- NumericProp._readField = function (tag, obj, pbf) {
75
- if (tag === 1) pbf.readPackedDouble(obj.value);
76
- };
77
-
78
- const NumericPropKeyValue = {};
79
-
80
- NumericPropKeyValue.read = function (pbf, end) {
81
- return pbf.readFields(NumericPropKeyValue._readField, {
82
- key: '',
83
- value: null
84
- }, end);
85
- };
86
-
87
- NumericPropKeyValue._readField = function (tag, obj, pbf) {
88
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);
89
- };
90
-
91
- NumericProp._FieldEntry1 = {};
92
-
93
- NumericProp._FieldEntry1.read = function (pbf, end) {
94
- return pbf.readFields(NumericProp._FieldEntry1._readField, {
95
- key: '',
96
- value: 0
97
- }, end);
98
- };
99
-
100
- NumericProp._FieldEntry1._readField = function (tag, obj, pbf) {
101
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readDouble();
102
- };
103
-
104
- const StringProp = {};
105
-
106
- StringProp.read = function (pbf, end) {
107
- return pbf.readFields(StringProp._readField, {
108
- value: []
109
- }, end);
110
- };
111
-
112
- StringProp._readField = function (tag, obj, pbf) {
113
- if (tag === 1) obj.value.push(pbf.readString());
114
- };
115
-
116
- const Points = {};
117
-
118
- Points.read = function (pbf, end) {
119
- return pbf.readFields(Points._readField, {
120
- positions: null,
121
- globalFeatureIds: null,
122
- featureIds: null,
123
- properties: [],
124
- numericProps: {}
125
- }, end);
126
- };
127
-
128
- Points._readField = function (tag, obj, pbf) {
129
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
130
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
131
- obj.numericProps[entry.key] = entry.value;
132
- }
133
- };
134
-
135
- const Lines = {};
136
-
137
- Lines.read = function (pbf, end) {
138
- return pbf.readFields(Lines._readField, {
139
- positions: null,
140
- pathIndices: null,
141
- globalFeatureIds: null,
142
- featureIds: null,
143
- properties: [],
144
- numericProps: {}
145
- }, end);
146
- };
147
-
148
- Lines._readField = function (tag, obj, pbf) {
149
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
150
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
151
- obj.numericProps[entry.key] = entry.value;
152
- }
153
- };
154
-
155
- const Polygons = {};
156
-
157
- Polygons.read = function (pbf, end) {
158
- return pbf.readFields(Polygons._readField, {
159
- positions: null,
160
- polygonIndices: null,
161
- globalFeatureIds: null,
162
- featureIds: null,
163
- primitivePolygonIndices: null,
164
- triangles: null,
165
- properties: [],
166
- numericProps: {}
167
- }, end);
168
- };
169
-
170
- Polygons._readField = function (tag, obj, pbf) {
171
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
172
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
173
- obj.numericProps[entry.key] = entry.value;
174
- }
175
- };
176
-
177
- export const Tile = {};
178
-
179
- Tile.read = function (pbf, end) {
180
- return pbf.readFields(Tile._readField, {
181
- points: null,
182
- lines: null,
183
- polygons: null
184
- }, end);
185
- };
186
-
187
- Tile._readField = function (tag, obj, pbf) {
188
- if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);
189
- };
1
+ class KeyValueObjectReader {
2
+ static read(pbf, end) {
3
+ return pbf.readFields(KeyValueObjectReader._readField, {
4
+ key: '',
5
+ value: ''
6
+ }, end);
7
+ }
8
+
9
+ static _readField(tag, obj, pbf) {
10
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
11
+ }
12
+
13
+ }
14
+
15
+ class PropertiesReader {
16
+ static read(pbf, end) {
17
+ return pbf.readFields(PropertiesReader._readField, {
18
+ data: []
19
+ }, end);
20
+ }
21
+
22
+ static _readField(tag, obj, pbf) {
23
+ if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));
24
+ }
25
+
26
+ }
27
+
28
+ class DoublesReader {
29
+ static read(pbf, end) {
30
+ const {
31
+ value,
32
+ size
33
+ } = pbf.readFields(DoublesReader._readField, {
34
+ value: [],
35
+ size: 0
36
+ }, end);
37
+ return {
38
+ value: new Float32Array(value),
39
+ size
40
+ };
41
+ }
42
+
43
+ static _readField(tag, obj, pbf) {
44
+ if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
45
+ }
46
+
47
+ }
48
+
49
+ class IntsReader {
50
+ static read(pbf, end) {
51
+ const {
52
+ value,
53
+ size
54
+ } = pbf.readFields(IntsReader._readField, {
55
+ value: [],
56
+ size: 0
57
+ }, end);
58
+ return {
59
+ value: new Uint32Array(value),
60
+ size
61
+ };
62
+ }
63
+
64
+ static _readField(tag, obj, pbf) {
65
+ if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
66
+ }
67
+
68
+ }
69
+
70
+ class NumericPropReader {
71
+ static read(pbf, end) {
72
+ return pbf.readFields(NumericPropReader._readField, {
73
+ value: []
74
+ }, end);
75
+ }
76
+
77
+ static _readField(tag, obj, pbf) {
78
+ if (tag === 1) pbf.readPackedDouble(obj.value);
79
+ }
80
+
81
+ }
82
+
83
+ class NumericPropKeyValueReader {
84
+ static read(pbf, end) {
85
+ return pbf.readFields(NumericPropKeyValueReader._readField, {
86
+ key: '',
87
+ value: null
88
+ }, end);
89
+ }
90
+
91
+ static _readField(tag, obj, pbf) {
92
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);
93
+ }
94
+
95
+ }
96
+
97
+ class PointsReader {
98
+ static read(pbf, end) {
99
+ return pbf.readFields(PointsReader._readField, {
100
+ positions: null,
101
+ globalFeatureIds: null,
102
+ featureIds: null,
103
+ properties: [],
104
+ numericProps: {}
105
+ }, end);
106
+ }
107
+
108
+ static _readField(tag, obj, pbf) {
109
+ if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
110
+ const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
111
+ obj.numericProps[entry.key] = entry.value;
112
+ }
113
+ }
114
+
115
+ }
116
+
117
+ class LinesReader {
118
+ static read(pbf, end) {
119
+ return pbf.readFields(LinesReader._readField, {
120
+ positions: null,
121
+ pathIndices: null,
122
+ globalFeatureIds: null,
123
+ featureIds: null,
124
+ properties: [],
125
+ numericProps: {}
126
+ }, end);
127
+ }
128
+
129
+ static _readField(tag, obj, pbf) {
130
+ if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
131
+ const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
132
+ obj.numericProps[entry.key] = entry.value;
133
+ }
134
+ }
135
+
136
+ }
137
+
138
+ class PolygonsReader {
139
+ static read(pbf, end) {
140
+ return pbf.readFields(PolygonsReader._readField, {
141
+ positions: null,
142
+ polygonIndices: null,
143
+ globalFeatureIds: null,
144
+ featureIds: null,
145
+ primitivePolygonIndices: null,
146
+ triangles: null,
147
+ properties: [],
148
+ numericProps: {}
149
+ }, end);
150
+ }
151
+
152
+ static _readField(tag, obj, pbf) {
153
+ if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
154
+ const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
155
+ obj.numericProps[entry.key] = entry.value;
156
+ }
157
+ }
158
+
159
+ }
160
+
161
+ export class TileReader {
162
+ static read(pbf, end) {
163
+ return pbf.readFields(TileReader._readField, {
164
+ points: null,
165
+ lines: null,
166
+ polygons: null
167
+ }, end);
168
+ }
169
+
170
+ static _readField(tag, obj, pbf) {
171
+ if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);
172
+ }
173
+
174
+ }
190
175
  //# sourceMappingURL=carto-tile.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/layers/schema/carto-tile.js"],"names":["KeyValueObject","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","Properties","data","push","readVarint","pos","Doubles","size","Float32Array","readPackedDouble","Ints","Uint32Array","readPackedVarint","NumericProp","NumericPropKeyValue","_FieldEntry1","readDouble","StringProp","Points","positions","globalFeatureIds","featureIds","properties","numericProps","entry","Lines","pathIndices","Polygons","polygonIndices","primitivePolygonIndices","triangles","Tile","points","lines","polygons"],"mappings":"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","sourcesContent":["// KeyValueObject ========================================\n\nconst KeyValueObject = {};\n\nKeyValueObject.read = function (pbf, end) {\n return pbf.readFields(KeyValueObject._readField, {key: '', value: ''}, end);\n};\nKeyValueObject._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n};\n\n// Properties ========================================\n\nconst Properties = {};\n\nProperties.read = function (pbf, end) {\n return pbf.readFields(Properties._readField, {data: []}, end);\n};\nProperties._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));\n};\n\n// Doubles ========================================\n\nconst Doubles = {};\n\nDoubles.read = function (pbf, end) {\n // TODO perhaps we can do better and directly map from the source\n // ArrayBuffer using ArrayBuffer.slice()\n const {value, size} = pbf.readFields(Doubles._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n};\nDoubles._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n};\n\n// Ints ========================================\n\nconst Ints = {};\n\nInts.read = function (pbf, end) {\n const {value, size} = pbf.readFields(Ints._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n};\nInts._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n};\n\n// NumericProp ========================================\n\nconst NumericProp = {};\n\nNumericProp.read = function (pbf, end) {\n return pbf.readFields(NumericProp._readField, {value: []}, end);\n};\nNumericProp._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n};\n\n// NumericPropKeyValue ========================================\n\nconst NumericPropKeyValue = {};\n\nNumericPropKeyValue.read = function (pbf, end) {\n return pbf.readFields(NumericPropKeyValue._readField, {key: '', value: null}, end);\n};\nNumericPropKeyValue._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);\n};\n\n// NumericProp._FieldEntry1 ========================================\n\nNumericProp._FieldEntry1 = {};\n\nNumericProp._FieldEntry1.read = function (pbf, end) {\n return pbf.readFields(NumericProp._FieldEntry1._readField, {key: '', value: 0}, end);\n};\nNumericProp._FieldEntry1._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readDouble();\n};\n\n// StringProp ========================================\n\nconst StringProp = {};\n\nStringProp.read = function (pbf, end) {\n return pbf.readFields(StringProp._readField, {value: []}, end);\n};\nStringProp._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.value.push(pbf.readString());\n};\n\n// Points ========================================\n\nconst Points = {};\n\nPoints.read = function (pbf, end) {\n return pbf.readFields(\n Points._readField,\n {positions: null, globalFeatureIds: null, featureIds: null, properties: [], numericProps: {}},\n end\n );\n};\nPoints._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Lines ========================================\n\nconst Lines = {};\n\nLines.read = function (pbf, end) {\n return pbf.readFields(\n Lines._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n};\nLines._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Polygons ========================================\n\nconst Polygons = {};\n\nPolygons.read = function (pbf, end) {\n return pbf.readFields(\n Polygons._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n};\nPolygons._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.primitivePolygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Tile ========================================\n\nexport const Tile = {};\n\nTile.read = function (pbf, end) {\n return pbf.readFields(Tile._readField, {points: null, lines: null, polygons: null}, end);\n};\nTile._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);\n};\n"],"file":"carto-tile.js"}
1
+ {"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","data","push","readVarint","pos","DoublesReader","size","Float32Array","readPackedDouble","IntsReader","Uint32Array","readPackedVarint","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport interface Properties {\n data: KeyValueObject[];\n}\n\nclass PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {data: []}, end);\n }\n static _readField(this: void, tag: number, obj: Properties, pbf) {\n if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n // TODO perhaps we can do better and directly map from the source\n // ArrayBuffer using ArrayBuffer.slice()\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// NumericProp ========================================\n\ninterface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nclass NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: Properties[];\n numericProps: Record<string, NumericProp>;\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {positions: null, globalFeatureIds: null, featureIds: null, properties: [], numericProps: {}},\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
@@ -0,0 +1,57 @@
1
+ import { TileLayer } from '@deck.gl/geo-layers';
2
+
3
+ function isFeatureIdDefined(value) {
4
+ return value !== undefined && value !== null && value !== '';
5
+ }
6
+
7
+ export default class SpatialIndexTileLayer extends TileLayer {
8
+ _updateAutoHighlight(info) {
9
+ const {
10
+ hoveredFeatureId
11
+ } = this.state;
12
+ const hoveredFeature = info.object;
13
+ let newHoveredFeatureId;
14
+
15
+ if (hoveredFeature) {
16
+ newHoveredFeatureId = hoveredFeature.id;
17
+ }
18
+
19
+ if (hoveredFeatureId !== newHoveredFeatureId) {
20
+ let {
21
+ highlightColor
22
+ } = this.props;
23
+
24
+ if (typeof highlightColor === 'function') {
25
+ highlightColor = highlightColor(info);
26
+ }
27
+
28
+ this.setState({
29
+ highlightColor,
30
+ hoveredFeatureId: newHoveredFeatureId
31
+ });
32
+ }
33
+ }
34
+
35
+ getSubLayerPropsByTile(tile) {
36
+ return {
37
+ highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
38
+ highlightColor: this.state.highlightColor
39
+ };
40
+ }
41
+
42
+ getHighlightedObjectIndex(tile) {
43
+ const {
44
+ hoveredFeatureId
45
+ } = this.state;
46
+ const data = tile.content;
47
+ const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
48
+
49
+ if (!isFeatureIdPresent || !Array.isArray(data)) {
50
+ return -1;
51
+ }
52
+
53
+ return data.findIndex(feature => feature.id === hoveredFeatureId);
54
+ }
55
+
56
+ }
57
+ //# sourceMappingURL=spatial-index-tile-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.js"],"names":["TileLayer","isFeatureIdDefined","value","undefined","SpatialIndexTileLayer","_updateAutoHighlight","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","props","setState","getSubLayerPropsByTile","tile","highlightedObjectIndex","getHighlightedObjectIndex","data","content","isFeatureIdPresent","Array","isArray","findIndex","feature"],"mappings":"AAAA,SAAQA,SAAR,QAAwB,qBAAxB;;AAEA,SAASC,kBAAT,CAA4BC,KAA5B,EAAmC;AACjC,SAAOA,KAAK,KAAKC,SAAV,IAAuBD,KAAK,KAAK,IAAjC,IAAyCA,KAAK,KAAK,EAA1D;AACD;;AAED,eAAe,MAAME,qBAAN,SAAoCJ,SAApC,CAA8C;AAC3DK,EAAAA,oBAAoB,CAACC,IAAD,EAAO;AACzB,UAAM;AAACC,MAAAA;AAAD,QAAqB,KAAKC,KAAhC;AACA,UAAMC,cAAc,GAAGH,IAAI,CAACI,MAA5B;AACA,QAAIC,mBAAJ;;AAEA,QAAIF,cAAJ,EAAoB;AAClBE,MAAAA,mBAAmB,GAAGF,cAAc,CAACG,EAArC;AACD;;AAED,QAAIL,gBAAgB,KAAKI,mBAAzB,EAA8C;AAC5C,UAAI;AAACE,QAAAA;AAAD,UAAmB,KAAKC,KAA5B;;AACA,UAAI,OAAOD,cAAP,KAA0B,UAA9B,EAA0C;AACxCA,QAAAA,cAAc,GAAGA,cAAc,CAACP,IAAD,CAA/B;AACD;;AAED,WAAKS,QAAL,CAAc;AACZF,QAAAA,cADY;AAEZN,QAAAA,gBAAgB,EAAEI;AAFN,OAAd;AAID;AACF;;AAEDK,EAAAA,sBAAsB,CAACC,IAAD,EAAO;AAC3B,WAAO;AACLC,MAAAA,sBAAsB,EAAE,KAAKC,yBAAL,CAA+BF,IAA/B,CADnB;AAELJ,MAAAA,cAAc,EAAE,KAAKL,KAAL,CAAWK;AAFtB,KAAP;AAID;;AAEDM,EAAAA,yBAAyB,CAACF,IAAD,EAAO;AAC9B,UAAM;AAACV,MAAAA;AAAD,QAAqB,KAAKC,KAAhC;AACA,UAAMY,IAAI,GAAGH,IAAI,CAACI,OAAlB;AAEA,UAAMC,kBAAkB,GAAGrB,kBAAkB,CAACM,gBAAD,CAA7C;;AACA,QAAI,CAACe,kBAAD,IAAuB,CAACC,KAAK,CAACC,OAAN,CAAcJ,IAAd,CAA5B,EAAiD;AAC/C,aAAO,CAAC,CAAR;AACD;;AAED,WAAOA,IAAI,CAACK,SAAL,CAAeC,OAAO,IAAIA,OAAO,CAACd,EAAR,KAAeL,gBAAzC,CAAP;AACD;;AAxC0D","sourcesContent":["import {TileLayer} from '@deck.gl/geo-layers';\n\nfunction isFeatureIdDefined(value) {\n return value !== undefined && value !== null && value !== '';\n}\n\nexport default class SpatialIndexTileLayer extends TileLayer {\n _updateAutoHighlight(info) {\n const {hoveredFeatureId} = this.state;\n const hoveredFeature = info.object;\n let newHoveredFeatureId;\n\n if (hoveredFeature) {\n newHoveredFeatureId = hoveredFeature.id;\n }\n\n if (hoveredFeatureId !== newHoveredFeatureId) {\n let {highlightColor} = this.props;\n if (typeof highlightColor === 'function') {\n highlightColor = highlightColor(info);\n }\n\n this.setState({\n highlightColor,\n hoveredFeatureId: newHoveredFeatureId\n });\n }\n }\n\n getSubLayerPropsByTile(tile) {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n getHighlightedObjectIndex(tile) {\n const {hoveredFeatureId} = this.state;\n const data = tile.content;\n\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);\n if (!isFeatureIdPresent || !Array.isArray(data)) {\n return -1;\n }\n\n return data.findIndex(feature => feature.id === hoveredFeatureId);\n }\n}\n"],"file":"spatial-index-tile-layer.js"}