@deck.gl/geo-layers 8.6.4 → 8.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/dist.dev.js +35 -15
  2. package/dist/es5/great-circle-layer/great-circle-layer.js +26 -1
  3. package/dist/es5/great-circle-layer/great-circle-layer.js.map +1 -1
  4. package/dist/es5/h3-layers/h3-cluster-layer.js +149 -87
  5. package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
  6. package/dist/es5/h3-layers/h3-hexagon-layer.js +321 -226
  7. package/dist/es5/h3-layers/h3-hexagon-layer.js.map +1 -1
  8. package/dist/es5/index.js +9 -9
  9. package/dist/es5/mesh-layer/mesh-layer.js +151 -125
  10. package/dist/es5/mesh-layer/mesh-layer.js.map +1 -1
  11. package/dist/es5/mvt-layer/coordinate-transform.js +45 -19
  12. package/dist/es5/mvt-layer/coordinate-transform.js.map +1 -1
  13. package/dist/es5/mvt-layer/find-index-binary.js +45 -26
  14. package/dist/es5/mvt-layer/find-index-binary.js.map +1 -1
  15. package/dist/es5/mvt-layer/mvt-layer.js +394 -279
  16. package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
  17. package/dist/es5/s2-layer/s2-geometry.js +43 -32
  18. package/dist/es5/s2-layer/s2-geometry.js.map +1 -1
  19. package/dist/es5/s2-layer/s2-layer.js +104 -69
  20. package/dist/es5/s2-layer/s2-layer.js.map +1 -1
  21. package/dist/es5/s2-layer/s2-utils.js +27 -28
  22. package/dist/es5/s2-layer/s2-utils.js.map +1 -1
  23. package/dist/es5/terrain-layer/terrain-layer.js +250 -208
  24. package/dist/es5/terrain-layer/terrain-layer.js.map +1 -1
  25. package/dist/es5/tile-3d-layer/tile-3d-layer.js +382 -329
  26. package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -1
  27. package/dist/es5/tile-layer/tile-2d-header.js +183 -119
  28. package/dist/es5/tile-layer/tile-2d-header.js.map +1 -1
  29. package/dist/es5/tile-layer/tile-2d-traversal.js +178 -115
  30. package/dist/es5/tile-layer/tile-2d-traversal.js.map +1 -1
  31. package/dist/es5/tile-layer/tile-layer.js +257 -214
  32. package/dist/es5/tile-layer/tile-layer.js.map +1 -1
  33. package/dist/es5/tile-layer/tileset-2d.js +435 -290
  34. package/dist/es5/tile-layer/tileset-2d.js.map +1 -1
  35. package/dist/es5/tile-layer/utils.js +110 -61
  36. package/dist/es5/tile-layer/utils.js.map +1 -1
  37. package/dist/es5/trips-layer/trips-layer.js +81 -44
  38. package/dist/es5/trips-layer/trips-layer.js.map +1 -1
  39. package/dist/esm/mvt-layer/mvt-layer.js +26 -0
  40. package/dist/esm/mvt-layer/mvt-layer.js.map +1 -1
  41. package/dist/esm/terrain-layer/terrain-layer.js +8 -10
  42. package/dist/esm/terrain-layer/terrain-layer.js.map +1 -1
  43. package/dist/esm/tile-3d-layer/tile-3d-layer.js.map +1 -1
  44. package/dist/esm/tile-layer/tile-2d-header.js.map +1 -1
  45. package/dist/esm/tile-layer/tile-2d-traversal.js.map +1 -1
  46. package/dist/esm/tile-layer/tile-layer.js +6 -8
  47. package/dist/esm/tile-layer/tile-layer.js.map +1 -1
  48. package/dist/esm/tile-layer/tileset-2d.js.map +1 -1
  49. package/dist.min.js +1 -1
  50. package/package.json +2 -2
  51. package/src/mvt-layer/mvt-layer.js +16 -0
  52. package/src/terrain-layer/terrain-layer.js +10 -9
  53. package/src/tile-layer/tile-layer.js +9 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mvt-layer/coordinate-transform.js"],"names":["availableTransformations","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","pointX","pointY","nw","se","viewport","x","y","unprojectFlat","getPoints","geometry","bbox","map","g","multiPoint","line","multiLineString","lineString","polygon","polygonRing","multiPolygon","transform","projectFlat","west","north","east","south","projectedBbox","coordinates","type"],"mappings":";;;;;;;AAAA;;AAEA,MAAMA,wBAAwB,GAAG;AAC/BC,EAAAA,KAD+B;AAE/BC,EAAAA,UAF+B;AAG/BC,EAAAA,UAH+B;AAI/BC,EAAAA,eAJ+B;AAK/BC,EAAAA,OAL+B;AAM/BC,EAAAA;AAN+B,CAAjC;;AASA,SAASL,KAAT,CAAe,CAACM,MAAD,EAASC,MAAT,CAAf,EAAiC,CAACC,EAAD,EAAKC,EAAL,CAAjC,EAA2CC,QAA3C,EAAqD;AACnD,QAAMC,CAAC,GAAG,gBAAKH,EAAE,CAAC,CAAD,CAAP,EAAYC,EAAE,CAAC,CAAD,CAAd,EAAmBH,MAAnB,CAAV;AACA,QAAMM,CAAC,GAAG,gBAAKJ,EAAE,CAAC,CAAD,CAAP,EAAYC,EAAE,CAAC,CAAD,CAAd,EAAmBF,MAAnB,CAAV;AAEA,SAAOG,QAAQ,CAACG,aAAT,CAAuB,CAACF,CAAD,EAAIC,CAAJ,CAAvB,CAAP;AACD;;AAED,SAASE,SAAT,CAAmBC,QAAnB,EAA6BC,IAA7B,EAAmCN,QAAnC,EAA6C;AAC3C,SAAOK,QAAQ,CAACE,GAAT,CAAaC,CAAC,IAAIlB,KAAK,CAACkB,CAAD,EAAIF,IAAJ,EAAUN,QAAV,CAAvB,CAAP;AACD;;AAED,SAAST,UAAT,CAAoBkB,UAApB,EAAgCH,IAAhC,EAAsCN,QAAtC,EAAgD;AAC9C,SAAOI,SAAS,CAACK,UAAD,EAAaH,IAAb,EAAmBN,QAAnB,CAAhB;AACD;;AAED,SAASR,UAAT,CAAoBkB,IAApB,EAA0BJ,IAA1B,EAAgCN,QAAhC,EAA0C;AACxC,SAAOI,SAAS,CAACM,IAAD,EAAOJ,IAAP,EAAaN,QAAb,CAAhB;AACD;;AAED,SAASP,eAAT,CAAyBkB,eAAzB,EAA0CL,IAA1C,EAAgDN,QAAhD,EAA0D;AACxD,SAAOW,eAAe,CAACJ,GAAhB,CAAoBK,UAAU,IAAIpB,UAAU,CAACoB,UAAD,EAAaN,IAAb,EAAmBN,QAAnB,CAA5C,CAAP;AACD;;AAED,SAASN,OAAT,CAAiBmB,OAAjB,EAA0BP,IAA1B,EAAgCN,QAAhC,EAA0C;AACxC,SAAOa,OAAO,CAACN,GAAR,CAAYO,WAAW,IAAIV,SAAS,CAACU,WAAD,EAAcR,IAAd,EAAoBN,QAApB,CAApC,CAAP;AACD;;AAED,SAASL,YAAT,CAAsBoB,YAAtB,EAAoCT,IAApC,EAA0CN,QAA1C,EAAoD;AAClD,SAAOe,YAAY,CAACR,GAAb,CAAiBM,OAAO,IAAInB,OAAO,CAACmB,OAAD,EAAUP,IAAV,EAAgBN,QAAhB,CAAnC,CAAP;AACD;;AAEM,SAASgB,SAAT,CAAmBX,QAAnB,EAA6BC,IAA7B,EAAmCN,QAAnC,EAA6C;AAClD,QAAMF,EAAE,GAAGE,QAAQ,CAACiB,WAAT,CAAqB,CAACX,IAAI,CAACY,IAAN,EAAYZ,IAAI,CAACa,KAAjB,CAArB,CAAX;AACA,QAAMpB,EAAE,GAAGC,QAAQ,CAACiB,WAAT,CAAqB,CAACX,IAAI,CAACc,IAAN,EAAYd,IAAI,CAACe,KAAjB,CAArB,CAAX;AACA,QAAMC,aAAa,GAAG,CAACxB,EAAD,EAAKC,EAAL,CAAtB;AAEA,SAAO,EACL,GAAGM,QADE;AAELkB,IAAAA,WAAW,EAAElC,wBAAwB,CAACgB,QAAQ,CAACmB,IAAV,CAAxB,CACXnB,QAAQ,CAACkB,WADE,EAEXD,aAFW,EAGXtB,QAHW;AAFR,GAAP;AAQD","sourcesContent":["import {lerp} from 'math.gl';\n\nconst availableTransformations = {\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon\n};\n\nfunction Point([pointX, pointY], [nw, se], viewport) {\n const x = lerp(nw[0], se[0], pointX);\n const y = lerp(nw[1], se[1], pointY);\n\n return viewport.unprojectFlat([x, y]);\n}\n\nfunction getPoints(geometry, bbox, viewport) {\n return geometry.map(g => Point(g, bbox, viewport));\n}\n\nfunction MultiPoint(multiPoint, bbox, viewport) {\n return getPoints(multiPoint, bbox, viewport);\n}\n\nfunction LineString(line, bbox, viewport) {\n return getPoints(line, bbox, viewport);\n}\n\nfunction MultiLineString(multiLineString, bbox, viewport) {\n return multiLineString.map(lineString => LineString(lineString, bbox, viewport));\n}\n\nfunction Polygon(polygon, bbox, viewport) {\n return polygon.map(polygonRing => getPoints(polygonRing, bbox, viewport));\n}\n\nfunction MultiPolygon(multiPolygon, bbox, viewport) {\n return multiPolygon.map(polygon => Polygon(polygon, bbox, viewport));\n}\n\nexport function transform(geometry, bbox, viewport) {\n const nw = viewport.projectFlat([bbox.west, bbox.north]);\n const se = viewport.projectFlat([bbox.east, bbox.south]);\n const projectedBbox = [nw, se];\n\n return {\n ...geometry,\n coordinates: availableTransformations[geometry.type](\n geometry.coordinates,\n projectedBbox,\n viewport\n )\n };\n}\n"],"file":"coordinate-transform.js"}
