@deck.gl/carto 8.10.0-alpha.2 → 8.10.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 (296) hide show
  1. package/LICENSE +1 -1
  2. package/dist/cartoRasterTile-worker.js +1084 -0
  3. package/dist/cartoSpatialTile-worker.js +1469 -0
  4. package/dist/cartoVectorTile-worker.js +1727 -0
  5. package/dist/dist.dev.js +2137 -1936
  6. package/dist/es5/api/carto-api-error.js +3 -7
  7. package/dist/es5/api/carto-api-error.js.map +1 -1
  8. package/dist/es5/api/layer-map.js +3 -7
  9. package/dist/es5/api/layer-map.js.map +1 -1
  10. package/dist/es5/api/maps-api-common.js +0 -1
  11. package/dist/es5/api/maps-api-common.js.map +1 -1
  12. package/dist/es5/api/maps-v3-client.js +5 -20
  13. package/dist/es5/api/maps-v3-client.js.map +1 -1
  14. package/dist/es5/index.js +74 -6
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/layers/carto-layer.js +196 -200
  17. package/dist/es5/layers/carto-layer.js.map +1 -1
  18. package/dist/es5/layers/h3-tile-layer.js +57 -79
  19. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  20. package/dist/es5/layers/h3-tileset-2d.js +62 -68
  21. package/dist/es5/layers/h3-tileset-2d.js.map +1 -1
  22. package/dist/es5/layers/point-label-layer.js +160 -165
  23. package/dist/es5/layers/point-label-layer.js.map +1 -1
  24. package/dist/es5/layers/quadbin-layer.js +23 -27
  25. package/dist/es5/layers/quadbin-layer.js.map +1 -1
  26. package/dist/es5/layers/quadbin-tile-layer.js +39 -63
  27. package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
  28. package/dist/es5/layers/quadbin-tileset-2d.js +32 -38
  29. package/dist/es5/layers/quadbin-tileset-2d.js.map +1 -1
  30. package/dist/es5/layers/raster-layer.js +94 -98
  31. package/dist/es5/layers/raster-layer.js.map +1 -1
  32. package/dist/es5/layers/raster-tile-layer.js +37 -58
  33. package/dist/es5/layers/raster-tile-layer.js.map +1 -1
  34. package/dist/es5/layers/schema/carto-raster-tile-loader.js +13 -4
  35. package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
  36. package/dist/es5/layers/schema/carto-raster-tile.js +31 -39
  37. package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -1
  38. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +14 -8
  39. package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  40. package/dist/es5/layers/schema/carto-spatial-tile.js +36 -47
  41. package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
  42. package/dist/es5/layers/schema/carto-tile.js +161 -196
  43. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  44. package/dist/es5/layers/schema/carto-vector-tile-loader.js +64 -4
  45. package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
  46. package/dist/es5/layers/spatial-index-tile-layer.js +67 -73
  47. package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
  48. package/dist/es5/layers/utils.js +29 -0
  49. package/dist/es5/layers/utils.js.map +1 -0
  50. package/dist/es5/layers/vector-tile-layer.js +163 -0
  51. package/dist/es5/layers/vector-tile-layer.js.map +1 -0
  52. package/dist/es5/sources/base-source.js +100 -0
  53. package/dist/es5/sources/base-source.js.map +1 -0
  54. package/dist/es5/sources/common.js +48 -0
  55. package/dist/es5/sources/common.js.map +1 -0
  56. package/dist/es5/sources/h3-query-source.js +58 -0
  57. package/dist/es5/sources/h3-query-source.js.map +1 -0
  58. package/dist/es5/sources/h3-table-source.js +58 -0
  59. package/dist/es5/sources/h3-table-source.js.map +1 -0
  60. package/dist/es5/sources/h3-tileset-source.js +43 -0
  61. package/dist/es5/sources/h3-tileset-source.js.map +1 -0
  62. package/dist/es5/sources/index.js +94 -0
  63. package/dist/es5/sources/index.js.map +1 -0
  64. package/dist/es5/sources/quadbin-query-source.js +58 -0
  65. package/dist/es5/sources/quadbin-query-source.js.map +1 -0
  66. package/dist/es5/sources/quadbin-table-source.js +58 -0
  67. package/dist/es5/sources/quadbin-table-source.js.map +1 -0
  68. package/dist/es5/sources/quadbin-tileset-source.js +43 -0
  69. package/dist/es5/sources/quadbin-tileset-source.js.map +1 -0
  70. package/dist/es5/sources/raster-source.js +43 -0
  71. package/dist/es5/sources/raster-source.js.map +1 -0
  72. package/dist/es5/sources/utils.js +136 -0
  73. package/dist/es5/sources/utils.js.map +1 -0
  74. package/dist/es5/sources/vector-query-source.js +52 -0
  75. package/dist/es5/sources/vector-query-source.js.map +1 -0
  76. package/dist/es5/sources/vector-table-source.js +52 -0
  77. package/dist/es5/sources/vector-table-source.js.map +1 -0
  78. package/dist/es5/sources/vector-tileset-source.js +43 -0
  79. package/dist/es5/sources/vector-tileset-source.js.map +1 -0
  80. package/dist/es5/utils.js +5 -0
  81. package/dist/es5/utils.js.map +1 -1
  82. package/dist/es5/workers/cartoRasterTile.js +10 -0
  83. package/dist/es5/workers/cartoRasterTile.js.map +1 -0
  84. package/dist/es5/workers/cartoSpatialTile.js +10 -0
  85. package/dist/es5/workers/cartoSpatialTile.js.map +1 -0
  86. package/dist/es5/workers/cartoVectorTile.js +10 -0
  87. package/dist/es5/workers/cartoVectorTile.js.map +1 -0
  88. package/dist/esm/api/carto-api-error.js +8 -13
  89. package/dist/esm/api/carto-api-error.js.map +1 -1
  90. package/dist/esm/api/layer-map.js +7 -11
  91. package/dist/esm/api/layer-map.js.map +1 -1
  92. package/dist/esm/api/maps-api-common.js +3 -4
  93. package/dist/esm/api/maps-api-common.js.map +1 -1
  94. package/dist/esm/api/maps-client.js +7 -7
  95. package/dist/esm/api/maps-client.js.map +1 -1
  96. package/dist/esm/api/maps-v3-client.js +14 -24
  97. package/dist/esm/api/maps-v3-client.js.map +1 -1
  98. package/dist/esm/api/parseMap.js +4 -4
  99. package/dist/esm/api/parseMap.js.map +1 -1
  100. package/dist/esm/config.js +3 -3
  101. package/dist/esm/config.js.map +1 -1
  102. package/dist/esm/index.js +5 -4
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/layers/carto-layer.js +12 -15
  105. package/dist/esm/layers/carto-layer.js.map +1 -1
  106. package/dist/esm/layers/h3-tile-layer.js +24 -43
  107. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  108. package/dist/esm/layers/point-label-layer.js +6 -10
  109. package/dist/esm/layers/point-label-layer.js.map +1 -1
  110. package/dist/esm/layers/quadbin-layer.js +2 -5
  111. package/dist/esm/layers/quadbin-layer.js.map +1 -1
  112. package/dist/esm/layers/quadbin-tile-layer.js +21 -44
  113. package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
  114. package/dist/esm/layers/raster-layer-vertex.glsl.js +98 -1
  115. package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -1
  116. package/dist/esm/layers/raster-layer.js +4 -8
  117. package/dist/esm/layers/raster-layer.js.map +1 -1
  118. package/dist/esm/layers/raster-tile-layer.js +21 -39
  119. package/dist/esm/layers/raster-tile-layer.js.map +1 -1
  120. package/dist/esm/layers/schema/carto-raster-tile-loader.js +12 -4
  121. package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
  122. package/dist/esm/layers/schema/carto-raster-tile.js +1 -1
  123. package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -1
  124. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +13 -8
  125. package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  126. package/dist/esm/layers/schema/carto-tile.js +1 -1
  127. package/dist/esm/layers/schema/carto-tile.js.map +1 -1
  128. package/dist/esm/layers/schema/carto-vector-tile-loader.js +63 -4
  129. package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
  130. package/dist/esm/layers/spatial-index-tile-layer.js +2 -5
  131. package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
  132. package/dist/esm/layers/utils.js +14 -0
  133. package/dist/esm/layers/utils.js.map +1 -0
  134. package/dist/esm/layers/{carto-tile-layer.js → vector-tile-layer.js} +39 -18
  135. package/dist/esm/layers/vector-tile-layer.js.map +1 -0
  136. package/dist/esm/sources/base-source.js +49 -0
  137. package/dist/esm/sources/base-source.js.map +1 -0
  138. package/dist/esm/sources/common.js +26 -0
  139. package/dist/esm/sources/common.js.map +1 -0
  140. package/dist/esm/sources/h3-query-source.js +32 -0
  141. package/dist/esm/sources/h3-query-source.js.map +1 -0
  142. package/dist/esm/sources/h3-table-source.js +32 -0
  143. package/dist/esm/sources/h3-table-source.js.map +1 -0
  144. package/dist/esm/sources/h3-tileset-source.js +14 -0
  145. package/dist/esm/sources/h3-tileset-source.js.map +1 -0
  146. package/dist/esm/sources/index.js +12 -0
  147. package/dist/esm/sources/index.js.map +1 -0
  148. package/dist/esm/sources/quadbin-query-source.js +32 -0
  149. package/dist/esm/sources/quadbin-query-source.js.map +1 -0
  150. package/dist/esm/sources/quadbin-table-source.js +32 -0
  151. package/dist/esm/sources/quadbin-table-source.js.map +1 -0
  152. package/dist/esm/sources/quadbin-tileset-source.js +14 -0
  153. package/dist/esm/sources/quadbin-tileset-source.js.map +1 -0
  154. package/dist/esm/sources/raster-source.js +14 -0
  155. package/dist/esm/sources/raster-source.js.map +1 -0
  156. package/dist/esm/sources/utils.js +69 -0
  157. package/dist/esm/sources/utils.js.map +1 -0
  158. package/dist/esm/sources/vector-query-source.js +25 -0
  159. package/dist/esm/sources/vector-query-source.js.map +1 -0
  160. package/dist/esm/sources/vector-table-source.js +25 -0
  161. package/dist/esm/sources/vector-table-source.js.map +1 -0
  162. package/dist/esm/sources/vector-tileset-source.js +14 -0
  163. package/dist/esm/sources/vector-tileset-source.js.map +1 -0
  164. package/dist/esm/style/palette.js +2 -2
  165. package/dist/esm/style/palette.js.map +1 -1
  166. package/dist/esm/style/utils.js +1 -1
  167. package/dist/esm/style/utils.js.map +1 -1
  168. package/dist/esm/utils.js +3 -0
  169. package/dist/esm/utils.js.map +1 -1
  170. package/dist/esm/workers/cartoRasterTile.js +4 -0
  171. package/dist/esm/workers/cartoRasterTile.js.map +1 -0
  172. package/dist/esm/workers/cartoSpatialTile.js +4 -0
  173. package/dist/esm/workers/cartoSpatialTile.js.map +1 -0
  174. package/dist/esm/workers/cartoVectorTile.js +4 -0
  175. package/dist/esm/workers/cartoVectorTile.js.map +1 -0
  176. package/dist.min.js +45 -24
  177. package/package.json +11 -9
  178. package/src/api/layer-map.ts +4 -8
  179. package/src/api/maps-api-common.ts +0 -1
  180. package/src/api/maps-v3-client.ts +6 -5
  181. package/src/index.ts +34 -5
  182. package/src/layers/h3-tile-layer.ts +22 -35
  183. package/src/layers/quadbin-tile-layer.ts +19 -33
  184. package/src/layers/raster-tile-layer.ts +22 -26
  185. package/src/layers/schema/carto-raster-tile-loader.ts +26 -6
  186. package/src/layers/schema/carto-spatial-tile-loader.ts +25 -11
  187. package/src/layers/schema/carto-tile.ts +1 -1
  188. package/src/layers/schema/carto-vector-tile-loader.ts +79 -9
  189. package/src/layers/utils.ts +11 -0
  190. package/src/layers/{carto-tile-layer.ts → vector-tile-layer.ts} +40 -21
  191. package/src/sources/base-source.ts +55 -0
  192. package/src/sources/common.ts +132 -0
  193. package/src/sources/h3-query-source.ts +45 -0
  194. package/src/sources/h3-table-source.ts +46 -0
  195. package/src/sources/h3-tileset-source.ts +16 -0
  196. package/src/sources/index.ts +32 -0
  197. package/src/sources/quadbin-query-source.ts +46 -0
  198. package/src/sources/quadbin-table-source.ts +46 -0
  199. package/src/sources/quadbin-tileset-source.ts +16 -0
  200. package/src/sources/raster-source.ts +16 -0
  201. package/src/sources/utils.ts +63 -0
  202. package/src/sources/vector-query-source.ts +23 -0
  203. package/src/sources/vector-table-source.ts +23 -0
  204. package/src/sources/vector-tileset-source.ts +16 -0
  205. package/src/utils.ts +6 -0
  206. package/src/workers/cartoRasterTile.ts +4 -0
  207. package/src/workers/cartoSpatialTile.ts +4 -0
  208. package/src/workers/cartoVectorTile.ts +4 -0
  209. package/typed/api/layer-map.d.ts +2 -3
  210. package/typed/api/layer-map.d.ts.map +1 -1
  211. package/typed/api/maps-api-common.d.ts +0 -1
  212. package/typed/api/maps-api-common.d.ts.map +1 -1
  213. package/typed/api/maps-v3-client.d.ts +0 -3
  214. package/typed/api/maps-v3-client.d.ts.map +1 -1
  215. package/typed/index.d.ts +6 -4
  216. package/typed/index.d.ts.map +1 -1
  217. package/typed/layers/h3-tile-layer.d.ts +5 -8
  218. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  219. package/typed/layers/quadbin-tile-layer.d.ts +5 -9
  220. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
  221. package/typed/layers/raster-tile-layer.d.ts +6 -10
  222. package/typed/layers/raster-tile-layer.d.ts.map +1 -1
  223. package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  224. package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
  225. package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
  226. package/typed/layers/utils.d.ts +5 -0
  227. package/typed/layers/utils.d.ts.map +1 -0
  228. package/typed/layers/{carto-tile-layer.d.ts → vector-tile-layer.d.ts} +11 -7
  229. package/typed/layers/vector-tile-layer.d.ts.map +1 -0
  230. package/typed/sources/base-source.d.ts +4 -0
  231. package/typed/sources/base-source.d.ts.map +1 -0
  232. package/typed/sources/common.d.ts +116 -0
  233. package/typed/sources/common.d.ts.map +1 -0
  234. package/typed/sources/h3-query-source.d.ts +5 -0
  235. package/typed/sources/h3-query-source.d.ts.map +1 -0
  236. package/typed/sources/h3-table-source.d.ts +5 -0
  237. package/typed/sources/h3-table-source.d.ts.map +1 -0
  238. package/typed/sources/h3-tileset-source.d.ts +5 -0
  239. package/typed/sources/h3-tileset-source.d.ts.map +1 -0
  240. package/typed/sources/index.d.ts +23 -0
  241. package/typed/sources/index.d.ts.map +1 -0
  242. package/typed/sources/quadbin-query-source.d.ts +5 -0
  243. package/typed/sources/quadbin-query-source.d.ts.map +1 -0
  244. package/typed/sources/quadbin-table-source.d.ts +5 -0
  245. package/typed/sources/quadbin-table-source.d.ts.map +1 -0
  246. package/typed/sources/quadbin-tileset-source.d.ts +5 -0
  247. package/typed/sources/quadbin-tileset-source.d.ts.map +1 -0
  248. package/typed/sources/raster-source.d.ts +5 -0
  249. package/typed/sources/raster-source.d.ts.map +1 -0
  250. package/typed/sources/utils.d.ts +15 -0
  251. package/typed/sources/utils.d.ts.map +1 -0
  252. package/typed/sources/vector-query-source.d.ts +5 -0
  253. package/typed/sources/vector-query-source.d.ts.map +1 -0
  254. package/typed/sources/vector-table-source.d.ts +5 -0
  255. package/typed/sources/vector-table-source.d.ts.map +1 -0
  256. package/typed/sources/vector-tileset-source.d.ts +5 -0
  257. package/typed/sources/vector-tileset-source.d.ts.map +1 -0
  258. package/typed/utils.d.ts +1 -0
  259. package/typed/utils.d.ts.map +1 -1
  260. package/typed/workers/cartoRasterTile.d.ts +2 -0
  261. package/typed/workers/cartoRasterTile.d.ts.map +1 -0
  262. package/typed/workers/cartoSpatialTile.d.ts +2 -0
  263. package/typed/workers/cartoSpatialTile.d.ts.map +1 -0
  264. package/typed/workers/cartoVectorTile.d.ts +2 -0
  265. package/typed/workers/cartoVectorTile.d.ts.map +1 -0
  266. package/dist/es5/layers/carto-tile-layer.js +0 -145
  267. package/dist/es5/layers/carto-tile-layer.js.map +0 -1
  268. package/dist/esm/layers/carto-tile-layer.js.map +0 -1
  269. package/typed/api/index.js +0 -3
  270. package/typed/api/layer-map.js +0 -264
  271. package/typed/api/maps-api-common.js +0 -50
  272. package/typed/api/maps-client.js +0 -125
  273. package/typed/api/maps-v3-client.js +0 -304
  274. package/typed/api/parseMap.js +0 -178
  275. package/typed/basemap.js +0 -9
  276. package/typed/config.js +0 -35
  277. package/typed/index.js +0 -10
  278. package/typed/layers/carto-layer.js +0 -173
  279. package/typed/layers/carto-tile-layer.d.ts.map +0 -1
  280. package/typed/layers/carto-tile-layer.js +0 -105
  281. package/typed/layers/h3-tile-layer.js +0 -47
  282. package/typed/layers/h3-tileset-2d.js +0 -85
  283. package/typed/layers/quadkey-tile-layer.d.ts +0 -21
  284. package/typed/layers/quadkey-tile-layer.d.ts.map +0 -1
  285. package/typed/layers/quadkey-tile-layer.js +0 -42
  286. package/typed/layers/quadkey-tileset-2d.d.ts +0 -15
  287. package/typed/layers/quadkey-tileset-2d.d.ts.map +0 -1
  288. package/typed/layers/quadkey-tileset-2d.js +0 -36
  289. package/typed/layers/schema/carto-tile.js +0 -161
  290. package/typed/layers/spatial-index-tile-layer.js +0 -40
  291. package/typed/style/color-bins-style.js +0 -12
  292. package/typed/style/color-categories-style.js +0 -16
  293. package/typed/style/color-continuous-style.js +0 -12
  294. package/typed/style/palette.js +0 -62
  295. package/typed/style/utils.js +0 -15
  296. package/typed/utils.js +0 -4
