@deck.gl/carto 8.10.0-alpha.2 → 8.10.0-alpha.4

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 (249) 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 +1733 -881
  6. package/dist/es5/api/layer-map.js +3 -7
  7. package/dist/es5/api/layer-map.js.map +1 -1
  8. package/dist/es5/api/maps-api-common.js +0 -1
  9. package/dist/es5/api/maps-api-common.js.map +1 -1
  10. package/dist/es5/api/maps-v3-client.js +5 -20
  11. package/dist/es5/api/maps-v3-client.js.map +1 -1
  12. package/dist/es5/index.js +74 -6
  13. package/dist/es5/index.js.map +1 -1
  14. package/dist/es5/layers/h3-tile-layer.js +23 -41
  15. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  16. package/dist/es5/layers/quadbin-tile-layer.js +21 -42
  17. package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
  18. package/dist/es5/layers/raster-tile-layer.js +23 -39
  19. package/dist/es5/layers/raster-tile-layer.js.map +1 -1
  20. package/dist/es5/layers/schema/carto-raster-tile-loader.js +13 -4
  21. package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
  22. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +14 -8
  23. package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  24. package/dist/es5/layers/schema/carto-tile.js +1 -1
  25. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  26. package/dist/es5/layers/schema/carto-vector-tile-loader.js +64 -4
  27. package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
  28. package/dist/es5/layers/utils.js +29 -0
  29. package/dist/es5/layers/utils.js.map +1 -0
  30. package/dist/es5/layers/{carto-tile-layer.js → vector-tile-layer.js} +49 -24
  31. package/dist/es5/layers/vector-tile-layer.js.map +1 -0
  32. package/dist/es5/sources/base-source.js +100 -0
  33. package/dist/es5/sources/base-source.js.map +1 -0
  34. package/dist/es5/sources/common.js +48 -0
  35. package/dist/es5/sources/common.js.map +1 -0
  36. package/dist/es5/sources/h3-query-source.js +58 -0
  37. package/dist/es5/sources/h3-query-source.js.map +1 -0
  38. package/dist/es5/sources/h3-table-source.js +58 -0
  39. package/dist/es5/sources/h3-table-source.js.map +1 -0
  40. package/dist/es5/sources/h3-tileset-source.js +43 -0
  41. package/dist/es5/sources/h3-tileset-source.js.map +1 -0
  42. package/dist/es5/sources/index.js +94 -0
  43. package/dist/es5/sources/index.js.map +1 -0
  44. package/dist/es5/sources/quadbin-query-source.js +58 -0
  45. package/dist/es5/sources/quadbin-query-source.js.map +1 -0
  46. package/dist/es5/sources/quadbin-table-source.js +58 -0
  47. package/dist/es5/sources/quadbin-table-source.js.map +1 -0
  48. package/dist/es5/sources/quadbin-tileset-source.js +43 -0
  49. package/dist/es5/sources/quadbin-tileset-source.js.map +1 -0
  50. package/dist/es5/sources/raster-source.js +43 -0
  51. package/dist/es5/sources/raster-source.js.map +1 -0
  52. package/dist/es5/sources/utils.js +136 -0
  53. package/dist/es5/sources/utils.js.map +1 -0
  54. package/dist/es5/sources/vector-query-source.js +52 -0
  55. package/dist/es5/sources/vector-query-source.js.map +1 -0
  56. package/dist/es5/sources/vector-table-source.js +52 -0
  57. package/dist/es5/sources/vector-table-source.js.map +1 -0
  58. package/dist/es5/sources/vector-tileset-source.js +43 -0
  59. package/dist/es5/sources/vector-tileset-source.js.map +1 -0
  60. package/dist/es5/utils.js +5 -0
  61. package/dist/es5/utils.js.map +1 -1
  62. package/dist/es5/workers/cartoRasterTile.js +10 -0
  63. package/dist/es5/workers/cartoRasterTile.js.map +1 -0
  64. package/dist/es5/workers/cartoSpatialTile.js +10 -0
  65. package/dist/es5/workers/cartoSpatialTile.js.map +1 -0
  66. package/dist/es5/workers/cartoVectorTile.js +10 -0
  67. package/dist/es5/workers/cartoVectorTile.js.map +1 -0
  68. package/dist/esm/api/layer-map.js +3 -7
  69. package/dist/esm/api/layer-map.js.map +1 -1
  70. package/dist/esm/api/maps-api-common.js +0 -1
  71. package/dist/esm/api/maps-api-common.js.map +1 -1
  72. package/dist/esm/api/maps-v3-client.js +2 -12
  73. package/dist/esm/api/maps-v3-client.js.map +1 -1
  74. package/dist/esm/index.js +5 -4
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/layers/h3-tile-layer.js +21 -37
  77. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  78. package/dist/esm/layers/quadbin-tile-layer.js +18 -38
  79. package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
  80. package/dist/esm/layers/raster-tile-layer.js +19 -34
  81. package/dist/esm/layers/raster-tile-layer.js.map +1 -1
  82. package/dist/esm/layers/schema/carto-raster-tile-loader.js +12 -4
  83. package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
  84. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +13 -8
  85. package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  86. package/dist/esm/layers/schema/carto-tile.js +1 -1
  87. package/dist/esm/layers/schema/carto-tile.js.map +1 -1
  88. package/dist/esm/layers/schema/carto-vector-tile-loader.js +63 -4
  89. package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
  90. package/dist/esm/layers/utils.js +14 -0
  91. package/dist/esm/layers/utils.js.map +1 -0
  92. package/dist/esm/layers/{carto-tile-layer.js → vector-tile-layer.js} +39 -15
  93. package/dist/esm/layers/vector-tile-layer.js.map +1 -0
  94. package/dist/esm/sources/base-source.js +49 -0
  95. package/dist/esm/sources/base-source.js.map +1 -0
  96. package/dist/esm/sources/common.js +26 -0
  97. package/dist/esm/sources/common.js.map +1 -0
  98. package/dist/esm/sources/h3-query-source.js +32 -0
  99. package/dist/esm/sources/h3-query-source.js.map +1 -0
  100. package/dist/esm/sources/h3-table-source.js +32 -0
  101. package/dist/esm/sources/h3-table-source.js.map +1 -0
  102. package/dist/esm/sources/h3-tileset-source.js +14 -0
  103. package/dist/esm/sources/h3-tileset-source.js.map +1 -0
  104. package/dist/esm/sources/index.js +12 -0
  105. package/dist/esm/sources/index.js.map +1 -0
  106. package/dist/esm/sources/quadbin-query-source.js +32 -0
  107. package/dist/esm/sources/quadbin-query-source.js.map +1 -0
  108. package/dist/esm/sources/quadbin-table-source.js +32 -0
  109. package/dist/esm/sources/quadbin-table-source.js.map +1 -0
  110. package/dist/esm/sources/quadbin-tileset-source.js +14 -0
  111. package/dist/esm/sources/quadbin-tileset-source.js.map +1 -0
  112. package/dist/esm/sources/raster-source.js +14 -0
  113. package/dist/esm/sources/raster-source.js.map +1 -0
  114. package/dist/esm/sources/utils.js +69 -0
  115. package/dist/esm/sources/utils.js.map +1 -0
  116. package/dist/esm/sources/vector-query-source.js +25 -0
  117. package/dist/esm/sources/vector-query-source.js.map +1 -0
  118. package/dist/esm/sources/vector-table-source.js +25 -0
  119. package/dist/esm/sources/vector-table-source.js.map +1 -0
  120. package/dist/esm/sources/vector-tileset-source.js +14 -0
  121. package/dist/esm/sources/vector-tileset-source.js.map +1 -0
  122. package/dist/esm/utils.js +3 -0
  123. package/dist/esm/utils.js.map +1 -1
  124. package/dist/esm/workers/cartoRasterTile.js +4 -0
  125. package/dist/esm/workers/cartoRasterTile.js.map +1 -0
  126. package/dist/esm/workers/cartoSpatialTile.js +4 -0
  127. package/dist/esm/workers/cartoSpatialTile.js.map +1 -0
  128. package/dist/esm/workers/cartoVectorTile.js +4 -0
  129. package/dist/esm/workers/cartoVectorTile.js.map +1 -0
  130. package/dist.min.js +25 -25
  131. package/package.json +11 -9
  132. package/src/api/layer-map.ts +4 -8
  133. package/src/api/maps-api-common.ts +0 -1
  134. package/src/api/maps-v3-client.ts +6 -5
  135. package/src/index.ts +34 -5
  136. package/src/layers/h3-tile-layer.ts +22 -35
  137. package/src/layers/quadbin-tile-layer.ts +19 -33
  138. package/src/layers/raster-tile-layer.ts +22 -26
  139. package/src/layers/schema/carto-raster-tile-loader.ts +26 -6
  140. package/src/layers/schema/carto-spatial-tile-loader.ts +25 -11
  141. package/src/layers/schema/carto-tile.ts +1 -1
  142. package/src/layers/schema/carto-vector-tile-loader.ts +79 -9
  143. package/src/layers/utils.ts +11 -0
  144. package/src/layers/{carto-tile-layer.ts → vector-tile-layer.ts} +40 -21
  145. package/src/sources/base-source.ts +55 -0
  146. package/src/sources/common.ts +132 -0
  147. package/src/sources/h3-query-source.ts +45 -0
  148. package/src/sources/h3-table-source.ts +46 -0
  149. package/src/sources/h3-tileset-source.ts +16 -0
  150. package/src/sources/index.ts +32 -0
  151. package/src/sources/quadbin-query-source.ts +46 -0
  152. package/src/sources/quadbin-table-source.ts +46 -0
  153. package/src/sources/quadbin-tileset-source.ts +16 -0
  154. package/src/sources/raster-source.ts +16 -0
  155. package/src/sources/utils.ts +63 -0
  156. package/src/sources/vector-query-source.ts +23 -0
  157. package/src/sources/vector-table-source.ts +23 -0
  158. package/src/sources/vector-tileset-source.ts +16 -0
  159. package/src/utils.ts +6 -0
  160. package/src/workers/cartoRasterTile.ts +4 -0
  161. package/src/workers/cartoSpatialTile.ts +4 -0
  162. package/src/workers/cartoVectorTile.ts +4 -0
  163. package/typed/api/layer-map.d.ts +2 -3
  164. package/typed/api/layer-map.d.ts.map +1 -1
  165. package/typed/api/maps-api-common.d.ts +0 -1
  166. package/typed/api/maps-api-common.d.ts.map +1 -1
  167. package/typed/api/maps-v3-client.d.ts +0 -3
  168. package/typed/api/maps-v3-client.d.ts.map +1 -1
  169. package/typed/index.d.ts +6 -4
  170. package/typed/index.d.ts.map +1 -1
  171. package/typed/layers/h3-tile-layer.d.ts +5 -8
  172. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  173. package/typed/layers/quadbin-tile-layer.d.ts +5 -9
  174. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
  175. package/typed/layers/raster-tile-layer.d.ts +6 -10
  176. package/typed/layers/raster-tile-layer.d.ts.map +1 -1
  177. package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  178. package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
  179. package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
  180. package/typed/layers/utils.d.ts +5 -0
  181. package/typed/layers/utils.d.ts.map +1 -0
  182. package/typed/layers/{carto-tile-layer.d.ts → vector-tile-layer.d.ts} +11 -7
  183. package/typed/layers/vector-tile-layer.d.ts.map +1 -0
  184. package/typed/sources/base-source.d.ts +4 -0
  185. package/typed/sources/base-source.d.ts.map +1 -0
  186. package/typed/sources/common.d.ts +116 -0
  187. package/typed/sources/common.d.ts.map +1 -0
  188. package/typed/sources/h3-query-source.d.ts +5 -0
  189. package/typed/sources/h3-query-source.d.ts.map +1 -0
  190. package/typed/sources/h3-table-source.d.ts +5 -0
  191. package/typed/sources/h3-table-source.d.ts.map +1 -0
  192. package/typed/sources/h3-tileset-source.d.ts +5 -0
  193. package/typed/sources/h3-tileset-source.d.ts.map +1 -0
  194. package/typed/sources/index.d.ts +23 -0
  195. package/typed/sources/index.d.ts.map +1 -0
  196. package/typed/sources/quadbin-query-source.d.ts +5 -0
  197. package/typed/sources/quadbin-query-source.d.ts.map +1 -0
  198. package/typed/sources/quadbin-table-source.d.ts +5 -0
  199. package/typed/sources/quadbin-table-source.d.ts.map +1 -0
  200. package/typed/sources/quadbin-tileset-source.d.ts +5 -0
  201. package/typed/sources/quadbin-tileset-source.d.ts.map +1 -0
  202. package/typed/sources/raster-source.d.ts +5 -0
  203. package/typed/sources/raster-source.d.ts.map +1 -0
  204. package/typed/sources/utils.d.ts +15 -0
  205. package/typed/sources/utils.d.ts.map +1 -0
  206. package/typed/sources/vector-query-source.d.ts +5 -0
  207. package/typed/sources/vector-query-source.d.ts.map +1 -0
  208. package/typed/sources/vector-table-source.d.ts +5 -0
  209. package/typed/sources/vector-table-source.d.ts.map +1 -0
  210. package/typed/sources/vector-tileset-source.d.ts +5 -0
  211. package/typed/sources/vector-tileset-source.d.ts.map +1 -0
  212. package/typed/utils.d.ts +1 -0
  213. package/typed/utils.d.ts.map +1 -1
  214. package/typed/workers/cartoRasterTile.d.ts +2 -0
  215. package/typed/workers/cartoRasterTile.d.ts.map +1 -0
  216. package/typed/workers/cartoSpatialTile.d.ts +2 -0
  217. package/typed/workers/cartoSpatialTile.d.ts.map +1 -0
  218. package/typed/workers/cartoVectorTile.d.ts +2 -0
  219. package/typed/workers/cartoVectorTile.d.ts.map +1 -0
  220. package/dist/es5/layers/carto-tile-layer.js.map +0 -1
  221. package/dist/esm/layers/carto-tile-layer.js.map +0 -1
  222. package/typed/api/index.js +0 -3
  223. package/typed/api/layer-map.js +0 -264
  224. package/typed/api/maps-api-common.js +0 -50
  225. package/typed/api/maps-client.js +0 -125
  226. package/typed/api/maps-v3-client.js +0 -304
  227. package/typed/api/parseMap.js +0 -178
  228. package/typed/basemap.js +0 -9
  229. package/typed/config.js +0 -35
  230. package/typed/index.js +0 -10
  231. package/typed/layers/carto-layer.js +0 -173
  232. package/typed/layers/carto-tile-layer.d.ts.map +0 -1
  233. package/typed/layers/carto-tile-layer.js +0 -105
  234. package/typed/layers/h3-tile-layer.js +0 -47
  235. package/typed/layers/h3-tileset-2d.js +0 -85
  236. package/typed/layers/quadkey-tile-layer.d.ts +0 -21
  237. package/typed/layers/quadkey-tile-layer.d.ts.map +0 -1
  238. package/typed/layers/quadkey-tile-layer.js +0 -42
  239. package/typed/layers/quadkey-tileset-2d.d.ts +0 -15
  240. package/typed/layers/quadkey-tileset-2d.d.ts.map +0 -1
  241. package/typed/layers/quadkey-tileset-2d.js +0 -36
  242. package/typed/layers/schema/carto-tile.js +0 -161
  243. package/typed/layers/spatial-index-tile-layer.js +0 -40
  244. package/typed/style/color-bins-style.js +0 -12
  245. package/typed/style/color-categories-style.js +0 -16
  246. package/typed/style/color-continuous-style.js +0 -12
  247. package/typed/style/palette.js +0 -62
  248. package/typed/style/utils.js +0 -15
  249. package/typed/utils.js +0 -4
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.cartoVectorTableSource = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _baseSource = require("./base-source");
15
+
16
+ var cartoVectorTableSource = function () {
17
+ var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
18
+ var columns, spatialDataColumn, tableName, urlParameters;
19
+ return _regenerator.default.wrap(function _callee$(_context) {
20
+ while (1) {
21
+ switch (_context.prev = _context.next) {
22
+ case 0:
23
+ columns = options.columns, spatialDataColumn = options.spatialDataColumn, tableName = options.tableName;
24
+ urlParameters = {
25
+ name: tableName
26
+ };
27
+
28
+ if (columns) {
29
+ urlParameters.columns = columns.join(',');
30
+ }
31
+
32
+ if (spatialDataColumn) {
33
+ urlParameters.geo_column = spatialDataColumn;
34
+ }
35
+
36
+ return _context.abrupt("return", (0, _baseSource.cartoBaseSource)('table', options, urlParameters));
37
+
38
+ case 5:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }
43
+ }, _callee);
44
+ }));
45
+
46
+ return function cartoVectorTableSource(_x) {
47
+ return _ref.apply(this, arguments);
48
+ };
49
+ }();
50
+
51
+ exports.cartoVectorTableSource = cartoVectorTableSource;
52
+ //# sourceMappingURL=vector-table-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/sources/vector-table-source.ts"],"names":["cartoVectorTableSource","options","columns","spatialDataColumn","tableName","urlParameters","name","join","geo_column"],"mappings":";;;;;;;;;;;;;AACA;;AAMA,IAAMA,sBAAkE;AAAA,uEAAG,iBACzEC,OADyE;AAAA;AAAA;AAAA;AAAA;AAAA;AAGlEC,YAAAA,OAHkE,GAGzBD,OAHyB,CAGlEC,OAHkE,EAGzDC,iBAHyD,GAGzBF,OAHyB,CAGzDE,iBAHyD,EAGtCC,SAHsC,GAGzBH,OAHyB,CAGtCG,SAHsC;AAInEC,YAAAA,aAJmE,GAIpC;AAACC,cAAAA,IAAI,EAAEF;AAAP,aAJoC;;AAMzE,gBAAIF,OAAJ,EAAa;AACXG,cAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACK,IAAR,CAAa,GAAb,CAAxB;AACD;;AACD,gBAAIJ,iBAAJ,EAAuB;AACrBE,cAAAA,aAAa,CAACG,UAAd,GAA2BL,iBAA3B;AACD;;AAXwE,6CAYlE,iCAA+B,OAA/B,EAAwCF,OAAxC,EAAiDI,aAAjD,CAZkE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAlEL,sBAAkE;AAAA;AAAA;AAAA,GAAxE","sourcesContent":["/* eslint-disable camelcase */\nimport {cartoBaseSource} from './base-source';\nimport {CartoSourceOptions, CartoTableSourceOptions, TypedSource} from './common';\n\nexport type CartoVectorTableSourceOptions = CartoSourceOptions & CartoTableSourceOptions;\ntype UrlParameters = {columns?: string; geo_column?: string; name: string};\n\nconst cartoVectorTableSource: TypedSource<CartoVectorTableSourceOptions> = async function (\n options: CartoVectorTableSourceOptions\n): Promise<any> {\n const {columns, spatialDataColumn, tableName} = options;\n const urlParameters: UrlParameters = {name: tableName};\n\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n if (spatialDataColumn) {\n urlParameters.geo_column = spatialDataColumn;\n }\n return cartoBaseSource<UrlParameters>('table', options, urlParameters);\n};\n\nexport {cartoVectorTableSource};\n"],"file":"vector-table-source.js"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.cartoVectorTilesetSource = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _baseSource = require("./base-source");
15
+
16
+ var cartoVectorTilesetSource = function () {
17
+ var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
18
+ var tableName, urlParameters;
19
+ return _regenerator.default.wrap(function _callee$(_context) {
20
+ while (1) {
21
+ switch (_context.prev = _context.next) {
22
+ case 0:
23
+ tableName = options.tableName;
24
+ urlParameters = {
25
+ name: tableName
26
+ };
27
+ return _context.abrupt("return", (0, _baseSource.cartoBaseSource)('tileset', options, urlParameters));
28
+
29
+ case 3:
30
+ case "end":
31
+ return _context.stop();
32
+ }
33
+ }
34
+ }, _callee);
35
+ }));
36
+
37
+ return function cartoVectorTilesetSource(_x) {
38
+ return _ref.apply(this, arguments);
39
+ };
40
+ }();
41
+
42
+ exports.cartoVectorTilesetSource = cartoVectorTilesetSource;
43
+ //# sourceMappingURL=vector-tileset-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/sources/vector-tileset-source.ts"],"names":["cartoVectorTilesetSource","options","tableName","urlParameters","name"],"mappings":";;;;;;;;;;;;;AAAA;;AAMA,IAAMA,wBAAyE;AAAA,uEAAG,iBAChFC,OADgF;AAAA;AAAA;AAAA;AAAA;AAAA;AAGzEC,YAAAA,SAHyE,GAG5DD,OAH4D,CAGzEC,SAHyE;AAI1EC,YAAAA,aAJ0E,GAI3C;AAACC,cAAAA,IAAI,EAAEF;AAAP,aAJ2C;AAAA,6CAMzE,iCAA+B,SAA/B,EAA0CD,OAA1C,EAAmDE,aAAnD,CANyE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAzEH,wBAAyE;AAAA;AAAA;AAAA,GAA/E","sourcesContent":["import {cartoBaseSource} from './base-source';\nimport {CartoSourceOptions, CartoTilesetSourceOptions, TilejsonSource} from './common';\n\nexport type CartoVectorTilesetSourceOptions = CartoSourceOptions & CartoTilesetSourceOptions;\ntype UrlParameters = {name: string};\n\nconst cartoVectorTilesetSource: TilejsonSource<CartoVectorTilesetSourceOptions> = async function (\n options: CartoVectorTilesetSourceOptions\n): Promise<any> {\n const {tableName} = options;\n const urlParameters: UrlParameters = {name: tableName};\n\n return cartoBaseSource<UrlParameters>('tileset', options, urlParameters);\n};\n\nexport {cartoVectorTilesetSource};\n"],"file":"vector-tileset-source.js"}
package/dist/es5/utils.js CHANGED
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.assert = assert;
7
7
  exports.createBinaryProxy = createBinaryProxy;
