@deck.gl/carto 8.9.6 → 8.9.8

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 (150) hide show
  1. package/dist/dist.dev.js +774 -114
  2. package/dist/es5/api/layer-map.js +9 -15
  3. package/dist/es5/api/layer-map.js.map +1 -1
  4. package/dist/es5/api/maps-api-common.js +2 -1
  5. package/dist/es5/api/maps-api-common.js.map +1 -1
  6. package/dist/es5/api/maps-v3-client.js +17 -6
  7. package/dist/es5/api/maps-v3-client.js.map +1 -1
  8. package/dist/es5/api/parseMap.js +1 -1
  9. package/dist/es5/api/parseMap.js.map +1 -1
  10. package/dist/es5/index.js +8 -0
  11. package/dist/es5/index.js.map +1 -1
  12. package/dist/es5/layers/carto-layer.js +1 -1
  13. package/dist/es5/layers/carto-layer.js.map +1 -1
  14. package/dist/es5/layers/h3-tile-layer.js +2 -1
  15. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  16. package/dist/es5/layers/quadbin-tile-layer.js +2 -1
  17. package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
  18. package/dist/es5/layers/quadbin-utils.js +14 -4
  19. package/dist/es5/layers/quadbin-utils.js.map +1 -1
  20. package/dist/es5/layers/raster-layer-vertex.glsl.js +9 -0
  21. package/dist/es5/layers/raster-layer-vertex.glsl.js.map +1 -0
  22. package/dist/es5/layers/raster-layer.js +176 -0
  23. package/dist/es5/layers/raster-layer.js.map +1 -0
  24. package/dist/es5/layers/raster-tile-layer.js +114 -0
  25. package/dist/es5/layers/raster-tile-layer.js.map +1 -0
  26. package/dist/es5/layers/schema/carto-raster-tile-loader.js +80 -0
  27. package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -0
  28. package/dist/es5/layers/schema/carto-raster-tile.js +87 -0
  29. package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -0
  30. package/dist/es5/layers/schema/carto-spatial-tile.js +1 -1
  31. package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
  32. package/dist/es5/layers/schema/carto-tile.js +2 -2
  33. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  34. package/dist/es5/layers/schema/fast-pbf.js +3 -11
  35. package/dist/es5/layers/schema/fast-pbf.js.map +1 -1
  36. package/dist/es5/layers/spatial-index-tile-layer.js +3 -41
  37. package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
  38. package/dist/es5/utils.js +18 -0
  39. package/dist/es5/utils.js.map +1 -1
  40. package/dist/esm/api/layer-map.js +9 -21
  41. package/dist/esm/api/layer-map.js.map +1 -1
  42. package/dist/esm/api/maps-api-common.js +2 -1
  43. package/dist/esm/api/maps-api-common.js.map +1 -1
  44. package/dist/esm/api/maps-v3-client.js +9 -1
  45. package/dist/esm/api/maps-v3-client.js.map +1 -1
  46. package/dist/esm/api/parseMap.js +1 -1
  47. package/dist/esm/api/parseMap.js.map +1 -1
  48. package/dist/esm/index.js +1 -0
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/layers/carto-layer.js +1 -1
  51. package/dist/esm/layers/carto-layer.js.map +1 -1
  52. package/dist/esm/layers/h3-tile-layer.js +2 -1
  53. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  54. package/dist/esm/layers/quadbin-tile-layer.js +2 -1
  55. package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
  56. package/dist/esm/layers/quadbin-utils.js +7 -4
  57. package/dist/esm/layers/quadbin-utils.js.map +1 -1
  58. package/dist/esm/layers/raster-layer-vertex.glsl.js +2 -0
  59. package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -0
  60. package/dist/esm/layers/raster-layer.js +111 -0
  61. package/dist/esm/layers/raster-layer.js.map +1 -0
  62. package/dist/esm/layers/raster-tile-layer.js +67 -0
  63. package/dist/esm/layers/raster-tile-layer.js.map +1 -0
  64. package/dist/esm/layers/schema/carto-raster-tile-loader.js +46 -0
  65. package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -0
  66. package/dist/esm/layers/schema/carto-raster-tile.js +51 -0
  67. package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -0
  68. package/dist/esm/layers/schema/carto-spatial-tile.js +2 -2
  69. package/dist/esm/layers/schema/carto-spatial-tile.js.map +1 -1
  70. package/dist/esm/layers/schema/carto-tile.js +3 -3
  71. package/dist/esm/layers/schema/carto-tile.js.map +1 -1
  72. package/dist/esm/layers/schema/fast-pbf.js +2 -8
  73. package/dist/esm/layers/schema/fast-pbf.js.map +1 -1
  74. package/dist/esm/layers/spatial-index-tile-layer.js +3 -41
  75. package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
  76. package/dist/esm/utils.js +20 -0
  77. package/dist/esm/utils.js.map +1 -1
  78. package/dist.min.js +100 -23
  79. package/package.json +3 -3
  80. package/src/api/layer-map.ts +12 -19
  81. package/src/api/maps-api-common.ts +2 -1
  82. package/src/api/maps-v3-client.ts +6 -1
  83. package/src/api/parseMap.ts +1 -1
  84. package/src/index.ts +1 -0
  85. package/src/layers/carto-layer.ts +1 -1
  86. package/src/layers/h3-tile-layer.ts +2 -3
  87. package/src/layers/quadbin-tile-layer.ts +2 -3
  88. package/src/layers/quadbin-utils.ts +9 -5
  89. package/src/layers/raster-layer-vertex.glsl.ts +98 -0
  90. package/src/layers/raster-layer.ts +146 -0
  91. package/src/layers/raster-tile-layer.ts +63 -0
  92. package/src/layers/schema/carto-raster-tile-loader.ts +42 -0
  93. package/src/layers/schema/carto-raster-tile.ts +46 -0
  94. package/src/layers/schema/carto-spatial-tile.ts +2 -2
  95. package/src/layers/schema/carto-tile.ts +3 -3
  96. package/src/layers/schema/fast-pbf.ts +3 -9
  97. package/src/layers/spatial-index-tile-layer.ts +3 -38
  98. package/src/utils.ts +22 -0
  99. package/typed/api/layer-map.d.ts +2 -1
  100. package/typed/api/layer-map.d.ts.map +1 -1
  101. package/typed/api/maps-api-common.d.ts +1 -0
  102. package/typed/api/maps-api-common.d.ts.map +1 -1
  103. package/typed/api/maps-v3-client.d.ts.map +1 -1
  104. package/typed/index.d.ts +1 -0
  105. package/typed/index.d.ts.map +1 -1
  106. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  107. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
  108. package/typed/layers/quadbin-utils.d.ts +1 -0
  109. package/typed/layers/quadbin-utils.d.ts.map +1 -1
  110. package/typed/layers/raster-layer-vertex.glsl.d.ts +3 -0
  111. package/typed/layers/raster-layer-vertex.glsl.d.ts.map +1 -0
  112. package/typed/layers/raster-layer.d.ts +19 -0
  113. package/typed/layers/raster-layer.d.ts.map +1 -0
  114. package/typed/layers/raster-tile-layer.d.ts +24 -0
  115. package/typed/layers/raster-tile-layer.d.ts.map +1 -0
  116. package/typed/layers/schema/carto-raster-tile-loader.d.ts +13 -0
  117. package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -0
  118. package/typed/layers/schema/carto-raster-tile.d.ts +9 -0
  119. package/typed/layers/schema/carto-raster-tile.d.ts.map +1 -0
  120. package/typed/layers/schema/carto-spa-tile.d.ts +57 -0
  121. package/typed/layers/schema/carto-spa-tile.d.ts.map +1 -0
  122. package/typed/layers/schema/fast-pbf.d.ts +1 -2
  123. package/typed/layers/schema/fast-pbf.d.ts.map +1 -1
  124. package/typed/layers/spatial-index-tile-layer.d.ts +1 -2
  125. package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
  126. package/typed/utils.d.ts +5 -0
  127. package/typed/utils.d.ts.map +1 -1
  128. package/typed/api/index.js +0 -3
  129. package/typed/api/layer-map.js +0 -264
  130. package/typed/api/maps-api-common.js +0 -50
  131. package/typed/api/maps-client.js +0 -125
  132. package/typed/api/maps-v3-client.js +0 -304
  133. package/typed/api/parseMap.js +0 -178
  134. package/typed/basemap.js +0 -9
  135. package/typed/config.js +0 -35
  136. package/typed/index.js +0 -10
  137. package/typed/layers/carto-layer.js +0 -173
  138. package/typed/layers/carto-tile-layer.js +0 -105
  139. package/typed/layers/h3-tile-layer.js +0 -47
  140. package/typed/layers/h3-tileset-2d.js +0 -85
  141. package/typed/layers/quadkey-tile-layer.js +0 -42
  142. package/typed/layers/quadkey-tileset-2d.js +0 -36
  143. package/typed/layers/schema/carto-tile.js +0 -161
  144. package/typed/layers/spatial-index-tile-layer.js +0 -40
  145. package/typed/style/color-bins-style.js +0 -12
  146. package/typed/style/color-categories-style.js +0 -16
  147. package/typed/style/color-continuous-style.js +0 -12
  148. package/typed/style/palette.js +0 -62
  149. package/typed/style/utils.js +0 -15
  150. package/typed/utils.js +0 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile.ts"],"names":["readPackedFixed64","NumericPropKeyValueReader","PropertiesReader","IndicesReader","read","pbf","end","readFields","_readField","value","tag","obj","CellsReader","indices","properties","numericProps","readVarint","pos","push","entry","key","TileReader","scheme","cells"],"mappings":"AAAA,SAAQA,iBAAR,QAAgC,YAAhC;AAEA,SAAqBC,yBAArB,EAAgDC,gBAAhD,QAAuE,cAAvE;AAIA,OAAO,MAAMC,aAAN,CAAoB;AACd,SAAJC,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA6B;AACtC,WAAOD,GAAG,CAACE,UAAJ,CAAeJ,aAAa,CAACK,UAA7B,EAAyC;AAACC,MAAAA,KAAK,EAAE;AAAR,KAAzC,EAAsDH,GAAtD,CAAP;AACD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAA+BN,GAA/B,EAAoC;AACnD,QAAIK,GAAG,KAAK,CAAZ,EAAeV,iBAAiB,CAACK,GAAD,EAAMM,GAAN,CAAjB;AAChB;;AANwB;;AAiB3B,MAAMC,WAAN,CAAkB;AACL,SAAJR,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA2B;AACpC,WAAOD,GAAG,CAACE,UAAJ,CACLK,WAAW,CAACJ,UADP,EAEL;AAACK,MAAAA,OAAO,EAAE,IAAV;AAAgBC,MAAAA,UAAU,EAAE,EAA5B;AAAgCC,MAAAA,YAAY,EAAE;AAA9C,KAFK,EAGLT,GAHK,CAAP;AAKD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAAsCN,GAAtC,EAA2C;AAC1D,QAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACE,OAAJ,GAAcV,aAAa,CAACC,IAAd,CAAmBC,GAAnB,EAAwBA,GAAG,CAACW,UAAJ,KAAmBX,GAAG,CAACY,GAA/C,CAAd,CAAf,KACK,IAAIP,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACG,UAAJ,CAAeI,IAAf,CAAoBhB,gBAAgB,CAACE,IAAjB,CAAsBC,GAAtB,EAA2BA,GAAG,CAACW,UAAJ,KAAmBX,GAAG,CAACY,GAAlD,CAApB,EAAf,KACA,IAAIP,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMS,KAAK,GAAGlB,yBAAyB,CAACG,IAA1B,CAA+BC,GAA/B,EAAoCA,GAAG,CAACW,UAAJ,KAAmBX,GAAG,CAACY,GAA3D,CAAd;AACAN,MAAAA,GAAG,CAACI,YAAJ,CAAiBI,KAAK,CAACC,GAAvB,IAA8BD,KAAK,CAACV,KAApC;AACD;AACF;;AAfe;;AA0BlB,OAAO,MAAMY,UAAN,CAAiB;AACX,SAAJjB,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA0B;AACnC,WAAOD,GAAG,CAACE,UAAJ,CAAec,UAAU,CAACb,UAA1B,EAAsC;AAACc,MAAAA,MAAM,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KAAtC,EAAgEjB,GAAhE,CAAP;AACD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAAqCN,GAArC,EAA0C;AACzD,QAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACW,MAAJ,GAAajB,GAAG,CAACW,UAAJ,EAAb,CAAf,KACK,IAAIN,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACY,KAAJ,GAAYX,WAAW,CAACR,IAAZ,CAAiBC,GAAjB,EAAsBA,GAAG,CAACW,UAAJ,KAAmBX,GAAG,CAACY,GAA7C,CAAZ;AACrB;;AAPqB","sourcesContent":["import {readPackedFixed64} from './fast-pbf';\nimport {Indices, IndexScheme} from './spatialjson-utils';\nimport {NumericProp, NumericPropKeyValueReader, PropertiesReader} from './carto-tile';\n\n// Indices =====================================\n\nexport class IndicesReader {\n static read(pbf, end?: number): Indices {\n return pbf.readFields(IndicesReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedFixed64(pbf, obj);\n }\n}\n\n// Cells =========================================\n\ninterface Cells {\n indices: Indices;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n}\n\nclass CellsReader {\n static read(pbf, end?: number): Cells {\n return pbf.readFields(\n CellsReader._readField,\n {indices: null, properties: [], numericProps: {}},\n end\n );\n }\n static _readField(this: void, tag: number, obj: Cells, pbf) {\n if (tag === 1) obj.indices = IndicesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 3) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\n// Tile ========================================\n\n// TODO this type is very similar to SpatialBinary, should align\nexport interface Tile {\n scheme: IndexScheme;\n cells: Cells;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {scheme: 0, cells: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.scheme = pbf.readVarint();\n else if (tag === 2) obj.cells = CellsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-spatial-tile.js"}