@@ -1,161 +0,0 @@
1
- class KeyValueObjectReader {
2
- static read(pbf, end) {
3
- return pbf.readFields(KeyValueObjectReader._readField, { key: '', value: '' }, end);
4
- }
5
- static _readField(tag, obj, pbf) {
6
- if (tag === 1)
7
- obj.key = pbf.readString();
8
- else if (tag === 2)
9
- obj.value = pbf.readString();
10
- }
11
- }
12
- class PropertiesReader {
13
- static read(pbf, end) {
14
- return pbf.readFields(PropertiesReader._readField, { data: [] }, end);
15
- }
16
- static _readField(tag, obj, pbf) {
17
- if (tag === 1)
18
- obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));
19
- }
20
- }
21
- class DoublesReader {
22
- static read(pbf, end) {
23
- // TODO perhaps we can do better and directly map from the source
24
- // ArrayBuffer using ArrayBuffer.slice()
25
- const { value, size } = pbf.readFields(DoublesReader._readField, { value: [], size: 0 }, end);
26
- return { value: new Float32Array(value), size };
27
- }
28
- static _readField(tag, obj, pbf) {
29
- if (tag === 1)
30
- pbf.readPackedDouble(obj.value);
31
- else if (tag === 2)
32
- obj.size = pbf.readVarint(true);
33
- }
34
- }
35
- class IntsReader {
36
- static read(pbf, end) {
37
- const { value, size } = pbf.readFields(IntsReader._readField, { value: [], size: 0 }, end);
38
- return { value: new Uint32Array(value), size };
39
- }
40
- static _readField(tag, obj, pbf) {
41
- if (tag === 1)
42
- pbf.readPackedVarint(obj.value);
43
- else if (tag === 2)
44
- obj.size = pbf.readVarint(true);
45
- }
46
- }
47
- class NumericPropReader {
48
- static read(pbf, end) {
49
- return pbf.readFields(NumericPropReader._readField, { value: [] }, end);
50
- }
51
- static _readField(tag, obj, pbf) {
52
- if (tag === 1)
53
- pbf.readPackedDouble(obj.value);
54
- }
55
- }
56
- class NumericPropKeyValueReader {
57
- static read(pbf, end) {
58
- return pbf.readFields(NumericPropKeyValueReader._readField, { key: '', value: null }, end);
59
- }
60
- static _readField(tag, obj, pbf) {
61
- if (tag === 1)
62
- obj.key = pbf.readString();
63
- else if (tag === 2)
64
- obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);
65
- }
66
- }
67
- class PointsReader {
68
- static read(pbf, end) {
69
- return pbf.readFields(PointsReader._readField, { positions: null, globalFeatureIds: null, featureIds: null, properties: [], numericProps: {} }, end);
70
- }
71
- static _readField(tag, obj, pbf) {
72
- if (tag === 1)
73
- obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);
74
- else if (tag === 2)
75
- obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
76
- else if (tag === 3)
77
- obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
78
- else if (tag === 4)
79
- obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));
80
- else if (tag === 5) {
81
- const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
82
- obj.numericProps[entry.key] = entry.value;
83
- }
84
- }
85
- }
86
- // Lines ========================================
87
- class LinesReader {
88
- static read(pbf, end) {
89
- return pbf.readFields(LinesReader._readField, {
90
- positions: null,
91
- pathIndices: null,
92
- globalFeatureIds: null,
93
- featureIds: null,
94
- properties: [],
95
- numericProps: {}
96
- }, end);
97
- }
98
- static _readField(tag, obj, pbf) {
99
- if (tag === 1)
100
- obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);
101
- else if (tag === 2)
102
- obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
103
- else if (tag === 3)
104
- obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
105
- else if (tag === 4)
106
- obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
107
- else if (tag === 5)
108
- obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));
109
- else if (tag === 6) {
110
- const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
111
- obj.numericProps[entry.key] = entry.value;
112
- }
113
- }
114
- }
115
- class PolygonsReader {
116
- static read(pbf, end) {
117
- return pbf.readFields(PolygonsReader._readField, {
118
- positions: null,
119
- polygonIndices: null,
120
- globalFeatureIds: null,
121
- featureIds: null,
122
- primitivePolygonIndices: null,
123
- triangles: null,
124
- properties: [],
125
- numericProps: {}
126
- }, end);
127
- }
128
- static _readField(tag, obj, pbf) {
129
- if (tag === 1)
130
- obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);
131
- else if (tag === 2)
132
- obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
133
- else if (tag === 3)
134
- obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
135
- else if (tag === 4)
136
- obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
137
- else if (tag === 5)
138
- obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
139
- else if (tag === 6)
140
- obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);
141
- else if (tag === 7)
142
- obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));
143
- else if (tag === 8) {
144
- const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
145
- obj.numericProps[entry.key] = entry.value;
146
- }
147
- }
148
- }
149
- export class TileReader {
150
- static read(pbf, end) {
151
- return pbf.readFields(TileReader._readField, { points: null, lines: null, polygons: null }, end);
152
- }
153
- static _readField(tag, obj, pbf) {
154
- if (tag === 1)
155
- obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);
156
- else if (tag === 2)
157
- obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);
158
- else if (tag === 3)
159
- obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);
160
- }
161
- }
@@ -1,40 +0,0 @@
1
- import { TileLayer } from '@deck.gl/geo-layers';
2
- function isFeatureIdDefined(value) {
3
- return value !== undefined && value !== null && value !== '';
4
- }
5
- export default class SpatialIndexTileLayer extends TileLayer {
6
- _updateAutoHighlight(info) {
7
- const { hoveredFeatureId } = this.state;
8
- const hoveredFeature = info.object;
9
- let newHoveredFeatureId;
10
- if (hoveredFeature) {
11
- newHoveredFeatureId = hoveredFeature.id;
12
- }
13
- if (hoveredFeatureId !== newHoveredFeatureId) {
14
- let { highlightColor } = this.props;
15
- if (typeof highlightColor === 'function') {
16
- highlightColor = highlightColor(info);
17
- }
18
- this.setState({
19
- highlightColor,
20
- hoveredFeatureId: newHoveredFeatureId
21
- });
22
- }
23
- }
24
- getSubLayerPropsByTile(tile) {
25
- return {
26
- highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
27
- highlightColor: this.state.highlightColor
28
- };
29
- }
30
- getHighlightedObjectIndex(tile) {
31
- const { hoveredFeatureId } = this.state;
32
- const data = tile.content;
33
- const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
34
- if (!isFeatureIdPresent || !Array.isArray(data)) {
35
- return -1;
36
- }
37
- return data.findIndex(feature => feature.id === hoveredFeatureId);
38
- }
39
- }
40
- SpatialIndexTileLayer.layerName = 'SpatialIndexTileLayer';
@@ -1,12 +0,0 @@
1
- import { scaleThreshold } from 'd3-scale';
2
- import getPalette, { DEFAULT_PALETTE, NULL_COLOR } from './palette';
3
- import { assert, getAttrValue } from './utils';
4
- export default function colorBins({ attr, domain, colors = DEFAULT_PALETTE, nullColor = NULL_COLOR }) {
5
- assert(Array.isArray(domain), 'Expected "domain" to be an array of numbers');
6
- const palette = typeof colors === 'string' ? getPalette(colors, domain.length + 1) : colors;
7
- const color = scaleThreshold().domain(domain).range(palette);
8
- return d => {
9
- const value = getAttrValue(attr, d);
10
- return typeof value === 'number' && Number.isFinite(value) ? color(value) : nullColor;
11
- };
12
- }
@@ -1,16 +0,0 @@
1
- import getPalette, { DEFAULT_PALETTE, NULL_COLOR, OTHERS_COLOR } from './palette';
2
- import { assert, getAttrValue } from './utils';
3
- export default function colorCategories({ attr, domain, colors = DEFAULT_PALETTE, nullColor = NULL_COLOR, othersColor = OTHERS_COLOR }) {
4
- assert(Array.isArray(domain), 'Expected "domain" to be an array of numbers or strings');
5
- const colorsByCategory = {};
6
- const palette = typeof colors === 'string' ? getPalette(colors, domain.length) : colors;
7
- for (const [i, c] of domain.entries()) {
8
- colorsByCategory[c] = palette[i];
9
- }
10
- return d => {
11
- const value = getAttrValue(attr, d);
12
- return (typeof value === 'number' && Number.isFinite(value)) || typeof value === 'string'
13
- ? colorsByCategory[value] || othersColor
14
- : nullColor;
15
- };
16
- }
@@ -1,12 +0,0 @@
1
- import { scaleLinear } from 'd3-scale';
2
- import getPalette, { DEFAULT_PALETTE, NULL_COLOR } from './palette';
3
- import { assert, getAttrValue } from './utils';
4
- export default function colorContinuous({ attr, domain, colors = DEFAULT_PALETTE, nullColor = NULL_COLOR }) {
5
- assert(Array.isArray(domain), 'Expected "domain" to be an array of numbers');
6
- const palette = typeof colors === 'string' ? getPalette(colors, domain.length) : colors;
7
- const color = scaleLinear().domain(domain).range(palette);
8
- return d => {
9
- const value = getAttrValue(attr, d);
10
- return typeof value === 'number' && Number.isFinite(value) ? color(value) : nullColor;
11
- };
12
- }
@@ -1,62 +0,0 @@
1
- import * as cartoColors from 'cartocolor';
2
- import { assert } from './utils';
3
- export const DEFAULT_PALETTE = 'PurpOr';
4
- export const NULL_COLOR = [204, 204, 204];
5
- export const OTHERS_COLOR = [119, 119, 119];
6
- export default function getPalette(name, numCategories) {
7
- const palette = cartoColors[name];
8
- let paletteIndex = numCategories;
9
- assert(palette, `Palette "${name}" not found. Expected a CARTOColors string`);
10
- const palettesColorVariants = Object.keys(palette)
11
- .filter(p => p !== 'tags')
12
- .map(Number);
13
- const longestPaletteIndex = Math.max(...palettesColorVariants);
14
- const smallestPaletteIndex = Math.min(...palettesColorVariants);
15
- if (!Number.isInteger(numCategories) || numCategories > longestPaletteIndex) {
16
- paletteIndex = longestPaletteIndex;
17
- }
18
- else if (numCategories < smallestPaletteIndex) {
19
- paletteIndex = smallestPaletteIndex;
20
- }
21
- let colors = palette[paletteIndex];
22
- if (palette.tags && palette.tags.includes('qualitative')) {
23
- colors = colors.slice(0, -1);
24
- }
25
- return colors.map(c => hexToRgb(c));
26
- }
27
- export function hexToRgb(hex) {
28
- // Evaluate #ABC
29
- let result = /^#?([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})$/i.exec(hex);
30
- if (result) {
31
- return [
32
- parseInt(result[1] + result[1], 16),
33
- parseInt(result[2] + result[2], 16),
34
- parseInt(result[3] + result[3], 16),
35
- 255
36
- ];
37
- }
38
- // Evaluate #ABCD
39
- result = /^#?([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})$/i.exec(hex);
40
- if (result) {
41
- return [
42
- parseInt(result[1] + result[1], 16),
43
- parseInt(result[2] + result[2], 16),
44
- parseInt(result[3] + result[3], 16),
45
- parseInt(result[4] + result[4], 16)
46
- ];
47
- }
48
- // Evaluate #ABCDEF
49
- result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
50
- if (result) {
51
- return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), 255];
52
- }
53
- // Evaluate #ABCDEFAF
54
- result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
55
- assert(result, `Hexadecimal color "${hex}" was not parsed correctly`);
56
- return [
57
- parseInt(result[1], 16),
58
- parseInt(result[2], 16),
59
- parseInt(result[3], 16),
60
- parseInt(result[4], 16)
61
- ];
62
- }
@@ -1,15 +0,0 @@
1
- const ALLOWED_ATTR_TYPES = Object.freeze(['function', 'string']);
2
- export function getAttrValue(attr, d) {
3
- assert(typeof d === 'object', 'Expected "data" to be an object');
4
- assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected "attr" to be a function or string');
5
- // Is function
6
- if (typeof attr === 'function') {
7
- return attr(d);
8
- }
9
- return d.properties[attr];
10
- }
11
- export function assert(condition, message = '') {
12
- if (!condition) {
13
- throw new Error(`CARTO style error: ${message}`);
14
- }
15
- }
package/typed/utils.js DELETED
@@ -1,4 +0,0 @@
1
- import { log } from '@deck.gl/core';
2
- export function assert(condition, message) {
3
- log.assert(condition, message);
4
- }