@deck.gl/geo-layers 9.0.0-beta.1 → 9.0.0-beta.11

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 (262) hide show
  1. package/dist/dist.dev.js +16519 -19789
  2. package/dist/geo-cell-layer/GeoCellLayer.js +51 -0
  3. package/{typed → dist}/geohash-layer/geohash-layer.d.ts +1 -1
  4. package/dist/geohash-layer/geohash-layer.d.ts.map +1 -0
  5. package/dist/geohash-layer/geohash-layer.js +19 -0
  6. package/dist/geohash-layer/geohash-utils.js +50 -0
  7. package/dist/great-circle-layer/great-circle-layer.js +12 -0
  8. package/{typed → dist}/h3-layers/h3-cluster-layer.d.ts +1 -1
  9. package/dist/h3-layers/h3-cluster-layer.d.ts.map +1 -0
  10. package/dist/h3-layers/h3-cluster-layer.js +47 -0
  11. package/dist/h3-layers/h3-hexagon-layer.js +204 -0
  12. package/dist/h3-layers/h3-utils.js +56 -0
  13. package/dist/index.cjs +3157 -0
  14. package/dist/index.cjs.map +7 -0
  15. package/dist/index.d.ts +31 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +36 -0
  18. package/dist/mesh-layer/mesh-layer-fragment.glsl.d.ts +3 -0
  19. package/{typed → dist}/mesh-layer/mesh-layer-fragment.glsl.d.ts.map +1 -1
  20. package/dist/mesh-layer/mesh-layer-fragment.glsl.js +33 -0
  21. package/dist/mesh-layer/mesh-layer-vertex.glsl.js +63 -0
  22. package/{typed → dist}/mesh-layer/mesh-layer.d.ts.map +1 -1
  23. package/dist/mesh-layer/mesh-layer.js +128 -0
  24. package/{typed → dist}/mvt-layer/coordinate-transform.d.ts +1 -1
  25. package/{typed → dist}/mvt-layer/coordinate-transform.d.ts.map +1 -1
  26. package/dist/mvt-layer/coordinate-transform.js +41 -0
  27. package/dist/mvt-layer/find-index-binary.d.ts +11 -0
  28. package/dist/mvt-layer/find-index-binary.d.ts.map +1 -0
  29. package/dist/mvt-layer/find-index-binary.js +96 -0
  30. package/{typed → dist}/mvt-layer/mvt-layer.d.ts +13 -11
  31. package/dist/mvt-layer/mvt-layer.d.ts.map +1 -0
  32. package/dist/mvt-layer/mvt-layer.js +305 -0
  33. package/{typed → dist}/quadkey-layer/quadkey-layer.d.ts +1 -1
  34. package/dist/quadkey-layer/quadkey-layer.d.ts.map +1 -0
  35. package/dist/quadkey-layer/quadkey-layer.js +22 -0
  36. package/dist/quadkey-layer/quadkey-utils.js +26 -0
  37. package/dist/s2-layer/s2-geometry.js +123 -0
  38. package/{typed → dist}/s2-layer/s2-layer.d.ts +1 -1
  39. package/dist/s2-layer/s2-layer.d.ts.map +1 -0
  40. package/dist/s2-layer/s2-layer.js +38 -0
  41. package/dist/s2-layer/s2-utils.js +87 -0
  42. package/{typed → dist}/terrain-layer/terrain-layer.d.ts +4 -4
  43. package/dist/terrain-layer/terrain-layer.d.ts.map +1 -0
  44. package/dist/terrain-layer/terrain-layer.js +233 -0
  45. package/{typed → dist}/tile-3d-layer/tile-3d-layer.d.ts +15 -1
  46. package/{typed → dist}/tile-3d-layer/tile-3d-layer.d.ts.map +1 -1
  47. package/dist/tile-3d-layer/tile-3d-layer.js +302 -0
  48. package/{typed → dist}/tile-layer/tile-layer.d.ts +17 -6
  49. package/dist/tile-layer/tile-layer.d.ts.map +1 -0
  50. package/dist/tile-layer/tile-layer.js +205 -0
  51. package/dist/tileset-2d/index.d.ts +7 -0
  52. package/dist/tileset-2d/index.d.ts.map +1 -0
  53. package/dist/tileset-2d/index.js +4 -0
  54. package/dist/tileset-2d/memoize.js +41 -0
  55. package/{typed → dist}/tileset-2d/tile-2d-header.d.ts +3 -2
  56. package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -0
  57. package/dist/tileset-2d/tile-2d-header.js +135 -0
  58. package/dist/tileset-2d/tile-2d-traversal.d.ts +4 -0
  59. package/dist/tileset-2d/tile-2d-traversal.d.ts.map +1 -0
  60. package/dist/tileset-2d/tile-2d-traversal.js +182 -0
  61. package/{typed → dist}/tileset-2d/tileset-2d.d.ts +10 -8
  62. package/dist/tileset-2d/tileset-2d.d.ts.map +1 -0
  63. package/dist/tileset-2d/tileset-2d.js +458 -0
  64. package/dist/tileset-2d/types.js +1 -0
  65. package/{typed → dist}/tileset-2d/utils.d.ts +3 -3
  66. package/dist/tileset-2d/utils.d.ts.map +1 -0
  67. package/dist/tileset-2d/utils.js +234 -0
  68. package/{typed → dist}/trips-layer/trips-layer.d.ts +1 -1
  69. package/{typed → dist}/trips-layer/trips-layer.d.ts.map +1 -1
  70. package/dist/trips-layer/trips-layer.js +93 -0
  71. package/dist/wms-layer/utils.js +13 -0
  72. package/dist/wms-layer/wms-layer.js +192 -0
  73. package/dist.min.js +243 -564
  74. package/package.json +30 -23
  75. package/src/index.ts +7 -7
  76. package/src/mesh-layer/mesh-layer-fragment.glsl.ts +1 -9
  77. package/src/mesh-layer/mesh-layer.ts +1 -2
  78. package/src/mvt-layer/coordinate-transform.ts +1 -1
  79. package/src/mvt-layer/find-index-binary.ts +5 -9
  80. package/src/mvt-layer/mvt-layer.ts +36 -25
  81. package/src/terrain-layer/terrain-layer.ts +13 -3
  82. package/src/tile-layer/tile-layer.ts +37 -21
  83. package/src/tileset-2d/tile-2d-header.ts +2 -1
  84. package/src/tileset-2d/tile-2d-traversal.ts +1 -1
  85. package/src/tileset-2d/tileset-2d.ts +15 -8
  86. package/src/tileset-2d/utils.ts +2 -2
  87. package/src/trips-layer/trips-layer.ts +1 -1
  88. package/src/wms-layer/wms-layer.ts +1 -1
  89. package/dist/es5/geo-cell-layer/GeoCellLayer.js +0 -118
  90. package/dist/es5/geo-cell-layer/GeoCellLayer.js.map +0 -1
  91. package/dist/es5/geohash-layer/geohash-layer.js +0 -67
  92. package/dist/es5/geohash-layer/geohash-layer.js.map +0 -1
  93. package/dist/es5/geohash-layer/geohash-utils.js +0 -77
  94. package/dist/es5/geohash-layer/geohash-utils.js.map +0 -1
  95. package/dist/es5/great-circle-layer/great-circle-layer.js +0 -48
  96. package/dist/es5/great-circle-layer/great-circle-layer.js.map +0 -1
  97. package/dist/es5/h3-layers/h3-cluster-layer.js +0 -162
  98. package/dist/es5/h3-layers/h3-cluster-layer.js.map +0 -1
  99. package/dist/es5/h3-layers/h3-hexagon-layer.js +0 -351
  100. package/dist/es5/h3-layers/h3-hexagon-layer.js.map +0 -1
  101. package/dist/es5/h3-layers/h3-utils.js +0 -111
  102. package/dist/es5/h3-layers/h3-utils.js.map +0 -1
  103. package/dist/es5/index.js +0 -132
  104. package/dist/es5/index.js.map +0 -1
  105. package/dist/es5/mesh-layer/mesh-layer-fragment.glsl.js +0 -9
  106. package/dist/es5/mesh-layer/mesh-layer-fragment.glsl.js.map +0 -1
  107. package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js +0 -9
  108. package/dist/es5/mesh-layer/mesh-layer-vertex.glsl.js.map +0 -1
  109. package/dist/es5/mesh-layer/mesh-layer.js +0 -217
  110. package/dist/es5/mesh-layer/mesh-layer.js.map +0 -1
  111. package/dist/es5/mvt-layer/coordinate-transform.js +0 -83
  112. package/dist/es5/mvt-layer/coordinate-transform.js.map +0 -1
  113. package/dist/es5/mvt-layer/find-index-binary.js +0 -127
  114. package/dist/es5/mvt-layer/find-index-binary.js.map +0 -1
  115. package/dist/es5/mvt-layer/mvt-layer.js +0 -533
  116. package/dist/es5/mvt-layer/mvt-layer.js.map +0 -1
  117. package/dist/es5/quadkey-layer/quadkey-layer.js +0 -72
  118. package/dist/es5/quadkey-layer/quadkey-layer.js.map +0 -1
  119. package/dist/es5/quadkey-layer/quadkey-utils.js +0 -53
  120. package/dist/es5/quadkey-layer/quadkey-utils.js.map +0 -1
  121. package/dist/es5/s2-layer/s2-geometry.js +0 -158
  122. package/dist/es5/s2-layer/s2-geometry.js.map +0 -1
  123. package/dist/es5/s2-layer/s2-layer.js +0 -67
  124. package/dist/es5/s2-layer/s2-layer.js.map +0 -1
  125. package/dist/es5/s2-layer/s2-utils.js +0 -80
  126. package/dist/es5/s2-layer/s2-utils.js.map +0 -1
  127. package/dist/es5/terrain-layer/terrain-layer.js +0 -347
  128. package/dist/es5/terrain-layer/terrain-layer.js.map +0 -1
  129. package/dist/es5/tile-3d-layer/tile-3d-layer.js +0 -511
  130. package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +0 -1
  131. package/dist/es5/tile-layer/tile-layer.js +0 -363
  132. package/dist/es5/tile-layer/tile-layer.js.map +0 -1
  133. package/dist/es5/tileset-2d/index.js +0 -66
  134. package/dist/es5/tileset-2d/index.js.map +0 -1
  135. package/dist/es5/tileset-2d/memoize.js +0 -47
  136. package/dist/es5/tileset-2d/memoize.js.map +0 -1
  137. package/dist/es5/tileset-2d/tile-2d-header.js +0 -250
  138. package/dist/es5/tileset-2d/tile-2d-header.js.map +0 -1
  139. package/dist/es5/tileset-2d/tile-2d-traversal.js +0 -256
  140. package/dist/es5/tileset-2d/tile-2d-traversal.js.map +0 -1
  141. package/dist/es5/tileset-2d/tileset-2d.js +0 -757
  142. package/dist/es5/tileset-2d/tileset-2d.js.map +0 -1
  143. package/dist/es5/tileset-2d/types.js +0 -2
  144. package/dist/es5/tileset-2d/types.js.map +0 -1
  145. package/dist/es5/tileset-2d/utils.js +0 -302
  146. package/dist/es5/tileset-2d/utils.js.map +0 -1
  147. package/dist/es5/trips-layer/trips-layer.js +0 -114
  148. package/dist/es5/trips-layer/trips-layer.js.map +0 -1
  149. package/dist/es5/wms-layer/utils.js +0 -18
  150. package/dist/es5/wms-layer/utils.js.map +0 -1
  151. package/dist/es5/wms-layer/wms-layer.js +0 -376
  152. package/dist/es5/wms-layer/wms-layer.js.map +0 -1
  153. package/dist/esm/geo-cell-layer/GeoCellLayer.js +0 -72
  154. package/dist/esm/geo-cell-layer/GeoCellLayer.js.map +0 -1
  155. package/dist/esm/geohash-layer/geohash-layer.js +0 -26
  156. package/dist/esm/geohash-layer/geohash-layer.js.map +0 -1
  157. package/dist/esm/geohash-layer/geohash-utils.js +0 -56
  158. package/dist/esm/geohash-layer/geohash-utils.js.map +0 -1
  159. package/dist/esm/great-circle-layer/great-circle-layer.js +0 -12
  160. package/dist/esm/great-circle-layer/great-circle-layer.js.map +0 -1
  161. package/dist/esm/h3-layers/h3-cluster-layer.js +0 -79
  162. package/dist/esm/h3-layers/h3-cluster-layer.js.map +0 -1
  163. package/dist/esm/h3-layers/h3-hexagon-layer.js +0 -280
  164. package/dist/esm/h3-layers/h3-hexagon-layer.js.map +0 -1
  165. package/dist/esm/h3-layers/h3-utils.js +0 -54
  166. package/dist/esm/h3-layers/h3-utils.js.map +0 -1
  167. package/dist/esm/index.js +0 -17
  168. package/dist/esm/index.js.map +0 -1
  169. package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js +0 -56
  170. package/dist/esm/mesh-layer/mesh-layer-fragment.glsl.js.map +0 -1
  171. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js +0 -85
  172. package/dist/esm/mesh-layer/mesh-layer-vertex.glsl.js.map +0 -1
  173. package/dist/esm/mesh-layer/mesh-layer.js +0 -178
  174. package/dist/esm/mesh-layer/mesh-layer.js.map +0 -1
  175. package/dist/esm/mvt-layer/coordinate-transform.js +0 -49
  176. package/dist/esm/mvt-layer/coordinate-transform.js.map +0 -1
  177. package/dist/esm/mvt-layer/find-index-binary.js +0 -99
  178. package/dist/esm/mvt-layer/find-index-binary.js.map +0 -1
  179. package/dist/esm/mvt-layer/mvt-layer.js +0 -427
  180. package/dist/esm/mvt-layer/mvt-layer.js.map +0 -1
  181. package/dist/esm/quadkey-layer/quadkey-layer.js +0 -31
  182. package/dist/esm/quadkey-layer/quadkey-layer.js.map +0 -1
  183. package/dist/esm/quadkey-layer/quadkey-utils.js +0 -24
  184. package/dist/esm/quadkey-layer/quadkey-utils.js.map +0 -1
  185. package/dist/esm/s2-layer/s2-geometry.js +0 -126
  186. package/dist/esm/s2-layer/s2-geometry.js.map +0 -1
  187. package/dist/esm/s2-layer/s2-layer.js +0 -26
  188. package/dist/esm/s2-layer/s2-layer.js.map +0 -1
  189. package/dist/esm/s2-layer/s2-utils.js +0 -69
  190. package/dist/esm/s2-layer/s2-utils.js.map +0 -1
  191. package/dist/esm/terrain-layer/terrain-layer.js +0 -292
  192. package/dist/esm/terrain-layer/terrain-layer.js.map +0 -1
  193. package/dist/esm/tile-3d-layer/tile-3d-layer.js +0 -438
  194. package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +0 -1
  195. package/dist/esm/tile-layer/tile-layer.js +0 -299
  196. package/dist/esm/tile-layer/tile-layer.js.map +0 -1
  197. package/dist/esm/tileset-2d/index.js +0 -4
  198. package/dist/esm/tileset-2d/index.js.map +0 -1
  199. package/dist/esm/tileset-2d/memoize.js +0 -40
  200. package/dist/esm/tileset-2d/memoize.js.map +0 -1
  201. package/dist/esm/tileset-2d/tile-2d-header.js +0 -179
  202. package/dist/esm/tileset-2d/tile-2d-header.js.map +0 -1
  203. package/dist/esm/tileset-2d/tile-2d-traversal.js +0 -184
  204. package/dist/esm/tileset-2d/tile-2d-traversal.js.map +0 -1
  205. package/dist/esm/tileset-2d/tileset-2d.js +0 -509
  206. package/dist/esm/tileset-2d/tileset-2d.js.map +0 -1
  207. package/dist/esm/tileset-2d/types.js +0 -2
  208. package/dist/esm/tileset-2d/types.js.map +0 -1
  209. package/dist/esm/tileset-2d/utils.js +0 -233
  210. package/dist/esm/tileset-2d/utils.js.map +0 -1
  211. package/dist/esm/trips-layer/trips-layer.js +0 -88
  212. package/dist/esm/trips-layer/trips-layer.js.map +0 -1
  213. package/dist/esm/wms-layer/utils.js +0 -9
  214. package/dist/esm/wms-layer/utils.js.map +0 -1
  215. package/dist/esm/wms-layer/wms-layer.js +0 -231
  216. package/dist/esm/wms-layer/wms-layer.js.map +0 -1
  217. package/typed/geohash-layer/geohash-layer.d.ts.map +0 -1
  218. package/typed/h3-layers/h3-cluster-layer.d.ts.map +0 -1
  219. package/typed/index.d.ts +0 -31
  220. package/typed/index.d.ts.map +0 -1
  221. package/typed/mesh-layer/mesh-layer-fragment.glsl.d.ts +0 -3
  222. package/typed/mvt-layer/find-index-binary.d.ts +0 -12
  223. package/typed/mvt-layer/find-index-binary.d.ts.map +0 -1
  224. package/typed/mvt-layer/mvt-layer.d.ts.map +0 -1
  225. package/typed/quadkey-layer/quadkey-layer.d.ts.map +0 -1
  226. package/typed/s2-layer/s2-layer.d.ts.map +0 -1
  227. package/typed/terrain-layer/terrain-layer.d.ts.map +0 -1
  228. package/typed/tile-layer/tile-layer.d.ts.map +0 -1
  229. package/typed/tileset-2d/index.d.ts +0 -7
  230. package/typed/tileset-2d/index.d.ts.map +0 -1
  231. package/typed/tileset-2d/tile-2d-header.d.ts.map +0 -1
  232. package/typed/tileset-2d/tile-2d-traversal.d.ts +0 -4
  233. package/typed/tileset-2d/tile-2d-traversal.d.ts.map +0 -1
  234. package/typed/tileset-2d/tileset-2d.d.ts.map +0 -1
  235. package/typed/tileset-2d/utils.d.ts.map +0 -1
  236. /package/{typed → dist}/geo-cell-layer/GeoCellLayer.d.ts +0 -0
  237. /package/{typed → dist}/geo-cell-layer/GeoCellLayer.d.ts.map +0 -0
  238. /package/{typed → dist}/geohash-layer/geohash-utils.d.ts +0 -0
  239. /package/{typed → dist}/geohash-layer/geohash-utils.d.ts.map +0 -0
  240. /package/{typed → dist}/great-circle-layer/great-circle-layer.d.ts +0 -0
  241. /package/{typed → dist}/great-circle-layer/great-circle-layer.d.ts.map +0 -0
  242. /package/{typed → dist}/h3-layers/h3-hexagon-layer.d.ts +0 -0
  243. /package/{typed → dist}/h3-layers/h3-hexagon-layer.d.ts.map +0 -0
  244. /package/{typed → dist}/h3-layers/h3-utils.d.ts +0 -0
  245. /package/{typed → dist}/h3-layers/h3-utils.d.ts.map +0 -0
  246. /package/{typed → dist}/mesh-layer/mesh-layer-vertex.glsl.d.ts +0 -0
  247. /package/{typed → dist}/mesh-layer/mesh-layer-vertex.glsl.d.ts.map +0 -0
  248. /package/{typed → dist}/mesh-layer/mesh-layer.d.ts +0 -0
  249. /package/{typed → dist}/quadkey-layer/quadkey-utils.d.ts +0 -0
  250. /package/{typed → dist}/quadkey-layer/quadkey-utils.d.ts.map +0 -0
  251. /package/{typed → dist}/s2-layer/s2-geometry.d.ts +0 -0
  252. /package/{typed → dist}/s2-layer/s2-geometry.d.ts.map +0 -0
  253. /package/{typed → dist}/s2-layer/s2-utils.d.ts +0 -0
  254. /package/{typed → dist}/s2-layer/s2-utils.d.ts.map +0 -0
  255. /package/{typed → dist}/tileset-2d/memoize.d.ts +0 -0
  256. /package/{typed → dist}/tileset-2d/memoize.d.ts.map +0 -0
  257. /package/{typed → dist}/tileset-2d/types.d.ts +0 -0
  258. /package/{typed → dist}/tileset-2d/types.d.ts.map +0 -0
  259. /package/{typed → dist}/wms-layer/utils.d.ts +0 -0
  260. /package/{typed → dist}/wms-layer/utils.d.ts.map +0 -0
  261. /package/{typed → dist}/wms-layer/wms-layer.d.ts +0 -0
  262. /package/{typed → dist}/wms-layer/wms-layer.d.ts.map +0 -0