1
+ {"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile.ts"],"names":["readPackedTypedArray","NumericPropKeyValueReader","PropertiesReader","IndicesReader","read","pbf","end","readFields","_readField","value","tag","obj","BigUint64Array","CellsReader","indices","properties","numericProps","readVarint","pos","push","entry","key","TileReader","scheme","cells"],"mappings":"AAAA,SAAQA,oBAAR,QAAmC,YAAnC;AAEA,SAAqBC,yBAArB,EAAgDC,gBAAhD,QAAuE,cAAvE;AAIA,OAAO,MAAMC,aAAN,CAAoB;AACd,SAAJC,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA6B;AACtC,WAAOD,GAAG,CAACE,UAAJ,CAAeJ,aAAa,CAACK,UAA7B,EAAyC;AAACC,MAAAA,KAAK,EAAE;AAAR,KAAzC,EAAsDH,GAAtD,CAAP;AACD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAA+BN,GAA/B,EAAoC;AACnD,QAAIK,GAAG,KAAK,CAAZ,EAAeV,oBAAoB,CAACY,cAAD,EAAiBP,GAAjB,EAAsBM,GAAtB,CAApB;AAChB;;AANwB;;AAiB3B,MAAME,WAAN,CAAkB;AACL,SAAJT,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA2B;AACpC,WAAOD,GAAG,CAACE,UAAJ,CACLM,WAAW,CAACL,UADP,EAEL;AAACM,MAAAA,OAAO,EAAE,IAAV;AAAgBC,MAAAA,UAAU,EAAE,EAA5B;AAAgCC,MAAAA,YAAY,EAAE;AAA9C,KAFK,EAGLV,GAHK,CAAP;AAKD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAAsCN,GAAtC,EAA2C;AAC1D,QAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACG,OAAJ,GAAcX,aAAa,CAACC,IAAd,CAAmBC,GAAnB,EAAwBA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA/C,CAAd,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACI,UAAJ,CAAeI,IAAf,CAAoBjB,gBAAgB,CAACE,IAAjB,CAAsBC,GAAtB,EAA2BA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAAlD,CAApB,EAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMU,KAAK,GAAGnB,yBAAyB,CAACG,IAA1B,CAA+BC,GAA/B,EAAoCA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA3D,CAAd;AACAP,MAAAA,GAAG,CAACK,YAAJ,CAAiBI,KAAK,CAACC,GAAvB,IAA8BD,KAAK,CAACX,KAApC;AACD;AACF;;AAfe;;AA0BlB,OAAO,MAAMa,UAAN,CAAiB;AACX,SAAJlB,IAAI,CAACC,GAAD,EAAMC,GAAN,EAA0B;AACnC,WAAOD,GAAG,CAACE,UAAJ,CAAee,UAAU,CAACd,UAA1B,EAAsC;AAACe,MAAAA,MAAM,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KAAtC,EAAgElB,GAAhE,CAAP;AACD;;AACgB,SAAVE,UAAU,CAAaE,GAAb,EAA0BC,GAA1B,EAAqCN,GAArC,EAA0C;AACzD,QAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACY,MAAJ,GAAalB,GAAG,CAACY,UAAJ,EAAb,CAAf,KACK,IAAIP,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACa,KAAJ,GAAYX,WAAW,CAACT,IAAZ,CAAiBC,GAAjB,EAAsBA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA7C,CAAZ;AACrB;;AAPqB","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\nimport {Indices, IndexScheme} from './spatialjson-utils';\nimport {NumericProp, NumericPropKeyValueReader, PropertiesReader} from './carto-tile';\n\n// Indices =====================================\n\nexport class IndicesReader {\n static read(pbf, end?: number): Indices {\n return pbf.readFields(IndicesReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedTypedArray(BigUint64Array, pbf, obj);\n }\n}\n\n// Cells =========================================\n\ninterface Cells {\n indices: Indices;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n}\n\nclass CellsReader {\n static read(pbf, end?: number): Cells {\n return pbf.readFields(\n CellsReader._readField,\n {indices: null, properties: [], numericProps: {}},\n end\n );\n }\n static _readField(this: void, tag: number, obj: Cells, pbf) {\n if (tag === 1) obj.indices = IndicesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 3) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\n// Tile ========================================\n\n// TODO this type is very similar to SpatialBinary, should align\nexport interface Tile {\n scheme: IndexScheme;\n cells: Cells;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {scheme: 0, cells: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.scheme = pbf.readVarint();\n else if (tag === 2) obj.cells = CellsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-spatial-tile.js"}
@@ -1,4 +1,4 @@
1
- import { readPackedDouble } from './fast-pbf';
1
+ import { readPackedTypedArray } from './fast-pbf';
2
2
 