1
+ {"version":3,"sources":["../../../src/mvt-layer/coordinate-transform.js"],"names":["availableTransformations","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","viewport","pointX","pointY","nw","se","x","y","unprojectFlat","getPoints","geometry","bbox","map","g","multiPoint","line","multiLineString","lineString","polygon","polygonRing","multiPolygon","transform","projectFlat","west","north","east","south","projectedBbox","coordinates","type"],"mappings":"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","sourcesContent":["import {lerp} from 'math.gl';\n\nconst availableTransformations = {\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon\n};\n\nfunction Point([pointX, pointY], [nw, se], viewport) {\n const x = lerp(nw[0], se[0], pointX);\n const y = lerp(nw[1], se[1], pointY);\n\n return viewport.unprojectFlat([x, y]);\n}\n\nfunction getPoints(geometry, bbox, viewport) {\n return geometry.map(g => Point(g, bbox, viewport));\n}\n\nfunction MultiPoint(multiPoint, bbox, viewport) {\n return getPoints(multiPoint, bbox, viewport);\n}\n\nfunction LineString(line, bbox, viewport) {\n return getPoints(line, bbox, viewport);\n}\n\nfunction MultiLineString(multiLineString, bbox, viewport) {\n return multiLineString.map(lineString => LineString(lineString, bbox, viewport));\n}\n\nfunction Polygon(polygon, bbox, viewport) {\n return polygon.map(polygonRing => getPoints(polygonRing, bbox, viewport));\n}\n\nfunction MultiPolygon(multiPolygon, bbox, viewport) {\n return multiPolygon.map(polygon => Polygon(polygon, bbox, viewport));\n}\n\nexport function transform(geometry, bbox, viewport) {\n const nw = viewport.projectFlat([bbox.west, bbox.north]);\n const se = viewport.projectFlat([bbox.east, bbox.south]);\n const projectedBbox = [nw, se];\n\n return {\n ...geometry,\n coordinates: availableTransformations[geometry.type](\n geometry.coordinates,\n projectedBbox,\n viewport\n )\n };\n}\n"],"file":"coordinate-transform.js"}
@@ -4,32 +4,49 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = findIndexBinary;
7
- const GEOM_TYPES = ['points', 'lines', 'polygons'];
7
+
8
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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; } } }; }
9
+
10
+ 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); }
11
+
12
+ 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; }
13
+
14
+ var GEOM_TYPES = ['points', 'lines', 'polygons'];
8
15
 