8
+ exports.getWorkerUrl = getWorkerUrl;
8
9
 
9
10
  var _core = require("@deck.gl/core");
10
11
 
@@ -28,4 +29,8 @@ function createBinaryProxy(data, index) {
28
29
  }
29
30
  });
30
31
  }
32
+
33
+ function getWorkerUrl(id, version) {
34
+ return "https://unpkg.com/@deck.gl/carto@".concat(version, "/dist/").concat(id, "-worker.js");
35
+ }
31
36
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils.ts"],"names":["assert","condition","message","log","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has"],"mappings":";;;;;;;;AAAA;;AAGO,SAASA,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EC,YAAIH,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD;;AAIM,SAASE,iBAAT,CACLC,IADK,EAELC,KAFK,EAGL;AACA,MAAOC,UAAP,GAAmCF,IAAnC,CAAOE,UAAP;AAAA,MAAmBC,YAAnB,GAAmCH,IAAnC,CAAmBG,YAAnB;AACA,SAAO,IAAIC,KAAJ,CAAUF,UAAU,CAACD,KAAD,CAAV,IAAqB,EAA/B,EAAmC;AACxCI,IAAAA,GADwC,eACpCC,MADoC,EAC5BC,QAD4B,EAClBC,QADkB,EACR;AAC9B,UAAID,QAAQ,IAAIJ,YAAhB,EAA8B;AAC5B,eAAOA,YAAY,CAACI,QAAD,CAAZ,CAAiCE,KAAjC,CAAuCR,KAAvC,CAAP;AACD;;AACD,aAAOK,MAAM,CAACC,QAAD,CAAb;AACD,KANuC;AAQxCG,IAAAA,GARwC,eAQpCJ,MARoC,EAQ5BC,QAR4B,EAQlB;AACpB,aAAOA,QAAQ,IAAIJ,YAAZ,IAA4BI,QAAQ,IAAID,MAA/C;AACD;AAVuC,GAAnC,CAAP;AAYD","sourcesContent":["import {log} from '@deck.gl/core';\nimport type {Properties, NumericProps} from './layers/schema/spatialjson-utils';\n\nexport function assert(condition: unknown, message?: string): asserts condition {\n log.assert(condition, message);\n}\n\n// Returns a Proxy object that allows accessing binary data\n// as if it were JSON properties\nexport function createBinaryProxy(\n data: {numericProps: NumericProps; properties: Properties[]},\n index: number\n) {\n const {properties, numericProps} = data;\n return new Proxy(properties[index] || {}, {\n get(target, property, receiver) {\n if (property in numericProps) {\n return numericProps[property as string].value[index];\n }\n return target[property as string];\n },\n\n has(target, property) {\n return property in numericProps || property in target;\n }\n });\n}\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../../src/utils.ts"],"names":["assert","condition","message","log","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has","getWorkerUrl","id","version"],"mappings":";;;;;;;;;AAAA;;AAGO,SAASA,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EC,YAAIH,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD;;AAIM,SAASE,iBAAT,CACLC,IADK,EAELC,KAFK,EAGL;AACA,MAAOC,UAAP,GAAmCF,IAAnC,CAAOE,UAAP;AAAA,MAAmBC,YAAnB,GAAmCH,IAAnC,CAAmBG,YAAnB;AACA,SAAO,IAAIC,KAAJ,CAAUF,UAAU,CAACD,KAAD,CAAV,IAAqB,EAA/B,EAAmC;AACxCI,IAAAA,GADwC,eACpCC,MADoC,EAC5BC,QAD4B,EAClBC,QADkB,EACR;AAC9B,UAAID,QAAQ,IAAIJ,YAAhB,EAA8B;AAC5B,eAAOA,YAAY,CAACI,QAAD,CAAZ,CAAiCE,KAAjC,CAAuCR,KAAvC,CAAP;AACD;;AACD,aAAOK,MAAM,CAACC,QAAD,CAAb;AACD,KANuC;AAQxCG,IAAAA,GARwC,eAQpCJ,MARoC,EAQ5BC,QAR4B,EAQlB;AACpB,aAAOA,QAAQ,IAAIJ,YAAZ,IAA4BI,QAAQ,IAAID,MAA/C;AACD;AAVuC,GAAnC,CAAP;AAYD;;AAEM,SAASK,YAAT,CAAsBC,EAAtB,EAAkCC,OAAlC,EAAmD;AAGxD,oDAA2CA,OAA3C,mBAA2DD,EAA3D;AACD","sourcesContent":["import {log} from '@deck.gl/core';\nimport type {Properties, NumericProps} from './layers/schema/spatialjson-utils';\n\nexport function assert(condition: unknown, message?: string): asserts condition {\n log.assert(condition, message);\n}\n\n// Returns a Proxy object that allows accessing binary data\n// as if it were JSON properties\nexport function createBinaryProxy(\n data: {numericProps: NumericProps; properties: Properties[]},\n index: number\n) {\n const {properties, numericProps} = data;\n return new Proxy(properties[index] || {}, {\n get(target, property, receiver) {\n if (property in numericProps) {\n return numericProps[property as string].value[index];\n }\n return target[property as string];\n },\n\n has(target, property) {\n return property in numericProps || property in target;\n }\n });\n}\n\nexport function getWorkerUrl(id: string, version: string) {\n // For local testing `yarn build-workers` and then host `modules/carto/dist/`\n // return `http://localhost:8081/dist/${id}-worker.js`;\n return `https://unpkg.com/@deck.gl/carto@${version}/dist/${id}-worker.js`;\n}\n"],"file":"utils.js"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _loaderUtils = require("@loaders.gl/loader-utils");
6
+
7
+ var _cartoRasterTileLoader = _interopRequireDefault(require("../layers/schema/carto-raster-tile-loader"));
8
+
9
+ (0, _loaderUtils.createLoaderWorker)(_cartoRasterTileLoader.default);
10
+ //# sourceMappingURL=cartoRasterTile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/workers/cartoRasterTile.ts"],"names":["CartoRasterTileLoader"],"mappings":";;;;AAAA;;AACA;;AAEA,qCAAmBA,8BAAnB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport CartoRasterTileLoader from '../layers/schema/carto-raster-tile-loader';\n\ncreateLoaderWorker(CartoRasterTileLoader);\n"],"file":"cartoRasterTile.js"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _loaderUtils = require("@loaders.gl/loader-utils");
6
+
7
+ var _cartoSpatialTileLoader = _interopRequireDefault(require("../layers/schema/carto-spatial-tile-loader"));
8
+
9
+ (0, _loaderUtils.createLoaderWorker)(_cartoSpatialTileLoader.default);
10
+ //# sourceMappingURL=cartoSpatialTile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/workers/cartoSpatialTile.ts"],"names":["CartoSpatialTileLoader"],"mappings":";;;;AAAA;;AACA;;AAEA,qCAAmBA,+BAAnB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport CartoSpatialTileLoader from '../layers/schema/carto-spatial-tile-loader';\n\ncreateLoaderWorker(CartoSpatialTileLoader);\n"],"file":"cartoSpatialTile.js"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _loaderUtils = require("@loaders.gl/loader-utils");
6
+
7
+ var _cartoVectorTileLoader = _interopRequireDefault(require("../layers/schema/carto-vector-tile-loader"));
8
+
9
+ (0, _loaderUtils.createLoaderWorker)(_cartoVectorTileLoader.default);
10
+ //# sourceMappingURL=cartoVectorTile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/workers/cartoVectorTile.ts"],"names":["CartoVectorTileLoader"],"mappings":";;;;AAAA;;AACA;;AAEA,qCAAmBA,8BAAnB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport CartoVectorTileLoader from '../layers/schema/carto-vector-tile-loader';\n\ncreateLoaderWorker(CartoVectorTileLoader);\n"],"file":"cartoVectorTile.js"}
@@ -5,11 +5,11 @@ import { format as d3Format } from 'd3-format';
5
5
  import moment from 'moment-timezone';