@@ -1,351 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
23
-
24
- var _h3Js = require("h3-js");
25
-
26
- var _core = require("@deck.gl/core");
27
-
28
- var _layers = require("@deck.gl/layers");
29
-
30
- var _h3Utils = require("./h3-utils");
31
-
32
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
33
-
34
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
35
-
36
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
39
-
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
-
42
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
43
-
44
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
45
-
46
- var UPDATE_THRESHOLD_KM = 10;
47
-
48
- function mergeTriggers(getHexagon, coverage) {
49
- var trigger;
50
-
51
- if (getHexagon === undefined || getHexagon === null) {
52
- trigger = coverage;
53
- } else if ((0, _typeof2.default)(getHexagon) === 'object') {
54
- trigger = _objectSpread(_objectSpread({}, getHexagon), {}, {
55
- coverage: coverage
56
- });
57
- } else {
58
- trigger = {
59
- getHexagon: getHexagon,
60
- coverage: coverage
61
- };
62
- }
63
-
64
- return trigger;
65
- }
66
-
67
- var defaultProps = _objectSpread(_objectSpread({}, _layers.PolygonLayer.defaultProps), {}, {
68
- highPrecision: 'auto',
69
- coverage: {
70
- type: 'number',
71
- min: 0,
72
- max: 1,
73
- value: 1
74
- },
75
- centerHexagon: null,
76
- getHexagon: {
77
- type: 'accessor',
78
- value: function value(x) {
79
- return x.hexagon;
80
- }
81
- },
82
- extruded: true
83
- });
84
-
85
- var H3HexagonLayer = function (_CompositeLayer) {
86
- (0, _inherits2.default)(H3HexagonLayer, _CompositeLayer);
87
-
88
- var _super = _createSuper(H3HexagonLayer);
89
-
90
- function H3HexagonLayer() {
91
- var _this;
92
-
93
- (0, _classCallCheck2.default)(this, H3HexagonLayer);
94
-
95
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
96
- args[_key] = arguments[_key];
97
- }
98
-
99
- _this = _super.call.apply(_super, [this].concat(args));
100
- _this.state = void 0;
101
- return _this;
102
- }
103
-
104
- var _proto = H3HexagonLayer.prototype;
105
-
106
- _proto.initializeState = function initializeState() {
107
- H3HexagonLayer._checkH3Lib();
108
-
109
- this.state = {
110
- edgeLengthKM: 0,
111
- resolution: -1
112
- };
113
- };
114
-
115
- _proto.shouldUpdateState = function shouldUpdateState(_ref) {
116
- var changeFlags = _ref.changeFlags;
117
- return this._shouldUseHighPrecision() ? changeFlags.propsOrDataChanged : changeFlags.somethingChanged;
118
- };
119
-
120
- _proto.updateState = function updateState(_ref2) {
121
- var props = _ref2.props,
122
- changeFlags = _ref2.changeFlags;
123
-
124
- if (props.highPrecision !== true && (changeFlags.dataChanged || changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagon)) {
125
- var dataProps = this._calculateH3DataProps();
126
-
127
- this.setState(dataProps);
128
- }
129
-
130
- this._updateVertices(this.context.viewport);
131
- };
132
-
133
- _proto._calculateH3DataProps = function _calculateH3DataProps() {
134
- var resolution = -1;
135
- var hasPentagon = false;
136
- var hasMultipleRes = false;
137
-
138
- var _createIterable = (0, _core.createIterable)(this.props.data),
139
- iterable = _createIterable.iterable,
140
- objectInfo = _createIterable.objectInfo;
141
-
142
- var _iterator = _createForOfIteratorHelper(iterable),
143
- _step;
144
-
145
- try {
146
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
147
- var object = _step.value;
148
- objectInfo.index++;
149
- var hexId = this.props.getHexagon(object, objectInfo);
150
- var hexResolution = (0, _h3Js.getResolution)(hexId);
151
-
152
- if (resolution < 0) {
153
- resolution = hexResolution;
154
- if (!this.props.highPrecision) break;
155
- } else if (resolution !== hexResolution) {
156
- hasMultipleRes = true;
157
- break;
158
- }
159
-
160
- if ((0, _h3Js.isPentagon)(hexId)) {
161
- hasPentagon = true;
162
- break;
163
- }
164
- }
165
- } catch (err) {
166
- _iterator.e(err);
167
- } finally {
168
- _iterator.f();
169
- }
170
-
171
- return {
172
- resolution: resolution,
173
- edgeLengthKM: resolution >= 0 ? (0, _h3Js.getHexagonEdgeLengthAvg)(resolution, 'km') : 0,
174
- hasMultipleRes: hasMultipleRes,
175
- hasPentagon: hasPentagon
176
- };
177
- };
178
-
179
- _proto._shouldUseHighPrecision = function _shouldUseHighPrecision() {
180
- if (this.props.highPrecision === 'auto') {
181
- var _this$state = this.state,
182
- resolution = _this$state.resolution,
183
- hasPentagon = _this$state.hasPentagon,
184
- hasMultipleRes = _this$state.hasMultipleRes;
185
- var viewport = this.context.viewport;
186
- return Boolean(viewport === null || viewport === void 0 ? void 0 : viewport.resolution) || hasMultipleRes || hasPentagon || resolution >= 0 && resolution <= 5;
187
- }
188
-
189
- return this.props.highPrecision;
190
- };
191
-
192
- _proto._updateVertices = function _updateVertices(viewport) {
193
- if (this._shouldUseHighPrecision()) {
194
- return;
195
- }
196
-
197
- var _this$state2 = this.state,
198
- resolution = _this$state2.resolution,
199
- edgeLengthKM = _this$state2.edgeLengthKM,
200
- centerHex = _this$state2.centerHex;
201
-
202
- if (resolution < 0) {
203
- return;
204
- }
205
-
206
- var hex = this.props.centerHexagon || (0, _h3Js.latLngToCell)(viewport.latitude, viewport.longitude, resolution);
207
-
208
- if (centerHex === hex) {
209
- return;
210
- }
211
-
212
- if (centerHex) {
213
- try {
214
- var distance = (0, _h3Js.gridDistance)(centerHex, hex);
215
-
216
- if (distance * edgeLengthKM < UPDATE_THRESHOLD_KM) {
217
- return;
218
- }
219
- } catch (_unused) {}
220
- }
221
-
222
- var unitsPerMeter = viewport.distanceScales.unitsPerMeter;
223
- var vertices = (0, _h3Utils.h3ToPolygon)(hex);
224
-
225
- var _cellToLatLng = (0, _h3Js.cellToLatLng)(hex),
226
- _cellToLatLng2 = (0, _slicedToArray2.default)(_cellToLatLng, 2),
227
- centerLat = _cellToLatLng2[0],
228
- centerLng = _cellToLatLng2[1];
229
-
230
- var _viewport$projectFlat = viewport.projectFlat([centerLng, centerLat]),
231
- _viewport$projectFlat2 = (0, _slicedToArray2.default)(_viewport$projectFlat, 2),
232
- centerX = _viewport$projectFlat2[0],
233
- centerY = _viewport$projectFlat2[1];
234
-
235
- vertices = vertices.map(function (p) {
236
- var worldPosition = viewport.projectFlat(p);
237
- return [(worldPosition[0] - centerX) / unitsPerMeter[0], (worldPosition[1] - centerY) / unitsPerMeter[1]];
238
- });
239
- this.setState({
240
- centerHex: hex,
241
- vertices: vertices
242
- });
243
- };
244
-
245
- _proto.renderLayers = function renderLayers() {
246
- return this._shouldUseHighPrecision() ? this._renderPolygonLayer() : this._renderColumnLayer();
247
- };
248
-
249
- _proto._getForwardProps = function _getForwardProps() {
250
- var _this$props = this.props,
251
- elevationScale = _this$props.elevationScale,
252
- material = _this$props.material,
253
- coverage = _this$props.coverage,
254
- extruded = _this$props.extruded,
255
- wireframe = _this$props.wireframe,
256
- stroked = _this$props.stroked,
257
- filled = _this$props.filled,
258
- lineWidthUnits = _this$props.lineWidthUnits,
259
- lineWidthScale = _this$props.lineWidthScale,
260
- lineWidthMinPixels = _this$props.lineWidthMinPixels,
261
- lineWidthMaxPixels = _this$props.lineWidthMaxPixels,
262
- getFillColor = _this$props.getFillColor,
263
- getElevation = _this$props.getElevation,
264
- getLineColor = _this$props.getLineColor,
265
- getLineWidth = _this$props.getLineWidth,
266
- transitions = _this$props.transitions,
267
- updateTriggers = _this$props.updateTriggers;
268
- return {
269
- elevationScale: elevationScale,
270
- extruded: extruded,
271
- coverage: coverage,
272
- wireframe: wireframe,
273
- stroked: stroked,
274
- filled: filled,
275
- lineWidthUnits: lineWidthUnits,
276
- lineWidthScale: lineWidthScale,
277
- lineWidthMinPixels: lineWidthMinPixels,
278
- lineWidthMaxPixels: lineWidthMaxPixels,
279
- material: material,
280
- getElevation: getElevation,
281
- getFillColor: getFillColor,
282
- getLineColor: getLineColor,
283
- getLineWidth: getLineWidth,
284
- transitions: transitions,
285
- updateTriggers: {
286
- getFillColor: updateTriggers.getFillColor,
287
- getElevation: updateTriggers.getElevation,
288
- getLineColor: updateTriggers.getLineColor,
289
- getLineWidth: updateTriggers.getLineWidth
290
- }
291
- };
292
- };
293
-
294
- _proto._renderPolygonLayer = function _renderPolygonLayer() {
295
- var _this$props2 = this.props,
296
- data = _this$props2.data,
297
- getHexagon = _this$props2.getHexagon,
298
- updateTriggers = _this$props2.updateTriggers,
299
- coverage = _this$props2.coverage;
300
- var SubLayerClass = this.getSubLayerClass('hexagon-cell-hifi', _layers.PolygonLayer);
301
-
302
- var forwardProps = this._getForwardProps();
303
-
304
- forwardProps.updateTriggers.getPolygon = mergeTriggers(updateTriggers.getHexagon, coverage);
305
- return new SubLayerClass(forwardProps, this.getSubLayerProps({
306
- id: 'hexagon-cell-hifi',
307
- updateTriggers: forwardProps.updateTriggers
308
- }), {
309
- data: data,
310
- _normalize: false,
311
- _windingOrder: 'CCW',
312
- positionFormat: 'XY',
313
- getPolygon: function getPolygon(object, objectInfo) {
314
- var hexagonId = getHexagon(object, objectInfo);
315
- return (0, _h3Utils.flattenPolygon)((0, _h3Utils.h3ToPolygon)(hexagonId, coverage));
316
- }
317
- });
318
- };
319
-
320
- _proto._renderColumnLayer = function _renderColumnLayer() {
321
- var _this$props3 = this.props,
322
- data = _this$props3.data,
323
- getHexagon = _this$props3.getHexagon,
324
- updateTriggers = _this$props3.updateTriggers;
325
- var SubLayerClass = this.getSubLayerClass('hexagon-cell', _layers.ColumnLayer);
326
-
327
- var forwardProps = this._getForwardProps();
328
-
329
- forwardProps.updateTriggers.getPosition = updateTriggers.getHexagon;
330
- return new SubLayerClass(forwardProps, this.getSubLayerProps({
331
- id: 'hexagon-cell',
332
- flatShading: true,
333
- updateTriggers: forwardProps.updateTriggers
334
- }), {
335
- data: data,
336
- diskResolution: 6,
337
- radius: 1,
338
- vertices: this.state.vertices,
339
- getPosition: _h3Utils.getHexagonCentroid.bind(null, getHexagon)
340
- });
341
- };
342
-
343
- return H3HexagonLayer;
344
- }(_core.CompositeLayer);
345
-
346
- exports.default = H3HexagonLayer;
347
- H3HexagonLayer.defaultProps = defaultProps;
348
- H3HexagonLayer.layerName = 'H3HexagonLayer';
349
-
350
- H3HexagonLayer._checkH3Lib = function () {};
351
- //# sourceMappingURL=h3-hexagon-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/h3-layers/h3-hexagon-layer.ts"],"names":["UPDATE_THRESHOLD_KM","mergeTriggers","getHexagon","coverage","trigger","undefined","defaultProps","PolygonLayer","highPrecision","type","min","max","value","centerHexagon","x","hexagon","extruded","H3HexagonLayer","state","initializeState","_checkH3Lib","edgeLengthKM","resolution","shouldUpdateState","changeFlags","_shouldUseHighPrecision","propsOrDataChanged","somethingChanged","updateState","props","dataChanged","updateTriggersChanged","dataProps","_calculateH3DataProps","setState","_updateVertices","context","viewport","hasPentagon","hasMultipleRes","data","iterable","objectInfo","object","index","hexId","hexResolution","Boolean","centerHex","hex","latitude","longitude","distance","unitsPerMeter","distanceScales","vertices","centerLat","centerLng","projectFlat","centerX","centerY","map","p","worldPosition","renderLayers","_renderPolygonLayer","_renderColumnLayer","_getForwardProps","elevationScale","material","wireframe","stroked","filled","lineWidthUnits","lineWidthScale","lineWidthMinPixels","lineWidthMaxPixels","getFillColor","getElevation","getLineColor","getLineWidth","transitions","updateTriggers","SubLayerClass","getSubLayerClass","forwardProps","getPolygon","getSubLayerProps","id","_normalize","_windingOrder","positionFormat","hexagonId","ColumnLayer","getPosition","flatShading","diskResolution","radius","getHexagonCentroid","bind","CompositeLayer","layerName"],"mappings":"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","sourcesContent":["import {\n getResolution,\n cellToLatLng,\n latLngToCell,\n isPentagon,\n gridDistance,\n getHexagonEdgeLengthAvg,\n H3Index\n} from 'h3-js';\nimport {\n AccessorFunction,\n CompositeLayer,\n createIterable,\n Layer,\n LayersList,\n UpdateParameters,\n WebMercatorViewport,\n DefaultProps\n} from '@deck.gl/core';\nimport {ColumnLayer, PolygonLayer, PolygonLayerProps} from '@deck.gl/layers';\nimport {flattenPolygon, getHexagonCentroid, h3ToPolygon} from './h3-utils';\n\n// There is a cost to updating the instanced geometries when using highPrecision: false\n// This constant defines the distance between two hexagons that leads to \"significant\n// distortion.\" Smaller value makes the column layer more sensitive to viewport change.\nconst UPDATE_THRESHOLD_KM = 10;\n\nfunction mergeTriggers(getHexagon, coverage) {\n let trigger;\n if (getHexagon === undefined || getHexagon === null) {\n trigger = coverage;\n } else if (typeof getHexagon === 'object') {\n trigger = {...getHexagon, coverage};\n } else {\n trigger = {getHexagon, coverage};\n }\n return trigger;\n}\n\nconst defaultProps: DefaultProps<H3HexagonLayerProps> = {\n ...PolygonLayer.defaultProps,\n highPrecision: 'auto',\n coverage: {type: 'number', min: 0, max: 1, value: 1},\n centerHexagon: null,\n getHexagon: {type: 'accessor', value: (x: any) => x.hexagon},\n extruded: true\n};\n\n/** All properties supported by H3HexagonLayer */\nexport type H3HexagonLayerProps<DataT = unknown> = _H3HexagonLayerProps<DataT> &\n PolygonLayerProps<DataT>;\n\n/** Props added by the H3HexagonLayer */\ntype _H3HexagonLayerProps<DataT> = {\n /**\n * Whether or not draw hexagons with high precision.\n * @default 'auto'\n */\n highPrecision?: boolean | 'auto';\n /**\n * Coverage of hexagon in cell.\n * @default 1\n */\n coverage?: number;\n /**\n * Center hexagon that best represents the shape of the set. If not specified, the hexagon closest to the center of the viewport is used.\n */\n centerHexagon?: H3Index | null;\n /**\n * Called for each data object to retrieve the quadkey string identifier.\n *\n * By default, it reads `hexagon` property of data object.\n */\n getHexagon?: AccessorFunction<DataT, string>;\n /**\n * Whether to extrude polygons.\n * @default true\n */\n extruded?: boolean;\n};\n\n/**\n * Render hexagons from the [H3](https://h3geo.org/) geospatial indexing system.\n */\nexport default class H3HexagonLayer<\n DataT = any,\n ExtraPropsT extends {} = {}\n> extends CompositeLayer<ExtraPropsT & Required<H3HexagonLayerProps<DataT>>> {\n static defaultProps = defaultProps;\n static layerName = 'H3HexagonLayer';\n\n // See `main/bundle.ts`\n static _checkH3Lib = () => {};\n\n initializeState() {\n H3HexagonLayer._checkH3Lib();\n this.state = {\n edgeLengthKM: 0,\n resolution: -1\n };\n }\n\n state!: {\n centerHex?: H3Index;\n edgeLengthKM: number;\n hasMultipleRes?: boolean;\n hasPentagon?: boolean;\n resolution: number;\n vertices?: number[][];\n };\n\n shouldUpdateState({changeFlags}: UpdateParameters<this>): boolean {\n return this._shouldUseHighPrecision()\n ? changeFlags.propsOrDataChanged\n : changeFlags.somethingChanged;\n }\n\n updateState({props, changeFlags}: UpdateParameters<this>): void {\n if (\n props.highPrecision !== true &&\n (changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagon))\n ) {\n const dataProps = this._calculateH3DataProps();\n this.setState(dataProps);\n }\n\n this._updateVertices(this.context.viewport as WebMercatorViewport);\n }\n\n private _calculateH3DataProps() {\n let resolution = -1;\n let hasPentagon = false;\n let hasMultipleRes = false;\n\n const {iterable, objectInfo} = createIterable(this.props.data);\n for (const object of iterable) {\n objectInfo.index++;\n const hexId = this.props.getHexagon(object, objectInfo);\n // Take the resolution of the first hex\n const hexResolution = getResolution(hexId);\n if (resolution < 0) {\n resolution = hexResolution;\n if (!this.props.highPrecision) break;\n } else if (resolution !== hexResolution) {\n hasMultipleRes = true;\n break;\n }\n if (isPentagon(hexId)) {\n hasPentagon = true;\n break;\n }\n }\n\n return {\n resolution,\n edgeLengthKM: resolution >= 0 ? getHexagonEdgeLengthAvg(resolution, 'km') : 0,\n hasMultipleRes,\n hasPentagon\n };\n }\n\n private _shouldUseHighPrecision(): boolean {\n if (this.props.highPrecision === 'auto') {\n const {resolution, hasPentagon, hasMultipleRes} = this.state;\n const {viewport} = this.context;\n return (\n Boolean(viewport?.resolution) ||\n hasMultipleRes ||\n hasPentagon ||\n (resolution >= 0 && resolution <= 5)\n );\n }\n\n return this.props.highPrecision;\n }\n\n private _updateVertices(viewport: WebMercatorViewport): void {\n if (this._shouldUseHighPrecision()) {\n return;\n }\n const {resolution, edgeLengthKM, centerHex} = this.state;\n if (resolution < 0) {\n return;\n }\n const hex =\n this.props.centerHexagon || latLngToCell(viewport.latitude, viewport.longitude, resolution);\n if (centerHex === hex) {\n return;\n }\n if (centerHex) {\n try {\n const distance = gridDistance(centerHex, hex);\n if (distance * edgeLengthKM < UPDATE_THRESHOLD_KM) {\n return;\n }\n } catch {\n // gridDistance throws if the distance could not be computed\n // due to the two indexes very far apart or on opposite sides of a pentagon.\n }\n }\n\n const {unitsPerMeter} = viewport.distanceScales;\n\n let vertices = h3ToPolygon(hex);\n const [centerLat, centerLng] = cellToLatLng(hex);\n\n const [centerX, centerY] = viewport.projectFlat([centerLng, centerLat]);\n vertices = vertices.map(p => {\n const worldPosition = viewport.projectFlat(p);\n return [\n (worldPosition[0] - centerX) / unitsPerMeter[0],\n (worldPosition[1] - centerY) / unitsPerMeter[1]\n ];\n });\n\n this.setState({centerHex: hex, vertices});\n }\n\n renderLayers(): Layer | null | LayersList {\n return this._shouldUseHighPrecision() ? this._renderPolygonLayer() : this._renderColumnLayer();\n }\n\n private _getForwardProps() {\n const {\n elevationScale,\n material,\n coverage,\n extruded,\n wireframe,\n stroked,\n filled,\n lineWidthUnits,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n getFillColor,\n getElevation,\n getLineColor,\n getLineWidth,\n transitions,\n updateTriggers\n } = this.props;\n\n return {\n elevationScale,\n extruded,\n coverage,\n wireframe,\n stroked,\n filled,\n lineWidthUnits,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n material,\n getElevation,\n getFillColor,\n getLineColor,\n getLineWidth,\n transitions,\n updateTriggers: {\n getFillColor: updateTriggers.getFillColor,\n getElevation: updateTriggers.getElevation,\n getLineColor: updateTriggers.getLineColor,\n getLineWidth: updateTriggers.getLineWidth\n } as {\n getFillColor: any;\n getElevation: any;\n getLineColor: any;\n getLineWidth: any;\n getPolygon?: any;\n getPosition?: any;\n }\n };\n }\n\n private _renderPolygonLayer(): PolygonLayer {\n const {data, getHexagon, updateTriggers, coverage} = this.props;\n\n const SubLayerClass = this.getSubLayerClass('hexagon-cell-hifi', PolygonLayer);\n const forwardProps = this._getForwardProps();\n forwardProps.updateTriggers.getPolygon = mergeTriggers(updateTriggers.getHexagon, coverage);\n\n return new SubLayerClass(\n forwardProps,\n this.getSubLayerProps({\n id: 'hexagon-cell-hifi',\n updateTriggers: forwardProps.updateTriggers\n }),\n {\n data,\n _normalize: false,\n _windingOrder: 'CCW',\n positionFormat: 'XY',\n getPolygon: (object, objectInfo) => {\n const hexagonId = getHexagon(object, objectInfo);\n return flattenPolygon(h3ToPolygon(hexagonId, coverage));\n }\n }\n );\n }\n\n private _renderColumnLayer(): ColumnLayer {\n const {data, getHexagon, updateTriggers} = this.props;\n\n const SubLayerClass = this.getSubLayerClass('hexagon-cell', ColumnLayer);\n const forwardProps = this._getForwardProps();\n forwardProps.updateTriggers.getPosition = updateTriggers.getHexagon;\n\n return new SubLayerClass(\n forwardProps,\n this.getSubLayerProps({\n id: 'hexagon-cell',\n flatShading: true,\n updateTriggers: forwardProps.updateTriggers\n }),\n {\n data,\n diskResolution: 6, // generate an extruded hexagon as the base geometry\n radius: 1,\n vertices: this.state.vertices,\n getPosition: getHexagonCentroid.bind(null, getHexagon)\n }\n );\n }\n}\n"],"file":"h3-hexagon-layer.js"}
@@ -1,111 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.normalizeLongitudes = normalizeLongitudes;
9
- exports.scalePolygon = scalePolygon;
10
- exports.getHexagonCentroid = getHexagonCentroid;
11
- exports.h3ToPolygon = h3ToPolygon;
12
- exports.flattenPolygon = flattenPolygon;
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _h3Js = require("h3-js");
17
-
18
- var _core = require("@math.gl/core");
19
-
20
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
21
-
22
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
-
24
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
-
26
- function normalizeLongitudes(vertices, refLng) {
27
- refLng = refLng === undefined ? vertices[0][0] : refLng;
28
-
29
- var _iterator = _createForOfIteratorHelper(vertices),
30
- _step;
31
-
32
- try {
33
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
34
- var pt = _step.value;
35
- var deltaLng = pt[0] - refLng;
36
-
37
- if (deltaLng > 180) {
38
- pt[0] -= 360;
39
- } else if (deltaLng < -180) {
40
- pt[0] += 360;
41
- }
42
- }
43
- } catch (err) {
44
- _iterator.e(err);
45
- } finally {
46
- _iterator.f();
47
- }
48
- }
49
-
50
- function scalePolygon(hexId, vertices, factor) {
51
- var _cellToLatLng = (0, _h3Js.cellToLatLng)(hexId),
52
- _cellToLatLng2 = (0, _slicedToArray2.default)(_cellToLatLng, 2),
53
- lat = _cellToLatLng2[0],
54
- lng = _cellToLatLng2[1];
55
-
56
- var actualCount = vertices.length;
57
- normalizeLongitudes(vertices, lng);
58
- var vertexCount = vertices[0] === vertices[actualCount - 1] ? actualCount - 1 : actualCount;
59
-
60
- for (var i = 0; i < vertexCount; i++) {
61
- vertices[i][0] = (0, _core.lerp)(lng, vertices[i][0], factor);
62
- vertices[i][1] = (0, _core.lerp)(lat, vertices[i][1], factor);
63
- }
64
- }
65
-
66
- function getHexagonCentroid(getHexagon, object, objectInfo) {
67
- var hexagonId = getHexagon(object, objectInfo);
68
-
69
- var _cellToLatLng3 = (0, _h3Js.cellToLatLng)(hexagonId),
70
- _cellToLatLng4 = (0, _slicedToArray2.default)(_cellToLatLng3, 2),
71
- lat = _cellToLatLng4[0],
72
- lng = _cellToLatLng4[1];
73
-
74
- return [lng, lat];
75
- }
76
-
77
- function h3ToPolygon(hexId) {
78
- var coverage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
79
- var vertices = (0, _h3Js.cellToBoundary)(hexId, true);
80
-
81
- if (coverage !== 1) {
82
- scalePolygon(hexId, vertices, coverage);
83
- } else {
84
- normalizeLongitudes(vertices);
85
- }
86
-
87
- return vertices;
88
- }
89
-
90
- function flattenPolygon(vertices) {
91
- var positions = new Float64Array(vertices.length * 2);
92
- var i = 0;
93
-
94
- var _iterator2 = _createForOfIteratorHelper(vertices),
95
- _step2;
96
-
97
- try {
98
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
99
- var pt = _step2.value;
100
- positions[i++] = pt[0];
101
- positions[i++] = pt[1];
102
- }
103
- } catch (err) {
104
- _iterator2.e(err);
105
- } finally {
106
- _iterator2.f();
107
- }
108
-
109
- return positions;
110
- }
111
- //# sourceMappingURL=h3-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/h3-layers/h3-utils.ts"],"names":["normalizeLongitudes","vertices","refLng","undefined","pt","deltaLng","scalePolygon","hexId","factor","lat","lng","actualCount","length","vertexCount","i","getHexagonCentroid","getHexagon","object","objectInfo","hexagonId","h3ToPolygon","coverage","flattenPolygon","positions","Float64Array"],"mappings":"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","sourcesContent":["import {CoordPair, H3IndexInput, cellToBoundary, cellToLatLng} from 'h3-js';\nimport {lerp} from '@math.gl/core';\n\n// normalize longitudes w.r.t center (refLng), when not provided first vertex\nexport function normalizeLongitudes(vertices: CoordPair[], refLng?: number): void {\n refLng = refLng === undefined ? vertices[0][0] : refLng;\n for (const pt of vertices) {\n const deltaLng = pt[0] - refLng;\n if (deltaLng > 180) {\n pt[0] -= 360;\n } else if (deltaLng < -180) {\n pt[0] += 360;\n }\n }\n}\n\n// scale polygon vertices w.r.t center (hexId)\nexport function scalePolygon(hexId: H3IndexInput, vertices: CoordPair[], factor: number): void {\n const [lat, lng] = cellToLatLng(hexId);\n const actualCount = vertices.length;\n\n // normalize with respect to center\n normalizeLongitudes(vertices, lng);\n\n // `cellToBoundary` returns same array object for first and last vertex (closed polygon),\n // if so skip scaling the last vertex\n const vertexCount = vertices[0] === vertices[actualCount - 1] ? actualCount - 1 : actualCount;\n for (let i = 0; i < vertexCount; i++) {\n vertices[i][0] = lerp(lng, vertices[i][0], factor);\n vertices[i][1] = lerp(lat, vertices[i][1], factor);\n }\n}\n\n// gets hexagon centroid\nexport function getHexagonCentroid(getHexagon, object, objectInfo) {\n const hexagonId = getHexagon(object, objectInfo);\n const [lat, lng] = cellToLatLng(hexagonId);\n return [lng, lat];\n}\n\nexport function h3ToPolygon(hexId: H3IndexInput, coverage: number = 1): number[][] {\n const vertices = cellToBoundary(hexId, true);\n\n if (coverage !== 1) {\n // scale and normalize vertices w.r.t to center\n scalePolygon(hexId, vertices, coverage);\n } else {\n // normalize w.r.t to start vertex\n normalizeLongitudes(vertices);\n }\n\n return vertices;\n}\n\nexport function flattenPolygon(vertices: number[][]): Float64Array {\n const positions = new Float64Array(vertices.length * 2);\n let i = 0;\n for (const pt of vertices) {\n positions[i++] = pt[0];\n positions[i++] = pt[1];\n }\n return positions;\n}\n"],"file":"h3-utils.js"}
package/dist/es5/index.js DELETED
@@ -1,132 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "_WMSLayer", {
9
- enumerable: true,
10
- get: function get() {
11
- return _wmsLayer.WMSLayer;
12
- }
13
- });
14
- Object.defineProperty(exports, "GreatCircleLayer", {
15
- enumerable: true,
16
- get: function get() {
17
- return _greatCircleLayer.default;
18
- }
19
- });
20
- Object.defineProperty(exports, "S2Layer", {
21
- enumerable: true,
22
- get: function get() {
23
- return _s2Layer.default;
24
- }
25
- });
26
- Object.defineProperty(exports, "QuadkeyLayer", {
27
- enumerable: true,
28
- get: function get() {
29
- return _quadkeyLayer.default;
30
- }
31
- });
32
- Object.defineProperty(exports, "TileLayer", {
33
- enumerable: true,
34
- get: function get() {
35
- return _tileLayer.default;
36
- }
37
- });
38
- Object.defineProperty(exports, "TripsLayer", {
39
- enumerable: true,
40
- get: function get() {
41
- return _tripsLayer.default;
42
- }
43
- });
44
- Object.defineProperty(exports, "H3ClusterLayer", {
45
- enumerable: true,
46
- get: function get() {
47
- return _h3ClusterLayer.default;
48
- }
49
- });
50
- Object.defineProperty(exports, "H3HexagonLayer", {
51
- enumerable: true,
52
- get: function get() {
53
- return _h3HexagonLayer.default;
54
- }
55
- });
56
- Object.defineProperty(exports, "Tile3DLayer", {
57
- enumerable: true,
58
- get: function get() {
59
- return _tile3dLayer.default;
60
- }
61
- });
62
- Object.defineProperty(exports, "TerrainLayer", {
63
- enumerable: true,
64
- get: function get() {
65
- return _terrainLayer.default;
66
- }
67
- });
68
- Object.defineProperty(exports, "MVTLayer", {
69
- enumerable: true,
70
- get: function get() {
71
- return _mvtLayer.default;
72
- }
73
- });
74
- Object.defineProperty(exports, "GeohashLayer", {
75
- enumerable: true,
76
- get: function get() {
77
- return _geohashLayer.default;
78
- }
79
- });
80
- Object.defineProperty(exports, "_GeoCellLayer", {
81
- enumerable: true,
82
- get: function get() {
83
- return _GeoCellLayer.default;
84
- }
85
- });
86
- Object.defineProperty(exports, "_getURLFromTemplate", {
87
- enumerable: true,
88
- get: function get() {
89
- return _tileset2d.getURLFromTemplate;
90
- }
91
- });
92
- Object.defineProperty(exports, "_Tileset2D", {
93
- enumerable: true,
94
- get: function get() {
95
- return _tileset2d.Tileset2D;
96
- }
97
- });
98
- Object.defineProperty(exports, "_Tile2DHeader", {
99
- enumerable: true,
100
- get: function get() {
101
- return _tileset2d.Tile2DHeader;
102
- }
103
- });
104
-
105
- var _wmsLayer = require("./wms-layer/wms-layer");
106
-
107
- var _greatCircleLayer = _interopRequireDefault(require("./great-circle-layer/great-circle-layer"));
108
-
109
- var _s2Layer = _interopRequireDefault(require("./s2-layer/s2-layer"));
110
-
111
- var _quadkeyLayer = _interopRequireDefault(require("./quadkey-layer/quadkey-layer"));
112
-
113
- var _tileLayer = _interopRequireDefault(require("./tile-layer/tile-layer"));
114
-
115
- var _tripsLayer = _interopRequireDefault(require("./trips-layer/trips-layer"));
116
-
117
- var _h3ClusterLayer = _interopRequireDefault(require("./h3-layers/h3-cluster-layer"));
118
-
119
- var _h3HexagonLayer = _interopRequireDefault(require("./h3-layers/h3-hexagon-layer"));
120
-
121
- var _tile3dLayer = _interopRequireDefault(require("./tile-3d-layer/tile-3d-layer"));
122
-
123
- var _terrainLayer = _interopRequireDefault(require("./terrain-layer/terrain-layer"));
124
-
125
- var _mvtLayer = _interopRequireDefault(require("./mvt-layer/mvt-layer"));
126
-
127
- var _geohashLayer = _interopRequireDefault(require("./geohash-layer/geohash-layer"));
128
-
129
- var _GeoCellLayer = _interopRequireDefault(require("./geo-cell-layer/GeoCellLayer"));
130
-
131
- var _tileset2d = require("./tileset-2d");
132
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAqBA","sourcesContent":["// Copyright (c) 2015 - 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n/* eslint-disable max-len */\n\nexport {WMSLayer as _WMSLayer} from './wms-layer/wms-layer';\nexport {default as GreatCircleLayer} from './great-circle-layer/great-circle-layer';\nexport {default as S2Layer} from './s2-layer/s2-layer';\nexport {default as QuadkeyLayer} from './quadkey-layer/quadkey-layer';\nexport {default as TileLayer} from './tile-layer/tile-layer';\nexport {default as TripsLayer} from './trips-layer/trips-layer';\nexport {default as H3ClusterLayer} from './h3-layers/h3-cluster-layer';\nexport {default as H3HexagonLayer} from './h3-layers/h3-hexagon-layer';\nexport {default as Tile3DLayer} from './tile-3d-layer/tile-3d-layer';\nexport {default as TerrainLayer} from './terrain-layer/terrain-layer';\nexport {default as MVTLayer} from './mvt-layer/mvt-layer';\nexport {default as GeohashLayer} from './geohash-layer/geohash-layer';\n\nexport {default as _GeoCellLayer} from './geo-cell-layer/GeoCellLayer';\n\n// Types\nexport type {WMSLayerProps} from './wms-layer/wms-layer';\nexport type {H3ClusterLayerProps} from './h3-layers/h3-cluster-layer';\nexport type {H3HexagonLayerProps} from './h3-layers/h3-hexagon-layer';\nexport type {GreatCircleLayerProps} from './great-circle-layer/great-circle-layer';\nexport type {S2LayerProps} from './s2-layer/s2-layer';\nexport type {TileLayerProps} from './tile-layer/tile-layer';\nexport type {TripsLayerProps} from './trips-layer/trips-layer';\nexport type {QuadkeyLayerProps} from './quadkey-layer/quadkey-layer';\nexport type {TerrainLayerProps} from './terrain-layer/terrain-layer';\nexport type {Tile3DLayerProps} from './tile-3d-layer/tile-3d-layer';\nexport type {MVTLayerProps} from './mvt-layer/mvt-layer';\nexport type {GeoCellLayerProps as _GeoCellLayerProps} from './geo-cell-layer/GeoCellLayer';\n\n// Tileset2D\n\nexport type {GeoBoundingBox, NonGeoBoundingBox} from './tileset-2d';\nexport type {TileLoadProps as _TileLoadProps} from './tileset-2d';\n\nexport {getURLFromTemplate as _getURLFromTemplate} from './tileset-2d';\nexport {Tileset2D as _Tileset2D} from './tileset-2d';\nexport {Tile2DHeader as _Tile2DHeader} from './tileset-2d';\n"],"file":"index.js"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _default = "#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform bool hasTexture;\nuniform sampler2D sampler;\nuniform bool flatShading;\nuniform float opacity;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n \n#ifdef MODULE_PBR\n\n fragColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV;\n fragColor.a *= opacity;\n\n#else\n\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (flatShading) {\n#ifdef DERIVATIVES_AVAILABLE\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n#else\n normal = vec3(0.0, 0.0, 1.0);\n#endif\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * opacity);\n\n#endif\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
8
- exports.default = _default;
9
- //# sourceMappingURL=mesh-layer-fragment.glsl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"mesh-layer-fragment.glsl.js"}