9
16
  function findIndexBinary(data, uniqueIdProperty, featureId, layerName) {
10
- for (const gt of GEOM_TYPES) {
11
- const index = data[gt] && findIndexByType(data[gt], uniqueIdProperty, featureId, layerName);
17
+ var _iterator = _createForOfIteratorHelper(GEOM_TYPES),
18
+ _step;
19
+
20
+ try {
21
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
22
+ var gt = _step.value;
23
+ var index = data[gt] && findIndexByType(data[gt], uniqueIdProperty, featureId, layerName);
12
24
 
13
- if (index >= 0) {
14
- return index;
25
+ if (index >= 0) {
26
+ return index;
27
+ }
15
28
  }
29
+ } catch (err) {
30
+ _iterator.e(err);
31
+ } finally {
32
+ _iterator.f();
16
33
  }
17
34
 
18
35
  return -1;
19
36
  }
20
37
 
21
38
  function findIndexByType(geomData, uniqueIdProperty, featureId, layerName) {
22
- const featureIds = geomData.featureIds.value;
39
+ var featureIds = geomData.featureIds.value;
23
40
 
24
41
  if (!featureIds.length) {
25
42
  return -1;
26
43
  }
27
44
 
28
- let startFeatureIndex = 0;
29
- let endFeatureIndex = featureIds[featureIds.length - 1] + 1;
45
+ var startFeatureIndex = 0;
46
+ var endFeatureIndex = featureIds[featureIds.length - 1] + 1;
30
47
 
31
48
  if (layerName) {
32
- const layerRange = getLayerRange(geomData, layerName);
49
+ var layerRange = getLayerRange(geomData, layerName);
33
50
 
34
51
  if (layerRange) {
35
52
  startFeatureIndex = layerRange[0];
@@ -39,15 +56,21 @@ function findIndexByType(geomData, uniqueIdProperty, featureId, layerName) {
39
56
  }
40
57
  }
41
58
 
42
- let featureIndex = -1;
59
+ var featureIndex = -1;
43
60
 
44
61
  if (uniqueIdProperty in geomData.numericProps) {
45
- const vertexIndex = geomData.numericProps[uniqueIdProperty].value.findIndex((x, i) => x === featureId && featureIds[i] >= startFeatureIndex && featureIds[i] < endFeatureIndex);
62
+ var vertexIndex = geomData.numericProps[uniqueIdProperty].value.findIndex(function (x, i) {
63
+ return x === featureId && featureIds[i] >= startFeatureIndex && featureIds[i] < endFeatureIndex;
64
+ });
46
65
  return vertexIndex >= 0 ? geomData.globalFeatureIds.value[vertexIndex] : -1;
47
66
  } else if (uniqueIdProperty) {
48
- featureIndex = findIndex(geomData.properties, elem => elem[uniqueIdProperty] === featureId, startFeatureIndex, endFeatureIndex);
67
+ featureIndex = findIndex(geomData.properties, function (elem) {
68
+ return elem[uniqueIdProperty] === featureId;
69
+ }, startFeatureIndex, endFeatureIndex);
49
70
  } else {
50
- featureIndex = findIndex(geomData.fields, elem => elem.id === featureId, startFeatureIndex, endFeatureIndex);
71
+ featureIndex = findIndex(geomData.fields, function (elem) {
72
+ return elem.id === featureId;
73
+ }, startFeatureIndex, endFeatureIndex);
51
74
  }
52
75
 
53
76
  return featureIndex >= 0 ? getGlobalFeatureId(geomData, featureIndex) : -1;
@@ -55,15 +78,11 @@ function findIndexByType(geomData, uniqueIdProperty, featureId, layerName) {
55
78
 
56
79
  function getLayerRange(geomData, layerName) {
57
80
  if (!geomData.__layers) {
58
- const layerNames = {};
59
- const {
60
- properties
61
- } = geomData;
81
+ var layerNames = {};
82
+ var properties = geomData.properties;
62
83
 
63
- for (let i = 0; i < properties.length; i++) {
64
- const {
65
- layerName: key
66
- } = properties[i];
84
+ for (var i = 0; i < properties.length; i++) {
85
+ var key = properties[i].layerName;
67
86
 
68
87
  if (!key) {} else if (layerNames[key]) {
69
88
  layerNames[key][1] = i;
@@ -80,11 +99,11 @@ function getLayerRange(geomData, layerName) {
80
99
 
81
100
  function getGlobalFeatureId(geomData, featureIndex) {
82
101
  if (!geomData.__ids) {
83
- const result = [];
84
- const featureIds = geomData.featureIds.value;
85
- const globalFeatureIds = geomData.globalFeatureIds.value;
102
+ var result = [];
103
+ var featureIds = geomData.featureIds.value;
104
+ var globalFeatureIds = geomData.globalFeatureIds.value;
86
105
 
87
- for (let i = 0; i < featureIds.length; i++) {
106
+ for (var i = 0; i < featureIds.length; i++) {
88
107
  result[featureIds[i]] = globalFeatureIds[i];
89
108
  }
90
109
 
@@ -95,7 +114,7 @@ function getGlobalFeatureId(geomData, featureIndex) {
95
114
  }
96
115
 
97
116
  function findIndex(array, predicate, startIndex, endIndex) {
98
- for (let i = startIndex; i < endIndex; i++) {
117
+ for (var i = startIndex; i < endIndex; i++) {
99
118
  if (predicate(array[i], i)) {
100
119
  return i;
101
120
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mvt-layer/find-index-binary.js"],"names":["GEOM_TYPES","findIndexBinary","data","uniqueIdProperty","featureId","layerName","gt","index","findIndexByType","geomData","featureIds","value","length","startFeatureIndex","endFeatureIndex","layerRange","getLayerRange","featureIndex","numericProps","vertexIndex","findIndex","x","i","globalFeatureIds","properties","elem","fields","id","getGlobalFeatureId","__layers","layerNames","key","__ids","result","array","predicate","startIndex","endIndex"],"mappings":"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","sourcesContent":["const GEOM_TYPES = ['points', 'lines', 'polygons'];\n/**\n * Return the index of feature (numericProps or featureIds) for given feature id\n * Example: findIndexBinary(data, 'id', 33) will return the index in the array of numericProps\n * of the feature 33.\n * @param {Object} data - The data in binary format\n * @param {String} uniqueIdProperty - Name of the unique id property\n * @param {Number|String} featureId - feature id to find\n * @param {String} layerName - the layer to search in\n */\nexport default function findIndexBinary(data, uniqueIdProperty, featureId, layerName) {\n for (const gt of GEOM_TYPES) {\n const index = data[gt] && findIndexByType(data[gt], uniqueIdProperty, featureId, layerName);\n if (index >= 0) {\n return index;\n }\n }\n\n return -1;\n}\n\nfunction findIndexByType(geomData, uniqueIdProperty, featureId, layerName) {\n const featureIds = geomData.featureIds.value;\n\n if (!featureIds.length) {\n return -1;\n }\n\n let startFeatureIndex = 0;\n let endFeatureIndex = featureIds[featureIds.length - 1] + 1;\n if (layerName) {\n const layerRange = getLayerRange(geomData, layerName);\n if (layerRange) {\n startFeatureIndex = layerRange[0];\n endFeatureIndex = layerRange[1] + 1;\n } else {\n return -1;\n }\n }\n\n // Look for the uniqueIdProperty\n let featureIndex = -1;\n if (uniqueIdProperty in geomData.numericProps) {\n const vertexIndex = geomData.numericProps[uniqueIdProperty].value.findIndex(\n (x, i) =>\n x === featureId && featureIds[i] >= startFeatureIndex && featureIds[i] < endFeatureIndex\n );\n return vertexIndex >= 0 ? geomData.globalFeatureIds.value[vertexIndex] : -1;\n } else if (uniqueIdProperty) {\n featureIndex = findIndex(\n geomData.properties,\n elem => elem[uniqueIdProperty] === featureId,\n startFeatureIndex,\n endFeatureIndex\n );\n } else {\n featureIndex = findIndex(\n geomData.fields,\n elem => elem.id === featureId,\n startFeatureIndex,\n endFeatureIndex\n );\n }\n return featureIndex >= 0 ? getGlobalFeatureId(geomData, featureIndex) : -1;\n}\n\n// Returns [firstFeatureIndex, lastFeatureIndex]\n// MVTLoader parses tiles layer-by-layer, so each layer is a continuous range\nfunction getLayerRange(geomData, layerName) {\n if (!geomData.__layers) {\n // Cache a map from properties.layerName to index ranges\n const layerNames = {};\n const {properties} = geomData;\n for (let i = 0; i < properties.length; i++) {\n const {layerName: key} = properties[i];\n if (!key) {\n // ignore\n } else if (layerNames[key]) {\n layerNames[key][1] = i;\n } else {\n layerNames[key] = [i, i];\n }\n }\n geomData.__layers = layerNames;\n }\n return geomData.__layers[layerName];\n}\n\n// Returns global feature id\nfunction getGlobalFeatureId(geomData, featureIndex) {\n if (!geomData.__ids) {\n // Cache a map from featureId to globalFeatureId\n const result = [];\n const featureIds = geomData.featureIds.value;\n const globalFeatureIds = geomData.globalFeatureIds.value;\n for (let i = 0; i < featureIds.length; i++) {\n result[featureIds[i]] = globalFeatureIds[i];\n }\n geomData.__ids = result;\n }\n return geomData.__ids[featureIndex];\n}\n\n// Like array.findIndex, but only search within a range\nfunction findIndex(array, predicate, startIndex, endIndex) {\n for (let i = startIndex; i < endIndex; i++) {\n if (predicate(array[i], i)) {\n return i;\n }\n }\n return -1;\n}\n"],"file":"find-index-binary.js"}
1
+ {"version":3,"sources":["../../../src/mvt-layer/find-index-binary.js"],"names":["GEOM_TYPES","findIndexBinary","data","uniqueIdProperty","featureId","layerName","gt","index","findIndexByType","geomData","featureIds","value","length","startFeatureIndex","endFeatureIndex","layerRange","getLayerRange","featureIndex","numericProps","vertexIndex","findIndex","x","i","globalFeatureIds","properties","elem","fields","id","getGlobalFeatureId","__layers","layerNames","key","__ids","result","array","predicate","startIndex","endIndex"],"mappings":"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","sourcesContent":["const GEOM_TYPES = ['points', 'lines', 'polygons'];\n/**\n * Return the index of feature (numericProps or featureIds) for given feature id\n * Example: findIndexBinary(data, 'id', 33) will return the index in the array of numericProps\n * of the feature 33.\n * @param {Object} data - The data in binary format\n * @param {String} uniqueIdProperty - Name of the unique id property\n * @param {Number|String} featureId - feature id to find\n * @param {String} layerName - the layer to search in\n */\nexport default function findIndexBinary(data, uniqueIdProperty, featureId, layerName) {\n for (const gt of GEOM_TYPES) {\n const index = data[gt] && findIndexByType(data[gt], uniqueIdProperty, featureId, layerName);\n if (index >= 0) {\n return index;\n }\n }\n\n return -1;\n}\n\nfunction findIndexByType(geomData, uniqueIdProperty, featureId, layerName) {\n const featureIds = geomData.featureIds.value;\n\n if (!featureIds.length) {\n return -1;\n }\n\n let startFeatureIndex = 0;\n let endFeatureIndex = featureIds[featureIds.length - 1] + 1;\n if (layerName) {\n const layerRange = getLayerRange(geomData, layerName);\n if (layerRange) {\n startFeatureIndex = layerRange[0];\n endFeatureIndex = layerRange[1] + 1;\n } else {\n return -1;\n }\n }\n\n // Look for the uniqueIdProperty\n let featureIndex = -1;\n if (uniqueIdProperty in geomData.numericProps) {\n const vertexIndex = geomData.numericProps[uniqueIdProperty].value.findIndex(\n (x, i) =>\n x === featureId && featureIds[i] >= startFeatureIndex && featureIds[i] < endFeatureIndex\n );\n return vertexIndex >= 0 ? geomData.globalFeatureIds.value[vertexIndex] : -1;\n } else if (uniqueIdProperty) {\n featureIndex = findIndex(\n geomData.properties,\n elem => elem[uniqueIdProperty] === featureId,\n startFeatureIndex,\n endFeatureIndex\n );\n } else {\n featureIndex = findIndex(\n geomData.fields,\n elem => elem.id === featureId,\n startFeatureIndex,\n endFeatureIndex\n );\n }\n return featureIndex >= 0 ? getGlobalFeatureId(geomData, featureIndex) : -1;\n}\n\n// Returns [firstFeatureIndex, lastFeatureIndex]\n// MVTLoader parses tiles layer-by-layer, so each layer is a continuous range\nfunction getLayerRange(geomData, layerName) {\n if (!geomData.__layers) {\n // Cache a map from properties.layerName to index ranges\n const layerNames = {};\n const {properties} = geomData;\n for (let i = 0; i < properties.length; i++) {\n const {layerName: key} = properties[i];\n if (!key) {\n // ignore\n } else if (layerNames[key]) {\n layerNames[key][1] = i;\n } else {\n layerNames[key] = [i, i];\n }\n }\n geomData.__layers = layerNames;\n }\n return geomData.__layers[layerName];\n}\n\n// Returns global feature id\nfunction getGlobalFeatureId(geomData, featureIndex) {\n if (!geomData.__ids) {\n // Cache a map from featureId to globalFeatureId\n const result = [];\n const featureIds = geomData.featureIds.value;\n const globalFeatureIds = geomData.globalFeatureIds.value;\n for (let i = 0; i < featureIds.length; i++) {\n result[featureIds[i]] = globalFeatureIds[i];\n }\n geomData.__ids = result;\n }\n return geomData.__ids[featureIndex];\n}\n\n// Like array.findIndex, but only search within a range\nfunction findIndex(array, predicate, startIndex, endIndex) {\n for (let i = startIndex; i < endIndex; i++) {\n if (predicate(array[i], i)) {\n return i;\n }\n }\n return -1;\n}\n"],"file":"find-index-binary.js"}