6
6
  import { CPUGridLayer, HeatmapLayer, HexagonLayer } from '@deck.gl/aggregation-layers';
7
7
  import { GeoJsonLayer } from '@deck.gl/layers';
8
- import { H3HexagonLayer, MVTLayer } from '@deck.gl/geo-layers';
9
- import CartoTileLayer from '../layers/carto-tile-layer';
8
+ import { H3HexagonLayer } from '@deck.gl/geo-layers';
10
9
  import H3TileLayer from '../layers/h3-tile-layer';
11
10
  import QuadbinTileLayer from '../layers/quadbin-tile-layer';
12
11
  import RasterTileLayer from '../layers/raster-tile-layer';
12
+ import VectorTileLayer from '../layers/vector-tile-layer';
13
13
  import { TILE_FORMATS } from './maps-api-common';
14
14
  import { assert, createBinaryProxy } from '../utils';
15
15
  const SCALE_FUNCS = {
@@ -221,11 +221,7 @@ export function layerFromTileDataset(formatTiles = TILE_FORMATS.MVT, scheme, typ
221
221
  return QuadbinTileLayer;
222
222
  }
223
223
 
224
- if (formatTiles === 'mvt') {
225
- return MVTLayer;
226
- }
227
-
228
- return CartoTileLayer;
224
+ return VectorTileLayer;
229
225
  }
230
226
 
231
227
  function getTileLayer(dataset, basePropMap) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/layer-map.ts"],"names":["deviation","extent","groupSort","median","variance","rgb","scaleLinear","scaleOrdinal","scaleLog","scalePoint","scaleQuantile","scaleQuantize","scaleSqrt","scaleThreshold","format","d3Format","moment","CPUGridLayer","HeatmapLayer","HexagonLayer","GeoJsonLayer","H3HexagonLayer","MVTLayer","CartoTileLayer","H3TileLayer","QuadbinTileLayer","RasterTileLayer","TILE_FORMATS","assert","createBinaryProxy","SCALE_FUNCS","linear","ordinal","log","point","quantile","quantize","sqrt","custom","identity","v","UNKNOWN_COLOR","AGGREGATION","average","maximum","minimum","sum","OPACITY_MAP","getFillColor","getLineColor","getTextColor","AGGREGATION_FUNC","values","accessor","length","mode","pop","stddev","hexToRGBA","c","r","g","b","opacity","sharedPropMap","color","isVisible","label","textLabel","alignment","anchor","size","visConfig","enable3d","elevationScale","filled","strokeColor","stroked","thickness","radius","wireframe","customMarkersPropsMap","aggregationVisConfig","colorAggregation","x","colorRange","colors","map","coverage","elevationPercentile","percentile","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","getLayer","type","config","dataset","basePropMap","customMarkers","getTileLayer","geoColumn","getPosition","d","coordinates","hexagonId","columns","hex_id","layerTypeDefs","Layer","propMap","altitude","parameters","depthTest","Boolean","outline","geojson","grid","worldUnitSize","cellSize","heatmap","hexagon","getHexagon","layer","layerFromTileDataset","formatTiles","MVT","scheme","aggregationExp","aggregationResLevel","data","tiles","tileUrl","URL","searchParams","get","uniqueIdProperty","domainFromAttribute","attribute","scaleType","scaleLength","categories","category","filter","undefined","quantiles","min","max","domainFromValues","sort","d0","d1","calculateDomain","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","object","info","__source","index","proxy","opacityToAlpha","Math","round","pow","getAccessorKeys","aggregation","keys","concat","toUpperCase","findAccessorKey","key","Error","getColorValueAccessor","aggregator","p","getColorAccessor","range","colorMap","scale","domain","scaleColor","forEach","value","push","slice","unknown","alpha","accessorKeys","propertyValue","FALLBACK_ICON","getIconUrlAccessor","field","fallbackUrl","maxIconSize","useMaskedIcons","urlToUnpackedIcon","url","id","width","height","mask","unknownValue","othersMarker","unknownIcon","mapping","markerUrl","markerMap","getMaxMarkerSize","visualChannels","radiusRange","radiusField","sizeField","ceil","negateAccessor","i","getSizeAccessor","FORMATS","date","s","utc","integer","float","timestamp","default","String","getTextAccessor","_domainFromValues"],"mappings":"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","sourcesContent":["import {deviation, extent, groupSort, median, variance} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt,\n scaleThreshold\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\n\nimport {Accessor, Layer, _ConstructorOf as ConstructorOf} from '@deck.gl/core';\nimport {CPUGridLayer, HeatmapLayer, HexagonLayer} from '@deck.gl/aggregation-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {H3HexagonLayer, MVTLayer} from '@deck.gl/geo-layers';\n\nimport CartoTileLayer from '../layers/carto-tile-layer';\nimport H3TileLayer from '../layers/h3-tile-layer';\nimport QuadbinTileLayer from '../layers/quadbin-tile-layer';\nimport RasterTileLayer from '../layers/raster-tile-layer';\nimport {MapType, TILE_FORMATS, TileFormat} from './maps-api-common';\nimport {assert, createBinaryProxy} from '../utils';\nimport {\n CustomMarkersRange,\n MapDataset,\n MapTextSubLayerConfig,\n VisConfig,\n VisualChannelField,\n VisualChannels\n} from './types';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt,\n custom: scaleThreshold\n};\nexport type SCALE_TYPE = keyof typeof SCALE_FUNCS;\n\nfunction identity<T>(v: T): T {\n return v;\n}\n\nconst UNKNOWN_COLOR = '#868d91';\n\nexport const AGGREGATION = {\n average: 'MEAN',\n maximum: 'MAX',\n minimum: 'MIN',\n sum: 'SUM'\n};\n\nexport const OPACITY_MAP = {\n getFillColor: 'opacity',\n getLineColor: 'strokeOpacity',\n getTextColor: 'opacity'\n};\n\nconst AGGREGATION_FUNC = {\n 'count unique': (values, accessor) => groupSort(values, v => v.length, accessor).length,\n median,\n // Unfortunately mode() is only available in d3-array@3+ which is ESM only\n mode: (values, accessor) => groupSort(values, v => v.length, accessor).pop(),\n stddev: deviation,\n variance\n};\n\nconst hexToRGBA = c => {\n const {r, g, b, opacity} = rgb(c);\n return [r, g, b, 255 * opacity];\n};\n\n// Kepler prop value -> Deck.gl prop value\n// Supports nested definitions, and function transforms:\n// {keplerProp: 'deckProp'} is equivalent to:\n// {keplerProp: x => ({deckProp: x})}\nconst sharedPropMap = {\n // Apply the value of Kepler `color` prop to the deck `getFillColor` prop\n color: 'getFillColor',\n isVisible: 'visible',\n label: 'cartoLabel',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n // Apply the value of Kepler `textLabel.color` prop to the deck `getTextColor` prop\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n elevationScale: 'elevationScale',\n filled: 'filled',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst customMarkersPropsMap = {\n color: 'getIconColor',\n visConfig: {\n radius: 'getIconSize'\n }\n};\n\nconst aggregationVisConfig = {\n colorAggregation: x => ({colorAggregation: AGGREGATION[x] || AGGREGATION.sum}),\n colorRange: x => ({colorRange: x.colors.map(hexToRGBA)}),\n coverage: 'coverage',\n elevationPercentile: ['elevationLowerPercentile', 'elevationUpperPercentile'],\n percentile: ['lowerPercentile', 'upperPercentile']\n};\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a: Record<string, any> = {}, b: Record<string, any> = {}) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport function getLayer(\n type: string,\n config: MapTextSubLayerConfig,\n dataset: MapDataset\n): {Layer: ConstructorOf<Layer>; propMap: any; defaultProps: any} {\n let basePropMap: any = sharedPropMap;\n\n if (config.visConfig?.customMarkers) {\n basePropMap = mergePropMaps(sharedPropMap, customMarkersPropsMap);\n }\n if (type === 'mvt' || type === 'tileset' || type === 'h3' || type === 'quadbin') {\n return getTileLayer(dataset, basePropMap);\n }\n\n const geoColumn = dataset?.geoColumn;\n const getPosition = d => d[geoColumn].coordinates;\n\n const hexagonId = config.columns?.hex_id;\n\n const layerTypeDefs: Record<\n string,\n {Layer: ConstructorOf<Layer>; propMap?: any; defaultProps?: any}\n > = {\n point: {\n Layer: GeoJsonLayer,\n propMap: {\n columns: {\n altitude: x => ({parameters: {depthTest: Boolean(x)}})\n },\n visConfig: {outline: 'stroked'}\n }\n },\n geojson: {\n Layer: GeoJsonLayer\n },\n grid: {\n Layer: CPUGridLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({cellSize: 1000 * x})}},\n defaultProps: {getPosition}\n },\n heatmap: {\n Layer: HeatmapLayer,\n propMap: {visConfig: {...aggregationVisConfig, radius: 'radiusPixels'}},\n defaultProps: {getPosition}\n },\n hexagon: {\n Layer: HexagonLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({radius: 1000 * x})}},\n defaultProps: {getPosition}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: {visConfig: {coverage: 'coverage'}},\n defaultProps: {getHexagon: d => d[hexagonId], stroked: false}\n }\n };\n\n const layer = layerTypeDefs[type];\n\n assert(layer, `Unsupported layer type: ${type}`);\n return {\n ...layer,\n propMap: mergePropMaps(basePropMap, layer.propMap),\n defaultProps: {...defaultProps, ...layer.defaultProps}\n };\n}\n\nexport function layerFromTileDataset(\n formatTiles: TileFormat | null = TILE_FORMATS.MVT,\n scheme: string,\n type?: MapType\n): typeof CartoTileLayer | typeof H3TileLayer | typeof MVTLayer | typeof QuadbinTileLayer {\n if (type === 'raster') {\n return RasterTileLayer;\n }\n if (scheme === 'h3') {\n return H3TileLayer;\n }\n if (scheme === 'quadbin') {\n return QuadbinTileLayer;\n }\n if (formatTiles === 'mvt') {\n return MVTLayer;\n }\n\n // formatTiles === BINARY|JSON|GEOJSON\n return CartoTileLayer;\n}\n\nfunction getTileLayer(dataset: MapDataset, basePropMap) {\n const {\n aggregationExp,\n aggregationResLevel,\n data: {\n scheme,\n tiles: [tileUrl]\n }\n } = dataset;\n /* global URL */\n const formatTiles = new URL(tileUrl).searchParams.get('formatTiles') as TileFormat;\n\n return {\n Layer: layerFromTileDataset(formatTiles, scheme),\n propMap: basePropMap,\n defaultProps: {\n ...defaultProps,\n ...(aggregationExp && {aggregationExp}),\n ...(aggregationResLevel && {aggregationResLevel}),\n formatTiles,\n uniqueIdProperty: 'geoid'\n }\n };\n}\n\nfunction domainFromAttribute(attribute, scaleType: SCALE_TYPE, scaleLength: number) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n if (scaleType === 'quantile' && attribute.quantiles) {\n return attribute.quantiles[scaleLength];\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType: SCALE_TYPE) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return groupSort(\n values,\n g => -g.length,\n d => d\n );\n } else if (scaleType === 'quantile') {\n return values.sort((a, b) => a - b);\n } else if (scaleType === 'log') {\n const [d0, d1] = extent(values as number[]);\n return [d0 === 0 ? 1e-5 : d0, d1];\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType, scaleLength?) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType, scaleLength);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name] !== undefined) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return (object, info) => {\n if (object) {\n return accessor(object.properties || object.__source.object.properties);\n }\n\n const {data, index} = info;\n const proxy = createBinaryProxy(data, index);\n return accessor(proxy);\n };\n }\n return accessor;\n}\n\nexport function opacityToAlpha(opacity?: number) {\n return opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;\n}\n\nfunction getAccessorKeys(name: string, aggregation: string | undefined): string[] {\n let keys = [name];\n if (aggregation) {\n // Snowflake will capitalized the keys, need to check lower and upper case version\n keys = keys.concat([aggregation, aggregation.toUpperCase()].map(a => `${name}_${a}`));\n }\n return keys;\n}\n\nfunction findAccessorKey(keys: string[], properties): string[] {\n for (const key of keys) {\n if (key in properties) {\n return [key];\n }\n }\n\n throw new Error(`Could not find property for any accessor key: ${keys}`);\n}\n\nexport function getColorValueAccessor({name}, colorAggregation, data: any) {\n const aggregator = AGGREGATION_FUNC[colorAggregation];\n const accessor = values => aggregator(values, p => p[name]);\n return normalizeAccessor(accessor, data);\n}\n\nexport function getColorAccessor(\n {name},\n scaleType: SCALE_TYPE,\n {aggregation, range: {colors, colorMap}},\n opacity: number | undefined,\n data: any\n) {\n const scale = SCALE_FUNCS[scaleType as any]();\n let domain: (string | number)[] = [];\n let scaleColor: string[] = [];\n\n if (Array.isArray(colorMap)) {\n colorMap.forEach(([value, color]) => {\n domain.push(value);\n scaleColor.push(color);\n });\n } else {\n domain = calculateDomain(data, name, scaleType, colors.length);\n scaleColor = colors;\n }\n\n if (scaleType === 'ordinal') {\n domain = domain.slice(0, scaleColor.length);\n }\n\n scale.domain(domain);\n scale.range(scaleColor);\n scale.unknown(UNKNOWN_COLOR);\n const alpha = opacityToAlpha(opacity);\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n const {r, g, b} = rgb(scale(propertyValue));\n return [r, g, b, propertyValue === null ? 0 : alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FALLBACK_ICON =\n 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiLz4NCjwvc3ZnPg==';\n\nexport function getIconUrlAccessor(\n field: VisualChannelField | null | undefined,\n range: CustomMarkersRange | null | undefined,\n {fallbackUrl, maxIconSize, useMaskedIcons},\n data: any\n) {\n const urlToUnpackedIcon = (url: string) => ({\n id: `${url}@@${maxIconSize}`,\n url,\n width: maxIconSize,\n height: maxIconSize,\n mask: useMaskedIcons\n });\n let unknownValue = fallbackUrl || FALLBACK_ICON;\n\n if (range?.othersMarker) {\n unknownValue = range.othersMarker;\n }\n\n const unknownIcon = urlToUnpackedIcon(unknownValue);\n if (!range || !field) {\n return () => unknownIcon;\n }\n\n const mapping: Record<string, any> = {};\n for (const {value, markerUrl} of range.markerMap) {\n if (markerUrl) {\n mapping[value] = urlToUnpackedIcon(markerUrl);\n }\n }\n\n const accessor = properties => {\n const propertyValue = properties[field.name];\n return mapping[propertyValue] || unknownIcon;\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number {\n const {radiusRange, radius} = visConfig;\n const {radiusField, sizeField} = visualChannels;\n const field = radiusField || sizeField;\n return Math.ceil(radiusRange && field ? radiusRange[1] : radius);\n}\n\nexport function negateAccessor<T>(accessor: Accessor<T, number>): Accessor<T, number> {\n return typeof accessor === 'function' ? (d, i) => -accessor(d, i) : -accessor;\n}\n\nexport function getSizeAccessor(\n {name},\n scaleType: SCALE_TYPE | undefined,\n aggregation,\n range: Iterable<Range> | undefined,\n data: any\n) {\n const scale = scaleType ? SCALE_FUNCS[scaleType as any]() : identity;\n if (scaleType) {\n if (aggregation !== 'count') {\n scale.domain(calculateDomain(data, name, scaleType));\n }\n scale.range(range);\n }\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n return scale(propertyValue);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS: Record<string, (value: any) => string> = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}: VisualChannelField, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport {domainFromValues as _domainFromValues};\n"],"file":"layer-map.js"}