3
3
  class KeyValueObjectReader {
4
4
  static read(pbf, end) {
@@ -47,7 +47,7 @@ class DoublesReader {
47
47
  }
48
48
 
49
49
  static _readField(tag, obj, pbf) {
50
- if (tag === 1) readPackedDouble(pbf, obj);else if (tag === 2) obj.size = pbf.readVarint(true);
50
+ if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);else if (tag === 2) obj.size = pbf.readVarint(true);
51
51
  }
52
52
 
53
53
  }
@@ -94,7 +94,7 @@ class NumericPropReader {
94
94
  }
95
95
 
96
96
  static _readField(tag, obj, pbf) {
97
- if (tag === 1) readPackedDouble(pbf, obj);
97
+ if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);
98
98
  }
99
99
 
100
100
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["readPackedDouble","KeyValueObjectReader","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","readVarint","pos","DoublesReader","size","Float32Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedDouble} from './fast-pbf';\n\n// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedDouble(pbf, obj);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) readPackedDouble(pbf, obj);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
1
+ {"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["readPackedTypedArray","KeyValueObjectReader","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","readVarint","pos","DoublesReader","size","Float32Array","Float64Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\n\n// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
@@ -1,12 +1,6 @@
1
- export function readPackedDouble(pbf, obj) {
1
+ export function readPackedTypedArray(TypedArray, pbf, obj) {
2
2
  const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
3
- obj.value = new Float64Array(pbf.buf.buffer.slice(pbf.pos, end));
4
- pbf.pos = end;
5
- return obj.value;
6
- }
7
- export function readPackedFixed64(pbf, obj) {
8
- const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
9
- obj.value = new BigUint64Array(pbf.buf.buffer.slice(pbf.pos, end));
3
+ obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));
10
4
  pbf.pos = end;
11
5
  return obj.value;
12
6
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/layers/schema/fast-pbf.ts"],"names":["readPackedDouble","pbf","obj","end","type","readVarint","pos","value","Float64Array","buf","buffer","slice","readPackedFixed64","BigUint64Array"],"mappings":"AACA,OAAO,SAASA,gBAAT,CAA0BC,GAA1B,EAA+BC,GAA/B,EAAoC;AACzC,QAAMC,GAAG,GAAGF,GAAG,CAACG,IAAJ,KAAa,CAAb,GAAiBH,GAAG,CAACI,UAAJ,KAAmBJ,GAAG,CAACK,GAAxC,GAA8CL,GAAG,CAACK,GAAJ,GAAU,CAApE;AACAJ,EAAAA,GAAG,CAACK,KAAJ,GAAY,IAAIC,YAAJ,CAAiBP,GAAG,CAACQ,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBV,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAjB,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD;AACD,OAAO,SAASK,iBAAT,CAA2BX,GAA3B,EAAgCC,GAAhC,EAAqC;AAC1C,QAAMC,GAAG,GAAGF,GAAG,CAACG,IAAJ,KAAa,CAAb,GAAiBH,GAAG,CAACI,UAAJ,KAAmBJ,GAAG,CAACK,GAAxC,GAA8CL,GAAG,CAACK,GAAJ,GAAU,CAApE;AACAJ,EAAAA,GAAG,CAACK,KAAJ,GAAY,IAAIM,cAAJ,CAAmBZ,GAAG,CAACQ,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBV,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAnB,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD","sourcesContent":["// Optimized (100X speed improvement) reading functions for binary data\nexport function readPackedDouble(pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new Float64Array(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\nexport function readPackedFixed64(pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new BigUint64Array(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\n"],"file":"fast-pbf.js"}
1
+ {"version":3,"sources":["../../../../src/layers/schema/fast-pbf.ts"],"names":["readPackedTypedArray","TypedArray","pbf","obj","end","type","readVarint","pos","value","buf","buffer","slice"],"mappings":"AACA,OAAO,SAASA,oBAAT,CAA8BC,UAA9B,EAA0CC,GAA1C,EAA+CC,GAA/C,EAAoD;AACzD,QAAMC,GAAG,GAAGF,GAAG,CAACG,IAAJ,KAAa,CAAb,GAAiBH,GAAG,CAACI,UAAJ,KAAmBJ,GAAG,CAACK,GAAxC,GAA8CL,GAAG,CAACK,GAAJ,GAAU,CAApE;AACAJ,EAAAA,GAAG,CAACK,KAAJ,GAAY,IAAIP,UAAJ,CAAeC,GAAG,CAACO,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBT,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAf,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD","sourcesContent":["// Optimized (100X speed improvement) reading function for binary data\nexport function readPackedTypedArray(TypedArray, pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\n"],"file":"fast-pbf.js"}
@@ -1,9 +1,9 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import { registerLoaders } from '@loaders.gl/core';
3
+ import CartoRasterTileLoader from './schema/carto-raster-tile-loader';
3
4
  import CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';
4
- registerLoaders([CartoSpatialTileLoader]);
5
- import { TileLayer, _getURLFromTemplate } from '@deck.gl/geo-layers';
6
- import { TILE_FORMATS } from '../api/maps-api-common';
5
+ registerLoaders([CartoRasterTileLoader, CartoSpatialTileLoader]);
6
+ import { TileLayer } from '@deck.gl/geo-layers';
7
7
 
8
8
  function isFeatureIdDefined(value) {
9
9
  return value !== undefined && value !== null && value !== '';
@@ -13,44 +13,6 @@ const defaultProps = {
13
13
  aggregationResLevel: 4
14
14
  };
15
15
  export default class SpatialIndexTileLayer extends TileLayer {
16
- getTileData(tile) {
17
- const {
18
- data,
19
- getTileData,
20
- fetch
21
- } = this.props;
22
- const {
23
- signal
24
- } = tile;
25
- tile.url = typeof data === 'string' || Array.isArray(data) ? _getURLFromTemplate(data, tile) : null;
26
-
27
- if (!tile.url) {
28
- return Promise.reject('Invalid URL');
29
- }
30
-
31
- if (getTileData) {
32
- return getTileData(tile);
33
- }
34
-
35
- let loadOptions = this.getLoadOptions();
36
- const {
37
- formatTiles
38
- } = this.props;
39
-
40
- if (formatTiles === TILE_FORMATS.BINARY) {
41
- loadOptions = { ...loadOptions,
42
- mimeType: 'application/vnd.carto-spatial-tile'
43
- };
44
- }
45
-
46
- return fetch(tile.url, {
47
- propName: 'data',
48
- layer: this,
49
- loadOptions,
50
- signal
51
- });
52
- }
53
-
54
16
  updateState(params) {
55
17
  const {
56
18
  props,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["registerLoaders","CartoSpatialTileLoader","TileLayer","_getURLFromTemplate","TILE_FORMATS","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","getTileData","tile","data","fetch","props","signal","url","Array","isArray","Promise","reject","loadOptions","getLoadOptions","formatTiles","BINARY","mimeType","propName","layer","updateState","params","oldProps","setState","tileset","_updateAutoHighlight","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","getSubLayerPropsByTile","highlightedObjectIndex","getHighlightedObjectIndex","content","isFeatureIdPresent","_featureInTile","findIndex","feature","featureId","getTileZoom","getParentIndex","tileZoom","index","KEY","q","featureIndex","featureZoom"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport {DefaultProps, UpdateParameters} from '@deck.gl/core';\nimport CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';\nregisterLoaders([CartoSpatialTileLoader]);\n\nimport {PickingInfo} from '@deck.gl/core';\nimport {\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader as Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {TILE_FORMATS} from '../api/maps-api-common';\n\nfunction isFeatureIdDefined(value: unknown): boolean {\n return value !== undefined && value !== null && value !== '';\n}\n\nconst defaultProps: DefaultProps<SpatialIndexTileLayerProps> = {\n aggregationResLevel: 4\n};\n\n/** All properties supported by SpatialIndexTileLayer. */\nexport type SpatialIndexTileLayerProps<DataT = any> = _SpatialIndexTileLayerProps<DataT> &\n TileLayer<DataT>;\n\n/** Properties added by SpatialIndexTileLayer. */\ntype _SpatialIndexTileLayerProps<DataT = any> = {\n aggregationResLevel?: number;\n};\n\nexport default class SpatialIndexTileLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends TileLayer<DataT, ExtraProps & Required<_SpatialIndexTileLayerProps<DataT>>> {\n static layerName = 'SpatialIndexTileLayer';\n static defaultProps = defaultProps;\n\n getTileData(tile: TileLoadProps) {\n const {data, getTileData, fetch} = this.props;\n const {signal} = tile;\n\n tile.url =\n typeof data === 'string' || Array.isArray(data) ? _getURLFromTemplate(data, tile) : null;\n if (!tile.url) {\n return Promise.reject('Invalid URL');\n }\n\n if (getTileData) {\n return getTileData(tile);\n }\n\n let loadOptions = this.getLoadOptions();\n // @ts-ignore\n const {formatTiles} = this.props;\n\n // The backend doesn't yet support our custom mime-type, so force it here\n // TODO remove entire `getTileData` method once backend sends the correct mime-type\n if (formatTiles === TILE_FORMATS.BINARY) {\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/vnd.carto-spatial-tile'\n };\n }\n\n return fetch(tile.url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n updateState(params: UpdateParameters<this>) {\n const {props, oldProps} = params;\n if (props.aggregationResLevel !== oldProps.aggregationResLevel) {\n // Tileset cache is invalid when resLevel changes\n this.setState({tileset: null});\n }\n\n super.updateState(params);\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const {hoveredFeatureId} = this.state;\n const hoveredFeature = info.object;\n let newHoveredFeatureId;\n\n if (hoveredFeature) {\n newHoveredFeatureId = hoveredFeature.id;\n }\n\n if (hoveredFeatureId !== newHoveredFeatureId) {\n let {highlightColor} = this.props;\n if (typeof highlightColor === 'function') {\n highlightColor = highlightColor(info);\n }\n\n this.setState({\n highlightColor,\n hoveredFeatureId: newHoveredFeatureId\n });\n }\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader) {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n getHighlightedObjectIndex(tile: Tile2DHeader) {\n const {hoveredFeatureId} = this.state;\n const data = tile.content;\n\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);\n if (\n !isFeatureIdPresent ||\n !Array.isArray(data) ||\n // Quick check for whether id is within tile. data.findIndex is expensive\n !this._featureInTile(tile, hoveredFeatureId)\n ) {\n return -1;\n }\n\n return data.findIndex(feature => feature.id === hoveredFeatureId);\n }\n\n _featureInTile(tile: Tile2DHeader, featureId: BigInt | number) {\n const {getTileZoom, getParentIndex} = this.state.tileset;\n const tileZoom = getTileZoom(tile.index);\n // @ts-ignore\n const KEY = tile.index.q ? 'q' : 'i';\n let featureIndex = {[KEY]: featureId};\n let featureZoom = getTileZoom(featureIndex);\n while (!(featureZoom <= tileZoom)) {\n featureIndex = getParentIndex(featureIndex);\n featureZoom = getTileZoom(featureIndex);\n }\n\n return featureIndex[KEY] === tile.index[KEY];\n }\n}\n"],"file":"spatial-index-tile-layer.js"}
1
+ {"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["registerLoaders","CartoRasterTileLoader","CartoSpatialTileLoader","TileLayer","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","updateState","params","props","oldProps","setState","tileset","_updateAutoHighlight","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","getSubLayerPropsByTile","tile","highlightedObjectIndex","getHighlightedObjectIndex","data","content","isFeatureIdPresent","Array","isArray","_featureInTile","findIndex","feature","featureId","getTileZoom","getParentIndex","tileZoom","index","KEY","q","featureIndex","featureZoom"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport {DefaultProps, UpdateParameters} from '@deck.gl/core';\nimport CartoRasterTileLoader from './schema/carto-raster-tile-loader';\nimport CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';\nregisterLoaders([CartoRasterTileLoader, CartoSpatialTileLoader]);\n\nimport {PickingInfo} from '@deck.gl/core';\nimport {TileLayer, _Tile2DHeader as Tile2DHeader} from '@deck.gl/geo-layers';\n\nfunction isFeatureIdDefined(value: unknown): boolean {\n return value !== undefined && value !== null && value !== '';\n}\n\nconst defaultProps: DefaultProps<SpatialIndexTileLayerProps> = {\n aggregationResLevel: 4\n};\n\n/** All properties supported by SpatialIndexTileLayer. */\nexport type SpatialIndexTileLayerProps<DataT = any> = _SpatialIndexTileLayerProps<DataT> &\n TileLayer<DataT>;\n\n/** Properties added by SpatialIndexTileLayer. */\ntype _SpatialIndexTileLayerProps<DataT = any> = {\n aggregationResLevel?: number;\n};\n\nexport default class SpatialIndexTileLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends TileLayer<DataT, ExtraProps & Required<_SpatialIndexTileLayerProps<DataT>>> {\n static layerName = 'SpatialIndexTileLayer';\n static defaultProps = defaultProps;\n\n updateState(params: UpdateParameters<this>) {\n const {props, oldProps} = params;\n if (props.aggregationResLevel !== oldProps.aggregationResLevel) {\n // Tileset cache is invalid when resLevel changes\n this.setState({tileset: null});\n }\n\n super.updateState(params);\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const {hoveredFeatureId} = this.state;\n const hoveredFeature = info.object;\n let newHoveredFeatureId;\n\n if (hoveredFeature) {\n newHoveredFeatureId = hoveredFeature.id;\n }\n\n if (hoveredFeatureId !== newHoveredFeatureId) {\n let {highlightColor} = this.props;\n if (typeof highlightColor === 'function') {\n highlightColor = highlightColor(info);\n }\n\n this.setState({\n highlightColor,\n hoveredFeatureId: newHoveredFeatureId\n });\n }\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader) {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n getHighlightedObjectIndex(tile: Tile2DHeader) {\n const {hoveredFeatureId} = this.state;\n const data = tile.content;\n\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);\n if (\n !isFeatureIdPresent ||\n !Array.isArray(data) ||\n // Quick check for whether id is within tile. data.findIndex is expensive\n !this._featureInTile(tile, hoveredFeatureId)\n ) {\n return -1;\n }\n\n return data.findIndex(feature => feature.id === hoveredFeatureId);\n }\n\n _featureInTile(tile: Tile2DHeader, featureId: BigInt | number) {\n const {getTileZoom, getParentIndex} = this.state.tileset;\n const tileZoom = getTileZoom(tile.index);\n // @ts-ignore\n const KEY = tile.index.q ? 'q' : 'i';\n let featureIndex = {[KEY]: featureId};\n let featureZoom = getTileZoom(featureIndex);\n while (!(featureZoom <= tileZoom)) {\n featureIndex = getParentIndex(featureIndex);\n featureZoom = getTileZoom(featureIndex);\n }\n\n return featureIndex[KEY] === tile.index[KEY];\n }\n}\n"],"file":"spatial-index-tile-layer.js"}
package/dist/esm/utils.js CHANGED
@@ -2,4 +2,24 @@ import { log } from '@deck.gl/core';
2
2
  export function assert(condition, message) {
3
3
  log.assert(condition, message);
4
4
  }
5
+ export function createBinaryProxy(data, index) {
6
+ const {
7
+ properties,
8
+ numericProps
9
+ } = data;
10
+ return new Proxy(properties[index] || {}, {
11
+ get(target, property, receiver) {
12
+ if (property in numericProps) {
13
+ return numericProps[property].value[index];
14
+ }
15
+
16
+ return target[property];
17
+ },
18
+
19
+ has(target, property) {
20
+ return property in numericProps || property in target;
21
+ }
22
+
23
+ });
24
+ }
5
25
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils.ts"],"names":["log","assert","condition","message"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AAEA,OAAO,SAASC,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EH,EAAAA,GAAG,CAACC,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD","sourcesContent":["import {log} from '@deck.gl/core';\n\nexport function assert(condition: unknown, message?: string): asserts condition {\n log.assert(condition, message);\n}\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../../src/utils.ts"],"names":["log","assert","condition","message","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AAGA,OAAO,SAASC,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EH,EAAAA,GAAG,CAACC,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD;AAID,OAAO,SAASC,iBAAT,CACLC,IADK,EAELC,KAFK,EAGL;AACA,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA;AAAb,MAA6BH,IAAnC;AACA,SAAO,IAAII,KAAJ,CAAUF,UAAU,CAACD,KAAD,CAAV,IAAqB,EAA/B,EAAmC;AACxCI,IAAAA,GAAG,CAACC,MAAD,EAASC,QAAT,EAAmBC,QAAnB,EAA6B;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,GAAG,CAACJ,MAAD,EAASC,QAAT,EAAmB;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"}