1
+ {"version":3,"sources":["../../../src/api/layer-map.ts"],"names":["deviation","extent","groupSort","median","variance","rgb","scaleLinear","scaleOrdinal","scaleLog","scalePoint","scaleQuantile","scaleQuantize","scaleSqrt","scaleThreshold","format","d3Format","moment","CPUGridLayer","HeatmapLayer","HexagonLayer","GeoJsonLayer","H3HexagonLayer","H3TileLayer","QuadbinTileLayer","RasterTileLayer","VectorTileLayer","TILE_FORMATS","assert","createBinaryProxy","SCALE_FUNCS","linear","ordinal","log","point","quantile","quantize","sqrt","custom","identity","v","UNKNOWN_COLOR","AGGREGATION","average","maximum","minimum","sum","OPACITY_MAP","getFillColor","getLineColor","getTextColor","AGGREGATION_FUNC","values","accessor","length","mode","pop","stddev","hexToRGBA","c","r","g","b","opacity","sharedPropMap","color","isVisible","label","textLabel","alignment","anchor","size","visConfig","enable3d","elevationScale","filled","strokeColor","stroked","thickness","radius","wireframe","customMarkersPropsMap","aggregationVisConfig","colorAggregation","x","colorRange","colors","map","coverage","elevationPercentile","percentile","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","getLayer","type","config","dataset","basePropMap","customMarkers","getTileLayer","geoColumn","getPosition","d","coordinates","hexagonId","columns","hex_id","layerTypeDefs","Layer","propMap","altitude","parameters","depthTest","Boolean","outline","geojson","grid","worldUnitSize","cellSize","heatmap","hexagon","getHexagon","layer","layerFromTileDataset","formatTiles","MVT","scheme","aggregationExp","aggregationResLevel","data","tiles","tileUrl","URL","searchParams","get","uniqueIdProperty","domainFromAttribute","attribute","scaleType","scaleLength","categories","category","filter","undefined","quantiles","min","max","domainFromValues","sort","d0","d1","calculateDomain","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","object","info","__source","index","proxy","opacityToAlpha","Math","round","pow","getAccessorKeys","aggregation","keys","concat","toUpperCase","findAccessorKey","key","Error","getColorValueAccessor","aggregator","p","getColorAccessor","range","colorMap","scale","domain","scaleColor","forEach","value","push","slice","unknown","alpha","accessorKeys","propertyValue","FALLBACK_ICON","getIconUrlAccessor","field","fallbackUrl","maxIconSize","useMaskedIcons","urlToUnpackedIcon","url","id","width","height","mask","unknownValue","othersMarker","unknownIcon","mapping","markerUrl","markerMap","getMaxMarkerSize","visualChannels","radiusRange","radiusField","sizeField","ceil","negateAccessor","i","getSizeAccessor","FORMATS","date","s","utc","integer","float","timestamp","default","String","getTextAccessor","_domainFromValues"],"mappings":"AAAA,SAAQA,SAAR,EAAmBC,MAAnB,EAA2BC,SAA3B,EAAsCC,MAAtC,EAA8CC,QAA9C,QAA6D,UAA7D;AACA,SAAQC,GAAR,QAAkB,UAAlB;AACA,SACEC,WADF,EAEEC,YAFF,EAGEC,QAHF,EAIEC,UAJF,EAKEC,aALF,EAMEC,aANF,EAOEC,SAPF,EAQEC,cARF,QASO,UATP;AAUA,SAAQC,MAAM,IAAIC,QAAlB,QAAiC,WAAjC;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AAGA,SAAQC,YAAR,EAAsBC,YAAtB,EAAoCC,YAApC,QAAuD,6BAAvD;AACA,SAAQC,YAAR,QAA2B,iBAA3B;AACA,SAAQC,cAAR,QAA6B,qBAA7B;AAEA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,gBAAP,MAA6B,8BAA7B;AACA,OAAOC,eAAP,MAA4B,6BAA5B;AACA,OAAOC,eAAP,MAA4B,6BAA5B;AACA,SAAiBC,YAAjB,QAAgD,mBAAhD;AACA,SAAQC,MAAR,EAAgBC,iBAAhB,QAAwC,UAAxC;AAUA,MAAMC,WAAW,GAAG;AAClBC,EAAAA,MAAM,EAAExB,WADU;AAElByB,EAAAA,OAAO,EAAExB,YAFS;AAGlByB,EAAAA,GAAG,EAAExB,QAHa;AAIlByB,EAAAA,KAAK,EAAExB,UAJW;AAKlByB,EAAAA,QAAQ,EAAExB,aALQ;AAMlByB,EAAAA,QAAQ,EAAExB,aANQ;AAOlByB,EAAAA,IAAI,EAAExB,SAPY;AAQlByB,EAAAA,MAAM,EAAExB;AARU,CAApB;;AAYA,SAASyB,QAAT,CAAqBC,CAArB,EAA8B;AAC5B,SAAOA,CAAP;AACD;;AAED,MAAMC,aAAa,GAAG,SAAtB;AAEA,OAAO,MAAMC,WAAW,GAAG;AACzBC,EAAAA,OAAO,EAAE,MADgB;AAEzBC,EAAAA,OAAO,EAAE,KAFgB;AAGzBC,EAAAA,OAAO,EAAE,KAHgB;AAIzBC,EAAAA,GAAG,EAAE;AAJoB,CAApB;AAOP,OAAO,MAAMC,WAAW,GAAG;AACzBC,EAAAA,YAAY,EAAE,SADW;AAEzBC,EAAAA,YAAY,EAAE,eAFW;AAGzBC,EAAAA,YAAY,EAAE;AAHW,CAApB;AAMP,MAAMC,gBAAgB,GAAG;AACvB,kBAAgB,CAACC,MAAD,EAASC,QAAT,KAAsBlD,SAAS,CAACiD,MAAD,EAASZ,CAAC,IAAIA,CAAC,CAACc,MAAhB,EAAwBD,QAAxB,CAAT,CAA2CC,MAD1D;AAEvBlD,EAAAA,MAFuB;AAIvBmD,EAAAA,IAAI,EAAE,CAACH,MAAD,EAASC,QAAT,KAAsBlD,SAAS,CAACiD,MAAD,EAASZ,CAAC,IAAIA,CAAC,CAACc,MAAhB,EAAwBD,QAAxB,CAAT,CAA2CG,GAA3C,EAJL;AAKvBC,EAAAA,MAAM,EAAExD,SALe;AAMvBI,EAAAA;AANuB,CAAzB;;AASA,MAAMqD,SAAS,GAAGC,CAAC,IAAI;AACrB,QAAM;AAACC,IAAAA,CAAD;AAAIC,IAAAA,CAAJ;AAAOC,IAAAA,CAAP;AAAUC,IAAAA;AAAV,MAAqBzD,GAAG,CAACqD,CAAD,CAA9B;AACA,SAAO,CAACC,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAU,MAAMC,OAAhB,CAAP;AACD,CAHD;;AASA,MAAMC,aAAa,GAAG;AAEpBC,EAAAA,KAAK,EAAE,cAFa;AAGpBC,EAAAA,SAAS,EAAE,SAHS;AAIpBC,EAAAA,KAAK,EAAE,YAJa;AAKpBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,SAAS,EAAE,0BADF;AAETC,IAAAA,MAAM,EAAE,eAFC;AAITL,IAAAA,KAAK,EAAE,cAJE;AAKTM,IAAAA,IAAI,EAAE;AALG,GALS;AAYpBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,QAAQ,EAAE,UADD;AAETC,IAAAA,cAAc,EAAE,gBAFP;AAGTC,IAAAA,MAAM,EAAE,QAHC;AAITC,IAAAA,WAAW,EAAE,cAJJ;AAKTC,IAAAA,OAAO,EAAE,SALA;AAMTC,IAAAA,SAAS,EAAE,cANF;AAOTC,IAAAA,MAAM,EAAE,gBAPC;AAQTC,IAAAA,SAAS,EAAE;AARF;AAZS,CAAtB;AAwBA,MAAMC,qBAAqB,GAAG;AAC5BhB,EAAAA,KAAK,EAAE,cADqB;AAE5BO,EAAAA,SAAS,EAAE;AACTO,IAAAA,MAAM,EAAE;AADC;AAFiB,CAA9B;AAOA,MAAMG,oBAAoB,GAAG;AAC3BC,EAAAA,gBAAgB,EAAEC,CAAC,KAAK;AAACD,IAAAA,gBAAgB,EAAEzC,WAAW,CAAC0C,CAAD,CAAX,IAAkB1C,WAAW,CAACI;AAAjD,GAAL,CADQ;AAE3BuC,EAAAA,UAAU,EAAED,CAAC,KAAK;AAACC,IAAAA,UAAU,EAAED,CAAC,CAACE,MAAF,CAASC,GAAT,CAAa7B,SAAb;AAAb,GAAL,CAFc;AAG3B8B,EAAAA,QAAQ,EAAE,UAHiB;AAI3BC,EAAAA,mBAAmB,EAAE,CAAC,0BAAD,EAA6B,0BAA7B,CAJM;AAK3BC,EAAAA,UAAU,EAAE,CAAC,iBAAD,EAAoB,iBAApB;AALe,CAA7B;AAQA,MAAMC,YAAY,GAAG;AACnBC,EAAAA,cAAc,EAAE,CADG;AAEnBC,EAAAA,cAAc,EAAE,QAFG;AAGnBC,EAAAA,gBAAgB,EAAE,QAHC;AAInBC,EAAAA,OAAO,EAAE,IAJU;AAKnBC,EAAAA,aAAa,EAAE;AALI,CAArB;;AAQA,SAASC,aAAT,CAAuBC,CAAsB,GAAG,EAAhD,EAAoDpC,CAAsB,GAAG,EAA7E,EAAiF;AAC/E,SAAO,EAAC,GAAGoC,CAAJ;AAAO,OAAGpC,CAAV;AAAaU,IAAAA,SAAS,EAAE,EAAC,GAAG0B,CAAC,CAAC1B,SAAN;AAAiB,SAAGV,CAAC,CAACU;AAAtB;AAAxB,GAAP;AACD;;AAED,OAAO,SAAS2B,QAAT,CACLC,IADK,EAELC,MAFK,EAGLC,OAHK,EAI2D;AAAA;;AAChE,MAAIC,WAAgB,GAAGvC,aAAvB;;AAEA,2BAAIqC,MAAM,CAAC7B,SAAX,8CAAI,kBAAkBgC,aAAtB,EAAqC;AACnCD,IAAAA,WAAW,GAAGN,aAAa,CAACjC,aAAD,EAAgBiB,qBAAhB,CAA3B;AACD;;AACD,MAAImB,IAAI,KAAK,KAAT,IAAkBA,IAAI,KAAK,SAA3B,IAAwCA,IAAI,KAAK,IAAjD,IAAyDA,IAAI,KAAK,SAAtE,EAAiF;AAC/E,WAAOK,YAAY,CAACH,OAAD,EAAUC,WAAV,CAAnB;AACD;;AAED,QAAMG,SAAS,GAAGJ,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEI,SAA3B;;AACA,QAAMC,WAAW,GAAGC,CAAC,IAAIA,CAAC,CAACF,SAAD,CAAD,CAAaG,WAAtC;;AAEA,QAAMC,SAAS,sBAAGT,MAAM,CAACU,OAAV,oDAAG,gBAAgBC,MAAlC;AAEA,QAAMC,aAGL,GAAG;AACF/E,IAAAA,KAAK,EAAE;AACLgF,MAAAA,KAAK,EAAE7F,YADF;AAEL8F,MAAAA,OAAO,EAAE;AACPJ,QAAAA,OAAO,EAAE;AACPK,UAAAA,QAAQ,EAAEhC,CAAC,KAAK;AAACiC,YAAAA,UAAU,EAAE;AAACC,cAAAA,SAAS,EAAEC,OAAO,CAACnC,CAAD;AAAnB;AAAb,WAAL;AADJ,SADF;AAIPZ,QAAAA,SAAS,EAAE;AAACgD,UAAAA,OAAO,EAAE;AAAV;AAJJ;AAFJ,KADL;AAUFC,IAAAA,OAAO,EAAE;AACPP,MAAAA,KAAK,EAAE7F;AADA,KAVP;AAaFqG,IAAAA,IAAI,EAAE;AACJR,MAAAA,KAAK,EAAEhG,YADH;AAEJiG,MAAAA,OAAO,EAAE;AAAC3C,QAAAA,SAAS,EAAE,EAAC,GAAGU,oBAAJ;AAA0ByC,UAAAA,aAAa,EAAEvC,CAAC,KAAK;AAACwC,YAAAA,QAAQ,EAAE,OAAOxC;AAAlB,WAAL;AAA1C;AAAZ,OAFL;AAGJO,MAAAA,YAAY,EAAE;AAACgB,QAAAA;AAAD;AAHV,KAbJ;AAkBFkB,IAAAA,OAAO,EAAE;AACPX,MAAAA,KAAK,EAAE/F,YADA;AAEPgG,MAAAA,OAAO,EAAE;AAAC3C,QAAAA,SAAS,EAAE,EAAC,GAAGU,oBAAJ;AAA0BH,UAAAA,MAAM,EAAE;AAAlC;AAAZ,OAFF;AAGPY,MAAAA,YAAY,EAAE;AAACgB,QAAAA;AAAD;AAHP,KAlBP;AAuBFmB,IAAAA,OAAO,EAAE;AACPZ,MAAAA,KAAK,EAAE9F,YADA;AAEP+F,MAAAA,OAAO,EAAE;AAAC3C,QAAAA,SAAS,EAAE,EAAC,GAAGU,oBAAJ;AAA0ByC,UAAAA,aAAa,EAAEvC,CAAC,KAAK;AAACL,YAAAA,MAAM,EAAE,OAAOK;AAAhB,WAAL;AAA1C;AAAZ,OAFF;AAGPO,MAAAA,YAAY,EAAE;AAACgB,QAAAA;AAAD;AAHP,KAvBP;AA4BFG,IAAAA,SAAS,EAAE;AACTI,MAAAA,KAAK,EAAE5F,cADE;AAET6F,MAAAA,OAAO,EAAE;AAAC3C,QAAAA,SAAS,EAAE;AAACgB,UAAAA,QAAQ,EAAE;AAAX;AAAZ,OAFA;AAGTG,MAAAA,YAAY,EAAE;AAACoC,QAAAA,UAAU,EAAEnB,CAAC,IAAIA,CAAC,CAACE,SAAD,CAAnB;AAAgCjC,QAAAA,OAAO,EAAE;AAAzC;AAHL;AA5BT,GAHJ;AAsCA,QAAMmD,KAAK,GAAGf,aAAa,CAACb,IAAD,CAA3B;AAEAxE,EAAAA,MAAM,CAACoG,KAAD,oCAAmC5B,IAAnC,EAAN;AACA,SAAO,EACL,GAAG4B,KADE;AAELb,IAAAA,OAAO,EAAElB,aAAa,CAACM,WAAD,EAAcyB,KAAK,CAACb,OAApB,CAFjB;AAGLxB,IAAAA,YAAY,EAAE,EAAC,GAAGA,YAAJ;AAAkB,SAAGqC,KAAK,CAACrC;AAA3B;AAHT,GAAP;AAKD;AAED,OAAO,SAASsC,oBAAT,CACLC,WAA8B,GAAGvG,YAAY,CAACwG,GADzC,EAELC,MAFK,EAGLhC,IAHK,EAIkE;AACvE,MAAIA,IAAI,KAAK,QAAb,EAAuB;AACrB,WAAO3E,eAAP;AACD;;AACD,MAAI2G,MAAM,KAAK,IAAf,EAAqB;AACnB,WAAO7G,WAAP;AACD;;AACD,MAAI6G,MAAM,KAAK,SAAf,EAA0B;AACxB,WAAO5G,gBAAP;AACD;;AAED,SAAOE,eAAP;AACD;;AAED,SAAS+E,YAAT,CAAsBH,OAAtB,EAA2CC,WAA3C,EAAwD;AACtD,QAAM;AACJ8B,IAAAA,cADI;AAEJC,IAAAA,mBAFI;AAGJC,IAAAA,IAAI,EAAE;AACJH,MAAAA,MADI;AAEJI,MAAAA,KAAK,EAAE,CAACC,OAAD;AAFH;AAHF,MAOFnC,OAPJ;AASA,QAAM4B,WAAW,GAAG,IAAIQ,GAAJ,CAAQD,OAAR,EAAiBE,YAAjB,CAA8BC,GAA9B,CAAkC,aAAlC,CAApB;AAEA,SAAO;AACL1B,IAAAA,KAAK,EAAEe,oBAAoB,CAACC,WAAD,EAAcE,MAAd,CADtB;AAELjB,IAAAA,OAAO,EAAEZ,WAFJ;AAGLZ,IAAAA,YAAY,EAAE,EACZ,GAAGA,YADS;AAEZ,UAAI0C,cAAc,IAAI;AAACA,QAAAA;AAAD,OAAtB,CAFY;AAGZ,UAAIC,mBAAmB,IAAI;AAACA,QAAAA;AAAD,OAA3B,CAHY;AAIZJ,MAAAA,WAJY;AAKZW,MAAAA,gBAAgB,EAAE;AALN;AAHT,GAAP;AAWD;;AAED,SAASC,mBAAT,CAA6BC,SAA7B,EAAwCC,SAAxC,EAA+DC,WAA/D,EAAoF;AAClF,MAAID,SAAS,KAAK,SAAd,IAA2BA,SAAS,KAAK,OAA7C,EAAsD;AACpD,WAAOD,SAAS,CAACG,UAAV,CAAqB3D,GAArB,CAAyB5B,CAAC,IAAIA,CAAC,CAACwF,QAAhC,EAA0CC,MAA1C,CAAiDzF,CAAC,IAAIA,CAAC,KAAK0F,SAAN,IAAmB1F,CAAC,KAAK,IAA/E,CAAP;AACD;;AAED,MAAIqF,SAAS,KAAK,UAAd,IAA4BD,SAAS,CAACO,SAA1C,EAAqD;AACnD,WAAOP,SAAS,CAACO,SAAV,CAAoBL,WAApB,CAAP;AACD;;AAED,MAAI;AAACM,IAAAA;AAAD,MAAQR,SAAZ;;AACA,MAAIC,SAAS,KAAK,KAAd,IAAuBO,GAAG,KAAK,CAAnC,EAAsC;AACpCA,IAAAA,GAAG,GAAG,IAAN;AACD;;AACD,SAAO,CAACA,GAAD,EAAMR,SAAS,CAACS,GAAhB,CAAP;AACD;;AAED,SAASC,gBAAT,CAA0BrG,MAA1B,EAAkC4F,SAAlC,EAAyD;AACvD,MAAIA,SAAS,KAAK,SAAd,IAA2BA,SAAS,KAAK,OAA7C,EAAsD;AACpD,WAAO7I,SAAS,CACdiD,MADc,EAEdS,CAAC,IAAI,CAACA,CAAC,CAACP,MAFM,EAGdsD,CAAC,IAAIA,CAHS,CAAhB;AAKD,GAND,MAMO,IAAIoC,SAAS,KAAK,UAAlB,EAA8B;AACnC,WAAO5F,MAAM,CAACsG,IAAP,CAAY,CAACxD,CAAD,EAAIpC,CAAJ,KAAUoC,CAAC,GAAGpC,CAA1B,CAAP;AACD,GAFM,MAEA,IAAIkF,SAAS,KAAK,KAAlB,EAAyB;AAC9B,UAAM,CAACW,EAAD,EAAKC,EAAL,IAAW1J,MAAM,CAACkD,MAAD,CAAvB;AACA,WAAO,CAACuG,EAAE,KAAK,CAAP,GAAW,IAAX,GAAkBA,EAAnB,EAAuBC,EAAvB,CAAP;AACD;;AACD,SAAO1J,MAAM,CAACkD,MAAD,CAAb;AACD;;AAED,SAASyG,eAAT,CAAyBtB,IAAzB,EAA+BuB,IAA/B,EAAqCd,SAArC,EAAgDC,WAAhD,EAA8D;AAC5D,MAAIV,IAAI,CAACwB,SAAT,EAAoB;AAElB,UAAM;AAACC,MAAAA;AAAD,QAAezB,IAAI,CAACwB,SAAL,CAAeE,MAAf,CAAsB,CAAtB,CAArB;AACA,UAAMlB,SAAS,GAAGiB,UAAU,CAACE,IAAX,CAAgBhE,CAAC,IAAIA,CAAC,CAAC6C,SAAF,KAAgBe,IAArC,CAAlB;AACA,WAAOhB,mBAAmB,CAACC,SAAD,EAAYC,SAAZ,EAAuBC,WAAvB,CAA1B;AACD,GALD,MAKO,IAAIV,IAAI,CAAC4B,QAAT,EAAmB;AAExB,UAAM/G,MAAM,GAAGmF,IAAI,CAAC4B,QAAL,CAAc5E,GAAd,CAAkB,CAAC;AAAC6E,MAAAA;AAAD,KAAD,KAAkBA,UAAU,CAACN,IAAD,CAA9C,CAAf;AACA,WAAOL,gBAAgB,CAACrG,MAAD,EAAS4F,SAAT,CAAvB;AACD,GAJM,MAIA,IAAIqB,KAAK,CAACC,OAAN,CAAc/B,IAAd,KAAuBA,IAAI,CAAC,CAAD,CAAJ,CAAQuB,IAAR,MAAkBT,SAA7C,EAAwD;AAE7D,UAAMjG,MAAM,GAAGmF,IAAI,CAAChD,GAAL,CAAS6E,UAAU,IAAIA,UAAU,CAACN,IAAD,CAAjC,CAAf;AACA,WAAOL,gBAAgB,CAACrG,MAAD,EAAS4F,SAAT,CAAvB;AACD;;AAED,SAAO,CAAC,CAAD,EAAI,CAAJ,CAAP;AACD;;AAED,SAASuB,iBAAT,CAA2BlH,QAA3B,EAAqCkF,IAArC,EAA2C;AACzC,MAAIA,IAAI,CAAC4B,QAAL,IAAiB5B,IAAI,CAACwB,SAA1B,EAAqC;AACnC,WAAO,CAACS,MAAD,EAASC,IAAT,KAAkB;AACvB,UAAID,MAAJ,EAAY;AACV,eAAOnH,QAAQ,CAACmH,MAAM,CAACJ,UAAP,IAAqBI,MAAM,CAACE,QAAP,CAAgBF,MAAhB,CAAuBJ,UAA7C,CAAf;AACD;;AAED,YAAM;AAAC7B,QAAAA,IAAD;AAAOoC,QAAAA;AAAP,UAAgBF,IAAtB;AACA,YAAMG,KAAK,GAAG/I,iBAAiB,CAAC0G,IAAD,EAAOoC,KAAP,CAA/B;AACA,aAAOtH,QAAQ,CAACuH,KAAD,CAAf;AACD,KARD;AASD;;AACD,SAAOvH,QAAP;AACD;;AAED,OAAO,SAASwH,cAAT,CAAwB9G,OAAxB,EAA0C;AAC/C,SAAOA,OAAO,KAAKsF,SAAZ,GAAwByB,IAAI,CAACC,KAAL,CAAW,MAAMD,IAAI,CAACE,GAAL,CAASjH,OAAT,EAAkB,IAAI,GAAtB,CAAjB,CAAxB,GAAuE,GAA9E;AACD;;AAED,SAASkH,eAAT,CAAyBnB,IAAzB,EAAuCoB,WAAvC,EAAkF;AAChF,MAAIC,IAAI,GAAG,CAACrB,IAAD,CAAX;;AACA,MAAIoB,WAAJ,EAAiB;AAEfC,IAAAA,IAAI,GAAGA,IAAI,CAACC,MAAL,CAAY,CAACF,WAAD,EAAcA,WAAW,CAACG,WAAZ,EAAd,EAAyC9F,GAAzC,CAA6CW,CAAC,cAAO4D,IAAP,cAAe5D,CAAf,CAA9C,CAAZ,CAAP;AACD;;AACD,SAAOiF,IAAP;AACD;;AAED,SAASG,eAAT,CAAyBH,IAAzB,EAAyCf,UAAzC,EAA+D;AAC7D,OAAK,MAAMmB,GAAX,IAAkBJ,IAAlB,EAAwB;AACtB,QAAII,GAAG,IAAInB,UAAX,EAAuB;AACrB,aAAO,CAACmB,GAAD,CAAP;AACD;AACF;;AAED,QAAM,IAAIC,KAAJ,yDAA2DL,IAA3D,EAAN;AACD;;AAED,OAAO,SAASM,qBAAT,CAA+B;AAAC3B,EAAAA;AAAD,CAA/B,EAAuC3E,gBAAvC,EAAyDoD,IAAzD,EAAoE;AACzE,QAAMmD,UAAU,GAAGvI,gBAAgB,CAACgC,gBAAD,CAAnC;;AACA,QAAM9B,QAAQ,GAAGD,MAAM,IAAIsI,UAAU,CAACtI,MAAD,EAASuI,CAAC,IAAIA,CAAC,CAAC7B,IAAD,CAAf,CAArC;;AACA,SAAOS,iBAAiB,CAAClH,QAAD,EAAWkF,IAAX,CAAxB;AACD;AAED,OAAO,SAASqD,gBAAT,CACL;AAAC9B,EAAAA;AAAD,CADK,EAELd,SAFK,EAGL;AAACkC,EAAAA,WAAD;AAAcW,EAAAA,KAAK,EAAE;AAACvG,IAAAA,MAAD;AAASwG,IAAAA;AAAT;AAArB,CAHK,EAIL/H,OAJK,EAKLwE,IALK,EAML;AACA,QAAMwD,KAAK,GAAGjK,WAAW,CAACkH,SAAD,CAAX,EAAd;AACA,MAAIgD,MAA2B,GAAG,EAAlC;AACA,MAAIC,UAAoB,GAAG,EAA3B;;AAEA,MAAI5B,KAAK,CAACC,OAAN,CAAcwB,QAAd,CAAJ,EAA6B;AAC3BA,IAAAA,QAAQ,CAACI,OAAT,CAAiB,CAAC,CAACC,KAAD,EAAQlI,KAAR,CAAD,KAAoB;AACnC+H,MAAAA,MAAM,CAACI,IAAP,CAAYD,KAAZ;AACAF,MAAAA,UAAU,CAACG,IAAX,CAAgBnI,KAAhB;AACD,KAHD;AAID,GALD,MAKO;AACL+H,IAAAA,MAAM,GAAGnC,eAAe,CAACtB,IAAD,EAAOuB,IAAP,EAAad,SAAb,EAAwB1D,MAAM,CAAChC,MAA/B,CAAxB;AACA2I,IAAAA,UAAU,GAAG3G,MAAb;AACD;;AAED,MAAI0D,SAAS,KAAK,SAAlB,EAA6B;AAC3BgD,IAAAA,MAAM,GAAGA,MAAM,CAACK,KAAP,CAAa,CAAb,EAAgBJ,UAAU,CAAC3I,MAA3B,CAAT;AACD;;AAEDyI,EAAAA,KAAK,CAACC,MAAN,CAAaA,MAAb;AACAD,EAAAA,KAAK,CAACF,KAAN,CAAYI,UAAZ;AACAF,EAAAA,KAAK,CAACO,OAAN,CAAc7J,aAAd;AACA,QAAM8J,KAAK,GAAG1B,cAAc,CAAC9G,OAAD,CAA5B;AAEA,MAAIyI,YAAY,GAAGvB,eAAe,CAACnB,IAAD,EAAOoB,WAAP,CAAlC;;AACA,QAAM7H,QAAQ,GAAG+G,UAAU,IAAI;AAC7B,QAAI,EAAEoC,YAAY,CAAC,CAAD,CAAZ,IAAmBpC,UAArB,CAAJ,EAAsC;AACpCoC,MAAAA,YAAY,GAAGlB,eAAe,CAACkB,YAAD,EAAepC,UAAf,CAA9B;AACD;;AACD,UAAMqC,aAAa,GAAGrC,UAAU,CAACoC,YAAY,CAAC,CAAD,CAAb,CAAhC;AACA,UAAM;AAAC5I,MAAAA,CAAD;AAAIC,MAAAA,CAAJ;AAAOC,MAAAA;AAAP,QAAYxD,GAAG,CAACyL,KAAK,CAACU,aAAD,CAAN,CAArB;AACA,WAAO,CAAC7I,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAU2I,aAAa,KAAK,IAAlB,GAAyB,CAAzB,GAA6BF,KAAvC,CAAP;AACD,GAPD;;AAQA,SAAOhC,iBAAiB,CAAClH,QAAD,EAAWkF,IAAX,CAAxB;AACD;AAED,MAAMmE,aAAa,GACjB,0LADF;AAGA,OAAO,SAASC,kBAAT,CACLC,KADK,EAELf,KAFK,EAGL;AAACgB,EAAAA,WAAD;AAAcC,EAAAA,WAAd;AAA2BC,EAAAA;AAA3B,CAHK,EAILxE,IAJK,EAKL;AACA,QAAMyE,iBAAiB,GAAIC,GAAD,KAAkB;AAC1CC,IAAAA,EAAE,YAAKD,GAAL,eAAaH,WAAb,CADwC;AAE1CG,IAAAA,GAF0C;AAG1CE,IAAAA,KAAK,EAAEL,WAHmC;AAI1CM,IAAAA,MAAM,EAAEN,WAJkC;AAK1CO,IAAAA,IAAI,EAAEN;AALoC,GAAlB,CAA1B;;AAOA,MAAIO,YAAY,GAAGT,WAAW,IAAIH,aAAlC;;AAEA,MAAIb,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAE0B,YAAX,EAAyB;AACvBD,IAAAA,YAAY,GAAGzB,KAAK,CAAC0B,YAArB;AACD;;AAED,QAAMC,WAAW,GAAGR,iBAAiB,CAACM,YAAD,CAArC;;AACA,MAAI,CAACzB,KAAD,IAAU,CAACe,KAAf,EAAsB;AACpB,WAAO,MAAMY,WAAb;AACD;;AAED,QAAMC,OAA4B,GAAG,EAArC;;AACA,OAAK,MAAM;AAACtB,IAAAA,KAAD;AAAQuB,IAAAA;AAAR,GAAX,IAAiC7B,KAAK,CAAC8B,SAAvC,EAAkD;AAChD,QAAID,SAAJ,EAAe;AACbD,MAAAA,OAAO,CAACtB,KAAD,CAAP,GAAiBa,iBAAiB,CAACU,SAAD,CAAlC;AACD;AACF;;AAED,QAAMrK,QAAQ,GAAG+G,UAAU,IAAI;AAC7B,UAAMqC,aAAa,GAAGrC,UAAU,CAACwC,KAAK,CAAC9C,IAAP,CAAhC;AACA,WAAO2D,OAAO,CAAChB,aAAD,CAAP,IAA0Be,WAAjC;AACD,GAHD;;AAIA,SAAOjD,iBAAiB,CAAClH,QAAD,EAAWkF,IAAX,CAAxB;AACD;AAED,OAAO,SAASqF,gBAAT,CAA0BpJ,SAA1B,EAAgDqJ,cAAhD,EAAwF;AAC7F,QAAM;AAACC,IAAAA,WAAD;AAAc/I,IAAAA;AAAd,MAAwBP,SAA9B;AACA,QAAM;AAACuJ,IAAAA,WAAD;AAAcC,IAAAA;AAAd,MAA2BH,cAAjC;AACA,QAAMjB,KAAK,GAAGmB,WAAW,IAAIC,SAA7B;AACA,SAAOlD,IAAI,CAACmD,IAAL,CAAUH,WAAW,IAAIlB,KAAf,GAAuBkB,WAAW,CAAC,CAAD,CAAlC,GAAwC/I,MAAlD,CAAP;AACD;AAED,OAAO,SAASmJ,cAAT,CAA2B7K,QAA3B,EAA+E;AACpF,SAAO,OAAOA,QAAP,KAAoB,UAApB,GAAiC,CAACuD,CAAD,EAAIuH,CAAJ,KAAU,CAAC9K,QAAQ,CAACuD,CAAD,EAAIuH,CAAJ,CAApD,GAA6D,CAAC9K,QAArE;AACD;AAED,OAAO,SAAS+K,eAAT,CACL;AAACtE,EAAAA;AAAD,CADK,EAELd,SAFK,EAGLkC,WAHK,EAILW,KAJK,EAKLtD,IALK,EAML;AACA,QAAMwD,KAAK,GAAG/C,SAAS,GAAGlH,WAAW,CAACkH,SAAD,CAAX,EAAH,GAAqCzG,QAA5D;;AACA,MAAIyG,SAAJ,EAAe;AACb,QAAIkC,WAAW,KAAK,OAApB,EAA6B;AAC3Ba,MAAAA,KAAK,CAACC,MAAN,CAAanC,eAAe,CAACtB,IAAD,EAAOuB,IAAP,EAAad,SAAb,CAA5B;AACD;;AACD+C,IAAAA,KAAK,CAACF,KAAN,CAAYA,KAAZ;AACD;;AAED,MAAIW,YAAY,GAAGvB,eAAe,CAACnB,IAAD,EAAOoB,WAAP,CAAlC;;AACA,QAAM7H,QAAQ,GAAG+G,UAAU,IAAI;AAC7B,QAAI,EAAEoC,YAAY,CAAC,CAAD,CAAZ,IAAmBpC,UAArB,CAAJ,EAAsC;AACpCoC,MAAAA,YAAY,GAAGlB,eAAe,CAACkB,YAAD,EAAepC,UAAf,CAA9B;AACD;;AACD,UAAMqC,aAAa,GAAGrC,UAAU,CAACoC,YAAY,CAAC,CAAD,CAAb,CAAhC;AACA,WAAOT,KAAK,CAACU,aAAD,CAAZ;AACD,GAND;;AAOA,SAAOlC,iBAAiB,CAAClH,QAAD,EAAWkF,IAAX,CAAxB;AACD;AAED,MAAM8F,OAA+C,GAAG;AACtDC,EAAAA,IAAI,EAAEC,CAAC,IAAItN,MAAM,CAACuN,GAAP,CAAWD,CAAX,EAAcxN,MAAd,CAAqB,oBAArB,CAD2C;AAEtD0N,EAAAA,OAAO,EAAEzN,QAAQ,CAAC,GAAD,CAFqC;AAGtD0N,EAAAA,KAAK,EAAE1N,QAAQ,CAAC,KAAD,CAHuC;AAItD2N,EAAAA,SAAS,EAAEJ,CAAC,IAAItN,MAAM,CAACuN,GAAP,CAAWD,CAAX,EAAcxN,MAAd,CAAqB,GAArB,CAJsC;AAKtD6N,EAAAA,OAAO,EAAEC;AAL6C,CAAxD;AAQA,OAAO,SAASC,eAAT,CAAyB;AAAChF,EAAAA,IAAD;AAAO1D,EAAAA;AAAP,CAAzB,EAA2DmC,IAA3D,EAAiE;AACtE,QAAMxH,MAAM,GAAGsN,OAAO,CAACjI,IAAD,CAAP,IAAiBiI,OAAO,CAACO,OAAxC;;AACA,QAAMvL,QAAQ,GAAG+G,UAAU,IAAI;AAC7B,WAAOrJ,MAAM,CAACqJ,UAAU,CAACN,IAAD,CAAX,CAAb;AACD,GAFD;;AAGA,SAAOS,iBAAiB,CAAClH,QAAD,EAAWkF,IAAX,CAAxB;AACD;AAED,SAAQkB,gBAAgB,IAAIsF,iBAA5B","sourcesContent":["import {deviation, extent, groupSort, median, variance} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt,\n scaleThreshold\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\n\nimport {Accessor, Layer, _ConstructorOf as ConstructorOf} from '@deck.gl/core';\nimport {CPUGridLayer, HeatmapLayer, HexagonLayer} from '@deck.gl/aggregation-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {H3HexagonLayer} from '@deck.gl/geo-layers';\n\nimport H3TileLayer from '../layers/h3-tile-layer';\nimport QuadbinTileLayer from '../layers/quadbin-tile-layer';\nimport RasterTileLayer from '../layers/raster-tile-layer';\nimport VectorTileLayer from '../layers/vector-tile-layer';\nimport {MapType, TILE_FORMATS, TileFormat} from './maps-api-common';\nimport {assert, createBinaryProxy} from '../utils';\nimport {\n CustomMarkersRange,\n MapDataset,\n MapTextSubLayerConfig,\n VisConfig,\n VisualChannelField,\n VisualChannels\n} from './types';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt,\n custom: scaleThreshold\n};\nexport type SCALE_TYPE = keyof typeof SCALE_FUNCS;\n\nfunction identity<T>(v: T): T {\n return v;\n}\n\nconst UNKNOWN_COLOR = '#868d91';\n\nexport const AGGREGATION = {\n average: 'MEAN',\n maximum: 'MAX',\n minimum: 'MIN',\n sum: 'SUM'\n};\n\nexport const OPACITY_MAP = {\n getFillColor: 'opacity',\n getLineColor: 'strokeOpacity',\n getTextColor: 'opacity'\n};\n\nconst AGGREGATION_FUNC = {\n 'count unique': (values, accessor) => groupSort(values, v => v.length, accessor).length,\n median,\n // Unfortunately mode() is only available in d3-array@3+ which is ESM only\n mode: (values, accessor) => groupSort(values, v => v.length, accessor).pop(),\n stddev: deviation,\n variance\n};\n\nconst hexToRGBA = c => {\n const {r, g, b, opacity} = rgb(c);\n return [r, g, b, 255 * opacity];\n};\n\n// Kepler prop value -> Deck.gl prop value\n// Supports nested definitions, and function transforms:\n// {keplerProp: 'deckProp'} is equivalent to:\n// {keplerProp: x => ({deckProp: x})}\nconst sharedPropMap = {\n // Apply the value of Kepler `color` prop to the deck `getFillColor` prop\n color: 'getFillColor',\n isVisible: 'visible',\n label: 'cartoLabel',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n // Apply the value of Kepler `textLabel.color` prop to the deck `getTextColor` prop\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n elevationScale: 'elevationScale',\n filled: 'filled',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst customMarkersPropsMap = {\n color: 'getIconColor',\n visConfig: {\n radius: 'getIconSize'\n }\n};\n\nconst aggregationVisConfig = {\n colorAggregation: x => ({colorAggregation: AGGREGATION[x] || AGGREGATION.sum}),\n colorRange: x => ({colorRange: x.colors.map(hexToRGBA)}),\n coverage: 'coverage',\n elevationPercentile: ['elevationLowerPercentile', 'elevationUpperPercentile'],\n percentile: ['lowerPercentile', 'upperPercentile']\n};\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a: Record<string, any> = {}, b: Record<string, any> = {}) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport function getLayer(\n type: string,\n config: MapTextSubLayerConfig,\n dataset: MapDataset\n): {Layer: ConstructorOf<Layer>; propMap: any; defaultProps: any} {\n let basePropMap: any = sharedPropMap;\n\n if (config.visConfig?.customMarkers) {\n basePropMap = mergePropMaps(sharedPropMap, customMarkersPropsMap);\n }\n if (type === 'mvt' || type === 'tileset' || type === 'h3' || type === 'quadbin') {\n return getTileLayer(dataset, basePropMap);\n }\n\n const geoColumn = dataset?.geoColumn;\n const getPosition = d => d[geoColumn].coordinates;\n\n const hexagonId = config.columns?.hex_id;\n\n const layerTypeDefs: Record<\n string,\n {Layer: ConstructorOf<Layer>; propMap?: any; defaultProps?: any}\n > = {\n point: {\n Layer: GeoJsonLayer,\n propMap: {\n columns: {\n altitude: x => ({parameters: {depthTest: Boolean(x)}})\n },\n visConfig: {outline: 'stroked'}\n }\n },\n geojson: {\n Layer: GeoJsonLayer\n },\n grid: {\n Layer: CPUGridLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({cellSize: 1000 * x})}},\n defaultProps: {getPosition}\n },\n heatmap: {\n Layer: HeatmapLayer,\n propMap: {visConfig: {...aggregationVisConfig, radius: 'radiusPixels'}},\n defaultProps: {getPosition}\n },\n hexagon: {\n Layer: HexagonLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({radius: 1000 * x})}},\n defaultProps: {getPosition}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: {visConfig: {coverage: 'coverage'}},\n defaultProps: {getHexagon: d => d[hexagonId], stroked: false}\n }\n };\n\n const layer = layerTypeDefs[type];\n\n assert(layer, `Unsupported layer type: ${type}`);\n return {\n ...layer,\n propMap: mergePropMaps(basePropMap, layer.propMap),\n defaultProps: {...defaultProps, ...layer.defaultProps}\n };\n}\n\nexport function layerFromTileDataset(\n formatTiles: TileFormat | null = TILE_FORMATS.MVT,\n scheme: string,\n type?: MapType\n): typeof VectorTileLayer | typeof H3TileLayer | typeof QuadbinTileLayer {\n if (type === 'raster') {\n return RasterTileLayer;\n }\n if (scheme === 'h3') {\n return H3TileLayer;\n }\n if (scheme === 'quadbin') {\n return QuadbinTileLayer;\n }\n\n return VectorTileLayer;\n}\n\nfunction getTileLayer(dataset: MapDataset, basePropMap) {\n const {\n aggregationExp,\n aggregationResLevel,\n data: {\n scheme,\n tiles: [tileUrl]\n }\n } = dataset;\n /* global URL */\n const formatTiles = new URL(tileUrl).searchParams.get('formatTiles') as TileFormat;\n\n return {\n Layer: layerFromTileDataset(formatTiles, scheme),\n propMap: basePropMap,\n defaultProps: {\n ...defaultProps,\n ...(aggregationExp && {aggregationExp}),\n ...(aggregationResLevel && {aggregationResLevel}),\n formatTiles,\n uniqueIdProperty: 'geoid'\n }\n };\n}\n\nfunction domainFromAttribute(attribute, scaleType: SCALE_TYPE, scaleLength: number) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n if (scaleType === 'quantile' && attribute.quantiles) {\n return attribute.quantiles[scaleLength];\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType: SCALE_TYPE) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return groupSort(\n values,\n g => -g.length,\n d => d\n );\n } else if (scaleType === 'quantile') {\n return values.sort((a, b) => a - b);\n } else if (scaleType === 'log') {\n const [d0, d1] = extent(values as number[]);\n return [d0 === 0 ? 1e-5 : d0, d1];\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType, scaleLength?) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType, scaleLength);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name] !== undefined) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return (object, info) => {\n if (object) {\n return accessor(object.properties || object.__source.object.properties);\n }\n\n const {data, index} = info;\n const proxy = createBinaryProxy(data, index);\n return accessor(proxy);\n };\n }\n return accessor;\n}\n\nexport function opacityToAlpha(opacity?: number) {\n return opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;\n}\n\nfunction getAccessorKeys(name: string, aggregation: string | undefined): string[] {\n let keys = [name];\n if (aggregation) {\n // Snowflake will capitalized the keys, need to check lower and upper case version\n keys = keys.concat([aggregation, aggregation.toUpperCase()].map(a => `${name}_${a}`));\n }\n return keys;\n}\n\nfunction findAccessorKey(keys: string[], properties): string[] {\n for (const key of keys) {\n if (key in properties) {\n return [key];\n }\n }\n\n throw new Error(`Could not find property for any accessor key: ${keys}`);\n}\n\nexport function getColorValueAccessor({name}, colorAggregation, data: any) {\n const aggregator = AGGREGATION_FUNC[colorAggregation];\n const accessor = values => aggregator(values, p => p[name]);\n return normalizeAccessor(accessor, data);\n}\n\nexport function getColorAccessor(\n {name},\n scaleType: SCALE_TYPE,\n {aggregation, range: {colors, colorMap}},\n opacity: number | undefined,\n data: any\n) {\n const scale = SCALE_FUNCS[scaleType as any]();\n let domain: (string | number)[] = [];\n let scaleColor: string[] = [];\n\n if (Array.isArray(colorMap)) {\n colorMap.forEach(([value, color]) => {\n domain.push(value);\n scaleColor.push(color);\n });\n } else {\n domain = calculateDomain(data, name, scaleType, colors.length);\n scaleColor = colors;\n }\n\n if (scaleType === 'ordinal') {\n domain = domain.slice(0, scaleColor.length);\n }\n\n scale.domain(domain);\n scale.range(scaleColor);\n scale.unknown(UNKNOWN_COLOR);\n const alpha = opacityToAlpha(opacity);\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n const {r, g, b} = rgb(scale(propertyValue));\n return [r, g, b, propertyValue === null ? 0 : alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FALLBACK_ICON =\n 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiLz4NCjwvc3ZnPg==';\n\nexport function getIconUrlAccessor(\n field: VisualChannelField | null | undefined,\n range: CustomMarkersRange | null | undefined,\n {fallbackUrl, maxIconSize, useMaskedIcons},\n data: any\n) {\n const urlToUnpackedIcon = (url: string) => ({\n id: `${url}@@${maxIconSize}`,\n url,\n width: maxIconSize,\n height: maxIconSize,\n mask: useMaskedIcons\n });\n let unknownValue = fallbackUrl || FALLBACK_ICON;\n\n if (range?.othersMarker) {\n unknownValue = range.othersMarker;\n }\n\n const unknownIcon = urlToUnpackedIcon(unknownValue);\n if (!range || !field) {\n return () => unknownIcon;\n }\n\n const mapping: Record<string, any> = {};\n for (const {value, markerUrl} of range.markerMap) {\n if (markerUrl) {\n mapping[value] = urlToUnpackedIcon(markerUrl);\n }\n }\n\n const accessor = properties => {\n const propertyValue = properties[field.name];\n return mapping[propertyValue] || unknownIcon;\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number {\n const {radiusRange, radius} = visConfig;\n const {radiusField, sizeField} = visualChannels;\n const field = radiusField || sizeField;\n return Math.ceil(radiusRange && field ? radiusRange[1] : radius);\n}\n\nexport function negateAccessor<T>(accessor: Accessor<T, number>): Accessor<T, number> {\n return typeof accessor === 'function' ? (d, i) => -accessor(d, i) : -accessor;\n}\n\nexport function getSizeAccessor(\n {name},\n scaleType: SCALE_TYPE | undefined,\n aggregation,\n range: Iterable<Range> | undefined,\n data: any\n) {\n const scale = scaleType ? SCALE_FUNCS[scaleType as any]() : identity;\n if (scaleType) {\n if (aggregation !== 'count') {\n scale.domain(calculateDomain(data, name, scaleType));\n }\n scale.range(range);\n }\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n return scale(propertyValue);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS: Record<string, (value: any) => string> = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}: VisualChannelField, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport {domainFromValues as _domainFromValues};\n"],"file":"layer-map.js"}
@@ -19,7 +19,6 @@ export const COLUMNS_SUPPORT = [MAP_TYPES.TABLE];
19
19
  export const GEO_COLUMN_SUPPORT = [MAP_TYPES.QUERY, MAP_TYPES.TABLE];
20
20
  export const FORMATS = {
21
21
  GEOJSON: 'geojson',
22
- NDJSON: 'ndjson',
23
22
  TILEJSON: 'tilejson',
24
23
  JSON: 'json'
25
24
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/maps-api-common.ts"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","RASTER","COLUMNS_SUPPORT","GEO_COLUMN_SUPPORT","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","TILE_FORMATS","MVT","BINARY","SchemaFieldType","REQUEST_TYPES","DATA","INSTANTIATION","PUBLIC_MAP","TILE_STATS","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAGP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAOP,OAAO,MAAMC,uBAAuB,GAAG;AACrC,GAACJ,YAAY,CAACC,EAAd,qBAA8BH,6BAA9B,0BADqC;AAErC,GAACE,YAAY,CAACE,EAAd,iCAA0CH,+BAA1C,6BAA4FD,6BAA5F;AAFqC,CAAhC;AAKP,OAAO,MAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE,SAHc;AAIvBC,EAAAA,MAAM,EAAE;AAJe,CAAlB;AAOP,OAAO,MAAMC,eAA0B,GAAG,CAACL,SAAS,CAACE,KAAX,CAAnC;AACP,OAAO,MAAMI,kBAA6B,GAAG,CAACN,SAAS,CAACC,KAAX,EAAkBD,SAAS,CAACE,KAA5B,CAAtC;AAGP,OAAO,MAAMK,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;AASP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KADqB;AAE1BF,EAAAA,IAAI,EAAE,MAFoB;AAG1BH,EAAAA,OAAO,EAAE,SAHiB;AAI1BM,EAAAA,MAAM,EAAE;AAJkB,CAArB;AAQP,WAAYC,eAAZ;;WAAYA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;GAAAA,e,KAAAA,e;;AA8BZ,OAAO,MAAMC,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE,UADqB;AAE3BC,EAAAA,aAAa,EAAE,mBAFY;AAG3BC,EAAAA,UAAU,EAAE,YAHe;AAI3BC,EAAAA,UAAU,EAAE;AAJe,CAAtB;AAWP,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAAuCC,KAAvC,EAAiF;AACtF,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport type ValuesOf<T extends {}> = T[keyof T];\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n} as const;\nexport type ApiVersion = ValuesOf<typeof API_VERSIONS>;\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n} as const;\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset',\n RASTER: 'raster'\n} as const;\nexport type MapType = ValuesOf<typeof MAP_TYPES>;\nexport const COLUMNS_SUPPORT: MapType[] = [MAP_TYPES.TABLE];\nexport const GEO_COLUMN_SUPPORT: MapType[] = [MAP_TYPES.QUERY, MAP_TYPES.TABLE];\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n} as const;\nexport type Format = ValuesOf<typeof FORMATS>;\n\n// AVAILABLE FORMATS FOR TILES\nexport const TILE_FORMATS = {\n MVT: 'mvt',\n JSON: 'json',\n GEOJSON: 'geojson',\n BINARY: 'binary'\n} as const;\nexport type TileFormat = ValuesOf<typeof TILE_FORMATS>;\n\nexport enum SchemaFieldType {\n Number = 'number',\n Bigint = 'bigint',\n String = 'string',\n Geometry = 'geometry',\n Timestamp = 'timestamp',\n Object = 'object',\n Boolean = 'boolean',\n Variant = 'variant',\n Unknown = 'unknown'\n}\nexport interface SchemaField {\n name: string;\n type: SchemaFieldType; // Field type in the CARTO stack, common for all providers\n}\n\nexport interface MapInstantiation extends MapInstantiationFormats {\n nrows: number;\n size?: number;\n schema: SchemaField[];\n}\n\ntype MapInstantiationFormats = Record<\n Format,\n {\n url: string[];\n error?: any;\n }\n>;\n\nexport const REQUEST_TYPES = {\n DATA: 'Map data',\n INSTANTIATION: 'Map instantiation',\n PUBLIC_MAP: 'Public map',\n TILE_STATS: 'Tile stats'\n} as const;\nexport type RequestType = ValuesOf<typeof REQUEST_TYPES>;\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name: string, value: string | boolean | number): string {\n return `${name}=${encodeURIComponent(value)}`;\n}\n\nexport type QueryParameterValue = string | number | boolean | Array<QueryParameterValue> | object;\n\nexport type NamedQueryParameter = Record<string, QueryParameterValue>;\n\nexport type PositionalQueryParameter = QueryParameterValue[];\n\nexport type QueryParameters = NamedQueryParameter | PositionalQueryParameter;\n"],"file":"maps-api-common.js"}
1
+ {"version":3,"sources":["../../../src/api/maps-api-common.ts"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","RASTER","COLUMNS_SUPPORT","GEO_COLUMN_SUPPORT","FORMATS","GEOJSON","TILEJSON","JSON","TILE_FORMATS","MVT","BINARY","SchemaFieldType","REQUEST_TYPES","DATA","INSTANTIATION","PUBLIC_MAP","TILE_STATS","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAGP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAOP,OAAO,MAAMC,uBAAuB,GAAG;AACrC,GAACJ,YAAY,CAACC,EAAd,qBAA8BH,6BAA9B,0BADqC;AAErC,GAACE,YAAY,CAACE,EAAd,iCAA0CH,+BAA1C,6BAA4FD,6BAA5F;AAFqC,CAAhC;AAKP,OAAO,MAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE,SAHc;AAIvBC,EAAAA,MAAM,EAAE;AAJe,CAAlB;AAOP,OAAO,MAAMC,eAA0B,GAAG,CAACL,SAAS,CAACE,KAAX,CAAnC;AACP,OAAO,MAAMI,kBAA6B,GAAG,CAACN,SAAS,CAACC,KAAX,EAAkBD,SAAS,CAACE,KAA5B,CAAtC;AAGP,OAAO,MAAMK,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,QAAQ,EAAE,UAFW;AAGrBC,EAAAA,IAAI,EAAE;AAHe,CAAhB;AAQP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KADqB;AAE1BF,EAAAA,IAAI,EAAE,MAFoB;AAG1BF,EAAAA,OAAO,EAAE,SAHiB;AAI1BK,EAAAA,MAAM,EAAE;AAJkB,CAArB;AAQP,WAAYC,eAAZ;;WAAYA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;GAAAA,e,KAAAA,e;;AA8BZ,OAAO,MAAMC,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE,UADqB;AAE3BC,EAAAA,aAAa,EAAE,mBAFY;AAG3BC,EAAAA,UAAU,EAAE,YAHe;AAI3BC,EAAAA,UAAU,EAAE;AAJe,CAAtB;AAWP,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAAuCC,KAAvC,EAAiF;AACtF,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport type ValuesOf<T extends {}> = T[keyof T];\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n} as const;\nexport type ApiVersion = ValuesOf<typeof API_VERSIONS>;\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n} as const;\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset',\n RASTER: 'raster'\n} as const;\nexport type MapType = ValuesOf<typeof MAP_TYPES>;\nexport const COLUMNS_SUPPORT: MapType[] = [MAP_TYPES.TABLE];\nexport const GEO_COLUMN_SUPPORT: MapType[] = [MAP_TYPES.QUERY, MAP_TYPES.TABLE];\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n} as const;\nexport type Format = ValuesOf<typeof FORMATS>;\n\n// AVAILABLE FORMATS FOR TILES\nexport const TILE_FORMATS = {\n MVT: 'mvt',\n JSON: 'json',\n GEOJSON: 'geojson',\n BINARY: 'binary'\n} as const;\nexport type TileFormat = ValuesOf<typeof TILE_FORMATS>;\n\nexport enum SchemaFieldType {\n Number = 'number',\n Bigint = 'bigint',\n String = 'string',\n Geometry = 'geometry',\n Timestamp = 'timestamp',\n Object = 'object',\n Boolean = 'boolean',\n Variant = 'variant',\n Unknown = 'unknown'\n}\nexport interface SchemaField {\n name: string;\n type: SchemaFieldType; // Field type in the CARTO stack, common for all providers\n}\n\nexport interface MapInstantiation extends MapInstantiationFormats {\n nrows: number;\n size?: number;\n schema: SchemaField[];\n}\n\ntype MapInstantiationFormats = Record<\n Format,\n {\n url: string[];\n error?: any;\n }\n>;\n\nexport const REQUEST_TYPES = {\n DATA: 'Map data',\n INSTANTIATION: 'Map instantiation',\n PUBLIC_MAP: 'Public map',\n TILE_STATS: 'Tile stats'\n} as const;\nexport type RequestType = ValuesOf<typeof REQUEST_TYPES>;\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name: string, value: string | boolean | number): string {\n return `${name}=${encodeURIComponent(value)}`;\n}\n\nexport type QueryParameterValue = string | number | boolean | Array<QueryParameterValue> | object;\n\nexport type NamedQueryParameter = Record<string, QueryParameterValue>;\n\nexport type PositionalQueryParameter = QueryParameterValue[];\n\nexport type QueryParameters = NamedQueryParameter | PositionalQueryParameter;\n"],"file":"maps-api-common.js"}
@@ -6,7 +6,7 @@ import { log } from '@deck.gl/core';
6
6
  import { assert } from '../utils';
7
7
  const MAX_GET_LENGTH = 8192;
8
8
  const DEFAULT_CLIENT = 'deck-gl-carto';
9
- const V3_MINOR_VERSION = '3.1';
9
+ const V3_MINOR_VERSION = '3.2';
10
10
 
11
11
  async function request({
12
12
  method,
@@ -80,16 +80,6 @@ async function requestData({
80
80
  body,
81
81
  errorContext
82
82
  }) {
83
- if (format === FORMATS.NDJSON) {
84
- return request({
85
- method,
86
- url,
87
- accessToken,
88
- body,
89
- errorContext
90
- });
91
- }
92
-
93
83
  const data = await requestJson({
94
84
  method,
95
85
  url,
@@ -357,7 +347,7 @@ async function _fetchDataUrl({
357
347
  url = getUrlFromMetadata(metadata, format);
358
348
  assert(url, "Format ".concat(format, " not available"));
359
349
  } else {
360
- const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.JSON, FORMATS.NDJSON, FORMATS.TILEJSON];
350
+ const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.JSON, FORMATS.TILEJSON];
361
351
 
362
352
  for (const f of prioritizedFormats) {
363
353
  url = getUrlFromMetadata(metadata, f);