@loaders.gl/mvt 3.1.3 → 4.0.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/bundle.js.map +1 -0
  3. package/dist/helpers/binary-util-functions.js +77 -111
  4. package/dist/helpers/binary-util-functions.js.map +1 -0
  5. package/dist/helpers/mapbox-util-functions.js +45 -78
  6. package/dist/helpers/mapbox-util-functions.js.map +1 -0
  7. package/dist/index.js +2 -6
  8. package/dist/index.js.map +1 -0
  9. package/dist/{es5/lib → lib}/binary-vector-tile/LICENSE.txt +0 -0
  10. package/dist/lib/binary-vector-tile/vector-tile-feature.js +143 -138
  11. package/dist/lib/binary-vector-tile/vector-tile-feature.js.map +1 -0
  12. package/dist/lib/binary-vector-tile/vector-tile-layer.js +58 -85
  13. package/dist/lib/binary-vector-tile/vector-tile-layer.js.map +1 -0
  14. package/dist/lib/binary-vector-tile/vector-tile.js +19 -25
  15. package/dist/lib/binary-vector-tile/vector-tile.js.map +1 -0
  16. package/dist/{es5/lib → lib}/mapbox-vector-tile/LICENSE.txt +0 -0
  17. package/dist/lib/mapbox-vector-tile/vector-tile-feature.js +193 -161
  18. package/dist/lib/mapbox-vector-tile/vector-tile-feature.js.map +1 -0
  19. package/dist/lib/mapbox-vector-tile/vector-tile-layer.js +58 -83
  20. package/dist/lib/mapbox-vector-tile/vector-tile-layer.js.map +1 -0
  21. package/dist/lib/mapbox-vector-tile/vector-tile.js +19 -25
  22. package/dist/lib/mapbox-vector-tile/vector-tile.js.map +1 -0
  23. package/dist/lib/parse-mvt.js +101 -127
  24. package/dist/lib/parse-mvt.js.map +1 -0
  25. package/dist/lib/types.js +2 -2
  26. package/dist/{es5/lib → lib}/types.js.map +0 -0
  27. package/dist/mvt-loader.js +23 -42
  28. package/dist/mvt-loader.js.map +1 -0
  29. package/dist/mvt-worker.js +1 -1
  30. package/dist/workers/mvt-worker.js +4 -5
  31. package/dist/workers/mvt-worker.js.map +1 -0
  32. package/package.json +8 -8
  33. package/dist/es5/bundle.js +0 -7
  34. package/dist/es5/bundle.js.map +0 -1
  35. package/dist/es5/helpers/binary-util-functions.js +0 -98
  36. package/dist/es5/helpers/binary-util-functions.js.map +0 -1
  37. package/dist/es5/helpers/mapbox-util-functions.js +0 -62
  38. package/dist/es5/helpers/mapbox-util-functions.js.map +0 -1
  39. package/dist/es5/index.js +0 -20
  40. package/dist/es5/index.js.map +0 -1
  41. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js +0 -191
  42. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js.map +0 -1
  43. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js +0 -77
  44. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js.map +0 -1
  45. package/dist/es5/lib/binary-vector-tile/vector-tile.js +0 -35
  46. package/dist/es5/lib/binary-vector-tile/vector-tile.js.map +0 -1
  47. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js +0 -217
  48. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js.map +0 -1
  49. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js +0 -77
  50. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js.map +0 -1
  51. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js +0 -35
  52. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js.map +0 -1
  53. package/dist/es5/lib/parse-mvt.js +0 -132
  54. package/dist/es5/lib/parse-mvt.js.map +0 -1
  55. package/dist/es5/lib/types.js +0 -2
  56. package/dist/es5/mvt-loader.js +0 -71
  57. package/dist/es5/mvt-loader.js.map +0 -1
  58. package/dist/es5/workers/mvt-worker.js +0 -8
  59. package/dist/es5/workers/mvt-worker.js.map +0 -1
  60. package/dist/esm/bundle.js +0 -5
  61. package/dist/esm/bundle.js.map +0 -1
  62. package/dist/esm/helpers/binary-util-functions.js +0 -84
  63. package/dist/esm/helpers/binary-util-functions.js.map +0 -1
  64. package/dist/esm/helpers/mapbox-util-functions.js +0 -49
  65. package/dist/esm/helpers/mapbox-util-functions.js.map +0 -1
  66. package/dist/esm/index.js +0 -2
  67. package/dist/esm/index.js.map +0 -1
  68. package/dist/esm/lib/binary-vector-tile/LICENSE.txt +0 -31
  69. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js +0 -157
  70. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js.map +0 -1
  71. package/dist/esm/lib/binary-vector-tile/vector-tile-layer.js +0 -64
  72. package/dist/esm/lib/binary-vector-tile/vector-tile-layer.js.map +0 -1
  73. package/dist/esm/lib/binary-vector-tile/vector-tile.js +0 -23
  74. package/dist/esm/lib/binary-vector-tile/vector-tile.js.map +0 -1
  75. package/dist/esm/lib/mapbox-vector-tile/LICENSE.txt +0 -31
  76. package/dist/esm/lib/mapbox-vector-tile/vector-tile-feature.js +0 -202
  77. package/dist/esm/lib/mapbox-vector-tile/vector-tile-feature.js.map +0 -1
  78. package/dist/esm/lib/mapbox-vector-tile/vector-tile-layer.js +0 -64
  79. package/dist/esm/lib/mapbox-vector-tile/vector-tile-layer.js.map +0 -1
  80. package/dist/esm/lib/mapbox-vector-tile/vector-tile.js +0 -23
  81. package/dist/esm/lib/mapbox-vector-tile/vector-tile.js.map +0 -1
  82. package/dist/esm/lib/parse-mvt.js +0 -117
  83. package/dist/esm/lib/parse-mvt.js.map +0 -1
  84. package/dist/esm/lib/types.js +0 -2
  85. package/dist/esm/lib/types.js.map +0 -1
  86. package/dist/esm/mvt-loader.js +0 -26
  87. package/dist/esm/mvt-loader.js.map +0 -1
  88. package/dist/esm/workers/mvt-worker.js +0 -4
  89. package/dist/esm/workers/mvt-worker.js.map +0 -1
@@ -1,77 +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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var _vectorTileFeature = _interopRequireDefault(require("./vector-tile-feature"));
17
-
18
- var VectorTileLayer = function () {
19
- function VectorTileLayer(pbf, end) {
20
- (0, _classCallCheck2.default)(this, VectorTileLayer);
21
- (0, _defineProperty2.default)(this, "version", void 0);
22
- (0, _defineProperty2.default)(this, "name", void 0);
23
- (0, _defineProperty2.default)(this, "extent", void 0);
24
- (0, _defineProperty2.default)(this, "length", void 0);
25
- (0, _defineProperty2.default)(this, "_pbf", void 0);
26
- (0, _defineProperty2.default)(this, "_keys", void 0);
27
- (0, _defineProperty2.default)(this, "_values", void 0);
28
- (0, _defineProperty2.default)(this, "_features", void 0);
29
- this.version = 1;
30
- this.name = '';
31
- this.extent = 4096;
32
- this.length = 0;
33
- this._pbf = pbf;
34
- this._keys = [];
35
- this._values = [];
36
- this._features = [];
37
- pbf.readFields(readLayer, this, end);
38
- this.length = this._features.length;
39
- }
40
-
41
- (0, _createClass2.default)(VectorTileLayer, [{
42
- key: "feature",
43
- value: function feature(i) {
44
- if (i < 0 || i >= this._features.length) {
45
- throw new Error('feature index out of bounds');
46
- }
47
-
48
- this._pbf.pos = this._features[i];
49
-
50
- var end = this._pbf.readVarint() + this._pbf.pos;
51
-
52
- return new _vectorTileFeature.default(this._pbf, end, this.extent, this._keys, this._values);
53
- }
54
- }]);
55
- return VectorTileLayer;
56
- }();
57
-
58
- exports.default = VectorTileLayer;
59
-
60
- function readLayer(tag, layer, pbf) {
61
- if (layer && pbf) {
62
- if (tag === 15) layer.version = pbf.readVarint();else if (tag === 1) layer.name = pbf.readString();else if (tag === 5) layer.extent = pbf.readVarint();else if (tag === 2) layer._features.push(pbf.pos);else if (tag === 3) layer._keys.push(pbf.readString());else if (tag === 4) layer._values.push(readValueMessage(pbf));
63
- }
64
- }
65
-
66
- function readValueMessage(pbf) {
67
- var value = null;
68
- var end = pbf.readVarint() + pbf.pos;
69
-
70
- while (pbf.pos < end) {
71
- var tag = pbf.readVarint() >> 3;
72
- value = tag === 1 ? pbf.readString() : tag === 2 ? pbf.readFloat() : tag === 3 ? pbf.readDouble() : tag === 4 ? pbf.readVarint64() : tag === 5 ? pbf.readVarint() : tag === 6 ? pbf.readSVarint() : tag === 7 ? pbf.readBoolean() : null;
73
- }
74
-
75
- return value;
76
- }
77
- //# sourceMappingURL=vector-tile-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-layer.ts"],"names":["VectorTileLayer","pbf","end","version","name","extent","length","_pbf","_keys","_values","_features","readFields","readLayer","i","Error","pos","readVarint","VectorTileFeature","tag","layer","readString","push","readValueMessage","value","readFloat","readDouble","readVarint64","readSVarint","readBoolean"],"mappings":";;;;;;;;;;;;;;;AAIA;;IAEqBA,e;AASnB,2BAAYC,GAAZ,EAA2BC,GAA3B,EAAwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEtC,SAAKC,OAAL,GAAe,CAAf;AACA,SAAKC,IAAL,GAAY,EAAZ;AACA,SAAKC,MAAL,GAAc,IAAd;AACA,SAAKC,MAAL,GAAc,CAAd;AAGA,SAAKC,IAAL,GAAYN,GAAZ;AACA,SAAKO,KAAL,GAAa,EAAb;AACA,SAAKC,OAAL,GAAe,EAAf;AACA,SAAKC,SAAL,GAAiB,EAAjB;AAEAT,IAAAA,GAAG,CAACU,UAAJ,CAAeC,SAAf,EAA0B,IAA1B,EAAgCV,GAAhC;AAEA,SAAKI,MAAL,GAAc,KAAKI,SAAL,CAAeJ,MAA7B;AACD;;;;WAQD,iBAAQO,CAAR,EAAsC;AACpC,UAAIA,CAAC,GAAG,CAAJ,IAASA,CAAC,IAAI,KAAKH,SAAL,CAAeJ,MAAjC,EAAyC;AACvC,cAAM,IAAIQ,KAAJ,CAAU,6BAAV,CAAN;AACD;;AAED,WAAKP,IAAL,CAAUQ,GAAV,GAAgB,KAAKL,SAAL,CAAeG,CAAf,CAAhB;;AAEA,UAAMX,GAAG,GAAG,KAAKK,IAAL,CAAUS,UAAV,KAAyB,KAAKT,IAAL,CAAUQ,GAA/C;;AACA,aAAO,IAAIE,0BAAJ,CAAsB,KAAKV,IAA3B,EAAiCL,GAAjC,EAAsC,KAAKG,MAA3C,EAAmD,KAAKG,KAAxD,EAA+D,KAAKC,OAApE,CAAP;AACD;;;;;;;AASH,SAASG,SAAT,CAAmBM,GAAnB,EAAgCC,KAAhC,EAAyDlB,GAAzD,EAA+E;AAC7E,MAAIkB,KAAK,IAAIlB,GAAb,EAAkB;AAChB,QAAIiB,GAAG,KAAK,EAAZ,EAAgBC,KAAK,CAAChB,OAAN,GAAgBF,GAAG,CAACe,UAAJ,EAAhB,CAAhB,KACK,IAAIE,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACf,IAAN,GAAaH,GAAG,CAACmB,UAAJ,EAAb,CAAf,KACA,IAAIF,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACd,MAAN,GAAeJ,GAAG,CAACe,UAAJ,EAAf,CAAf,KACA,IAAIE,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACT,SAAN,CAAgBW,IAAhB,CAAqBpB,GAAG,CAACc,GAAzB,EAAf,KACA,IAAIG,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACX,KAAN,CAAYa,IAAZ,CAAiBpB,GAAG,CAACmB,UAAJ,EAAjB,EAAf,KACA,IAAIF,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACV,OAAN,CAAcY,IAAd,CAAmBC,gBAAgB,CAACrB,GAAD,CAAnC;AACrB;AACF;;AAOD,SAASqB,gBAAT,CAA0BrB,GAA1B,EAAyC;AACvC,MAAIsB,KAAuC,GAAG,IAA9C;AACA,MAAMrB,GAAG,GAAGD,GAAG,CAACe,UAAJ,KAAmBf,GAAG,CAACc,GAAnC;;AAEA,SAAOd,GAAG,CAACc,GAAJ,GAAUb,GAAjB,EAAsB;AACpB,QAAMgB,GAAG,GAAGjB,GAAG,CAACe,UAAJ,MAAoB,CAAhC;AAEAO,IAAAA,KAAK,GACHL,GAAG,KAAK,CAAR,GACIjB,GAAG,CAACmB,UAAJ,EADJ,GAEIF,GAAG,KAAK,CAAR,GACAjB,GAAG,CAACuB,SAAJ,EADA,GAEAN,GAAG,KAAK,CAAR,GACAjB,GAAG,CAACwB,UAAJ,EADA,GAEAP,GAAG,KAAK,CAAR,GACAjB,GAAG,CAACyB,YAAJ,EADA,GAEAR,GAAG,KAAK,CAAR,GACAjB,GAAG,CAACe,UAAJ,EADA,GAEAE,GAAG,KAAK,CAAR,GACAjB,GAAG,CAAC0B,WAAJ,EADA,GAEAT,GAAG,KAAK,CAAR,GACAjB,GAAG,CAAC2B,WAAJ,EADA,GAEA,IAfN;AAgBD;;AAED,SAAOL,KAAP;AACD","sourcesContent":["/* eslint-disable indent */\n// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\n\nimport Protobuf from 'pbf';\nimport VectorTileFeature from './vector-tile-feature';\n\nexport default class VectorTileLayer {\n version: number;\n name: string;\n extent: number;\n length: number;\n _pbf: Protobuf;\n _keys: string[];\n _values: (string | number | boolean | null)[];\n _features: number[];\n constructor(pbf: Protobuf, end: number) {\n // Public\n this.version = 1;\n this.name = '';\n this.extent = 4096;\n this.length = 0;\n\n // Private\n this._pbf = pbf;\n this._keys = [];\n this._values = [];\n this._features = [];\n\n pbf.readFields(readLayer, this, end);\n\n this.length = this._features.length;\n }\n\n /**\n * return feature `i` from this layer as a `VectorTileFeature`\n * @param index\n * @returns feature\n */\n\n feature(i: number): VectorTileFeature {\n if (i < 0 || i >= this._features.length) {\n throw new Error('feature index out of bounds');\n }\n\n this._pbf.pos = this._features[i];\n\n const end = this._pbf.readVarint() + this._pbf.pos;\n return new VectorTileFeature(this._pbf, end, this.extent, this._keys, this._values);\n }\n}\n\n/**\n *\n * @param tag\n * @param layer\n * @param pbf\n */\nfunction readLayer(tag: number, layer?: VectorTileLayer, pbf?: Protobuf): void {\n if (layer && pbf) {\n if (tag === 15) layer.version = pbf.readVarint();\n else if (tag === 1) layer.name = pbf.readString();\n else if (tag === 5) layer.extent = pbf.readVarint();\n else if (tag === 2) layer._features.push(pbf.pos);\n else if (tag === 3) layer._keys.push(pbf.readString());\n else if (tag === 4) layer._values.push(readValueMessage(pbf));\n }\n}\n\n/**\n *\n * @param pbf\n * @returns value\n */\nfunction readValueMessage(pbf: Protobuf) {\n let value: string | number | boolean | null = null;\n const end = pbf.readVarint() + pbf.pos;\n\n while (pbf.pos < end) {\n const tag = pbf.readVarint() >> 3;\n\n value =\n tag === 1\n ? pbf.readString()\n : tag === 2\n ? pbf.readFloat()\n : tag === 3\n ? pbf.readDouble()\n : tag === 4\n ? pbf.readVarint64()\n : tag === 5\n ? pbf.readVarint()\n : tag === 6\n ? pbf.readSVarint()\n : tag === 7\n ? pbf.readBoolean()\n : null;\n }\n\n return value;\n}\n"],"file":"vector-tile-layer.js"}
@@ -1,35 +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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _vectorTileLayer = _interopRequireDefault(require("./vector-tile-layer"));
15
-
16
- var VectorTile = function VectorTile(pbf, end) {
17
- (0, _classCallCheck2.default)(this, VectorTile);
18
- (0, _defineProperty2.default)(this, "layers", void 0);
19
- this.layers = pbf.readFields(readTile, {}, end);
20
- };
21
-
22
- exports.default = VectorTile;
23
-
24
- function readTile(tag, layers, pbf) {
25
- if (tag === 3) {
26
- if (pbf) {
27
- var layer = new _vectorTileLayer.default(pbf, pbf.readVarint() + pbf.pos);
28
-
29
- if (layer.length && layers) {
30
- layers[layer.name] = layer;
31
- }
32
- }
33
- }
34
- }
35
- //# sourceMappingURL=vector-tile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile.ts"],"names":["VectorTile","pbf","end","layers","readFields","readTile","tag","layer","VectorTileLayer","readVarint","pos","length","name"],"mappings":";;;;;;;;;;;;;AAEA;;IAGqBA,U,GAEnB,oBAAYC,GAAZ,EAA2BC,GAA3B,EAAyC;AAAA;AAAA;AACvC,OAAKC,MAAL,GAAcF,GAAG,CAACG,UAAJ,CAAeC,QAAf,EAAyB,EAAzB,EAA6BH,GAA7B,CAAd;AACD,C;;;;AASH,SAASG,QAAT,CAAkBC,GAAlB,EAA+BH,MAA/B,EAAwEF,GAAxE,EAA8F;AAC5F,MAAIK,GAAG,KAAK,CAAZ,EAAe;AACb,QAAIL,GAAJ,EAAS;AACP,UAAMM,KAAK,GAAG,IAAIC,wBAAJ,CAAoBP,GAApB,EAAyBA,GAAG,CAACQ,UAAJ,KAAmBR,GAAG,CAACS,GAAhD,CAAd;;AACA,UAAIH,KAAK,CAACI,MAAN,IAAgBR,MAApB,EAA4B;AAC1BA,QAAAA,MAAM,CAACI,KAAK,CAACK,IAAP,CAAN,GAAqBL,KAArB;AACD;AACF;AACF;AACF","sourcesContent":["// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\n\nimport VectorTileLayer from './vector-tile-layer';\nimport Protobuf from 'pbf';\n\nexport default class VectorTile {\n layers: {[x: string]: VectorTileLayer};\n constructor(pbf: Protobuf, end?: number) {\n this.layers = pbf.readFields(readTile, {}, end);\n }\n}\n\n/**\n *\n * @param tag\n * @param layers\n * @param pbf\n */\nfunction readTile(tag: number, layers?: {[x: string]: VectorTileLayer}, pbf?: Protobuf): void {\n if (tag === 3) {\n if (pbf) {\n const layer = new VectorTileLayer(pbf, pbf.readVarint() + pbf.pos);\n if (layer.length && layers) {\n layers[layer.name] = layer;\n }\n }\n }\n}\n"],"file":"vector-tile.js"}
@@ -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
- exports.default = parseMVT;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _vectorTile = _interopRequireDefault(require("./mapbox-vector-tile/vector-tile"));
13
-
14
- var _vectorTile2 = _interopRequireDefault(require("./binary-vector-tile/vector-tile"));
15
-
16
- var _gis = require("@loaders.gl/gis");
17
-
18
- var _pbf = _interopRequireDefault(require("pbf"));
19
-
20
- 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; }
21
-
22
- 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; }
23
-
24
- function parseMVT(arrayBuffer, options) {
25
- options = normalizeOptions(options);
26
- var features = [];
27
-
28
- if (options) {
29
- var binary = options.gis.format === 'binary';
30
- var geometryInfo = {
31
- coordLength: 2,
32
- pointPositionsCount: 0,
33
- pointFeaturesCount: 0,
34
- linePositionsCount: 0,
35
- linePathsCount: 0,
36
- lineFeaturesCount: 0,
37
- polygonPositionsCount: 0,
38
- polygonObjectsCount: 0,
39
- polygonRingsCount: 0,
40
- polygonFeaturesCount: 0
41
- };
42
-
43
- if (arrayBuffer.byteLength > 0) {
44
- var tile = binary ? new _vectorTile2.default(new _pbf.default(arrayBuffer)) : new _vectorTile.default(new _pbf.default(arrayBuffer));
45
- var loaderOptions = options.mvt;
46
- var selectedLayers = Array.isArray(loaderOptions.layers) ? loaderOptions.layers : Object.keys(tile.layers);
47
- selectedLayers.forEach(function (layerName) {
48
- var vectorTileLayer = tile.layers[layerName];
49
-
50
- var featureOptions = _objectSpread(_objectSpread({}, loaderOptions), {}, {
51
- layerName: layerName
52
- });
53
-
54
- if (!vectorTileLayer) {
55
- return;
56
- }
57
-
58
- for (var i = 0; i < vectorTileLayer.length; i++) {
59
- var vectorTileFeature = vectorTileLayer.feature(i, geometryInfo);
60
- var decodedFeature = binary ? getDecodedFeatureBinary(vectorTileFeature, featureOptions) : getDecodedFeature(vectorTileFeature, featureOptions);
61
- features.push(decodedFeature);
62
- }
63
- });
64
- }
65
-
66
- if (binary) {
67
- var data = (0, _gis.flatGeojsonToBinary)(features, geometryInfo);
68
- data.byteLength = arrayBuffer.byteLength;
69
- return data;
70
- }
71
- }
72
-
73
- return features;
74
- }
75
-
76
- function normalizeOptions(options) {
77
- if (options) {
78
- options = _objectSpread(_objectSpread({}, options), {}, {
79
- mvt: options.mvt || {},
80
- gis: options.gis || {}
81
- });
82
- var wgs84Coordinates = options.coordinates === 'wgs84';
83
- var _options = options,
84
- tileIndex = _options.tileIndex;
85
- var hasTileIndex = tileIndex && Number.isFinite(tileIndex.x) && Number.isFinite(tileIndex.y) && Number.isFinite(tileIndex.z);
86
-
87
- if (wgs84Coordinates && !hasTileIndex) {
88
- throw new Error('MVT Loader: WGS84 coordinates need tileIndex property. Check documentation.');
89
- }
90
- }
91
-
92
- return options;
93
- }
94
-
95
- function getDecodedFeature(feature, options) {
96
- var decodedFeature = feature.toGeoJSON(options.coordinates === 'wgs84' ? options.tileIndex : transformToLocalCoordinates);
97
-
98
- if (options.layerProperty) {
99
- decodedFeature.properties[options.layerProperty] = options.layerName;
100
- }
101
-
102
- return decodedFeature;
103
- }
104
-
105
- function getDecodedFeatureBinary(feature, options) {
106
- var decodedFeature = feature.toBinaryCoordinates(options.coordinates === 'wgs84' ? options.tileIndex : transformToLocalCoordinatesBinary);
107
-
108
- if (options.layerProperty && decodedFeature.properties) {
109
- decodedFeature.properties[options.layerProperty] = options.layerName;
110
- }
111
-
112
- return decodedFeature;
113
- }
114
-
115
- function transformToLocalCoordinates(line, feature) {
116
- var extent = feature.extent;
117
-
118
- for (var i = 0; i < line.length; i++) {
119
- var p = line[i];
120
- p[0] /= extent;
121
- p[1] /= extent;
122
- }
123
- }
124
-
125
- function transformToLocalCoordinatesBinary(data, feature) {
126
- var extent = feature.extent;
127
-
128
- for (var i = 0, il = data.length; i < il; ++i) {
129
- data[i] /= extent;
130
- }
131
- }
132
- //# sourceMappingURL=parse-mvt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/parse-mvt.ts"],"names":["parseMVT","arrayBuffer","options","normalizeOptions","features","binary","gis","format","geometryInfo","coordLength","pointPositionsCount","pointFeaturesCount","linePositionsCount","linePathsCount","lineFeaturesCount","polygonPositionsCount","polygonObjectsCount","polygonRingsCount","polygonFeaturesCount","byteLength","tile","BinaryVectorTile","Protobuf","VectorTile","loaderOptions","mvt","selectedLayers","Array","isArray","layers","Object","keys","forEach","layerName","vectorTileLayer","featureOptions","i","length","vectorTileFeature","feature","decodedFeature","getDecodedFeatureBinary","getDecodedFeature","push","data","wgs84Coordinates","coordinates","tileIndex","hasTileIndex","Number","isFinite","x","y","z","Error","toGeoJSON","transformToLocalCoordinates","layerProperty","properties","toBinaryCoordinates","transformToLocalCoordinatesBinary","line","extent","p","il"],"mappings":"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","sourcesContent":["// import {VectorTile} from '@mapbox/vector-tile';\nimport VectorTile from './mapbox-vector-tile/vector-tile';\nimport BinaryVectorTile from './binary-vector-tile/vector-tile';\n\nimport {flatGeojsonToBinary} from '@loaders.gl/gis';\nimport Protobuf from 'pbf';\nimport type {FlatFeature} from '@loaders.gl/schema';\nimport type {MvtMapboxCoordinates, MvtOptions} from '../lib/types';\nimport VectorTileFeatureBinary from './binary-vector-tile/vector-tile-feature';\nimport VectorTileFeatureMapBox from './mapbox-vector-tile/vector-tile-feature';\nimport {LoaderOptions} from '@loaders.gl/loader-utils';\n\n/**\n * Parse MVT arrayBuffer and return GeoJSON.\n *\n * @param arrayBuffer A MVT arrayBuffer\n * @param options\n * @returns A GeoJSON geometry object or a binary representation\n */\nexport default function parseMVT(arrayBuffer: ArrayBuffer, options?: LoaderOptions) {\n options = normalizeOptions(options);\n const features: (FlatFeature | MvtMapboxCoordinates)[] = [];\n\n if (options) {\n const binary = options.gis.format === 'binary';\n const geometryInfo = {\n coordLength: 2,\n pointPositionsCount: 0,\n pointFeaturesCount: 0,\n linePositionsCount: 0,\n linePathsCount: 0,\n lineFeaturesCount: 0,\n polygonPositionsCount: 0,\n polygonObjectsCount: 0,\n polygonRingsCount: 0,\n polygonFeaturesCount: 0\n };\n\n if (arrayBuffer.byteLength > 0) {\n const tile = binary\n ? new BinaryVectorTile(new Protobuf(arrayBuffer))\n : new VectorTile(new Protobuf(arrayBuffer));\n const loaderOptions = options.mvt;\n\n const selectedLayers = Array.isArray(loaderOptions.layers)\n ? loaderOptions.layers\n : Object.keys(tile.layers);\n\n selectedLayers.forEach((layerName: string) => {\n const vectorTileLayer = tile.layers[layerName];\n const featureOptions = {...loaderOptions, layerName};\n\n if (!vectorTileLayer) {\n return;\n }\n\n for (let i = 0; i < vectorTileLayer.length; i++) {\n const vectorTileFeature = vectorTileLayer.feature(i, geometryInfo);\n\n const decodedFeature = binary\n ? getDecodedFeatureBinary(vectorTileFeature as VectorTileFeatureBinary, featureOptions)\n : getDecodedFeature(vectorTileFeature as VectorTileFeatureMapBox, featureOptions);\n features.push(decodedFeature);\n }\n });\n }\n\n if (binary) {\n const data = flatGeojsonToBinary(features as FlatFeature[], geometryInfo);\n // Add the original byteLength (as a reasonable approximation of the size of the binary data)\n // TODO decide where to store extra fields like byteLength (header etc) and document\n // @ts-ignore\n data.byteLength = arrayBuffer.byteLength;\n return data;\n }\n }\n return features;\n}\n\n/**\n * @param options\n * @returns options\n */\nfunction normalizeOptions(options: LoaderOptions | undefined) {\n if (options) {\n options = {\n ...options,\n mvt: options.mvt || {},\n gis: options.gis || {}\n };\n\n // Validate\n const wgs84Coordinates = options.coordinates === 'wgs84';\n const {tileIndex} = options;\n const hasTileIndex =\n tileIndex &&\n Number.isFinite(tileIndex.x) &&\n Number.isFinite(tileIndex.y) &&\n Number.isFinite(tileIndex.z);\n\n if (wgs84Coordinates && !hasTileIndex) {\n throw new Error(\n 'MVT Loader: WGS84 coordinates need tileIndex property. Check documentation.'\n );\n }\n }\n return options;\n}\n\n/**\n * @param feature\n * @param options\n * @returns decoded feature\n */\nfunction getDecodedFeature(\n feature: VectorTileFeatureMapBox,\n options: MvtOptions\n): MvtMapboxCoordinates {\n const decodedFeature = feature.toGeoJSON(\n options.coordinates === 'wgs84' ? options.tileIndex : transformToLocalCoordinates\n );\n\n // Add layer name to GeoJSON properties\n if (options.layerProperty) {\n decodedFeature.properties[options.layerProperty] = options.layerName;\n }\n\n return decodedFeature;\n}\n\n/**\n * @param feature\n * @param options\n * @returns decoded binary feature\n */\nfunction getDecodedFeatureBinary(\n feature: VectorTileFeatureBinary,\n options: MvtOptions\n): FlatFeature {\n const decodedFeature = feature.toBinaryCoordinates(\n options.coordinates === 'wgs84' ? options.tileIndex : transformToLocalCoordinatesBinary\n );\n\n // Add layer name to GeoJSON properties\n if (options.layerProperty && decodedFeature.properties) {\n decodedFeature.properties[options.layerProperty] = options.layerName;\n }\n\n return decodedFeature;\n}\n\n/**\n * @param line\n * @param feature\n */\nfunction transformToLocalCoordinates(line: number[], feature: {extent: any}): void {\n // This function transforms local coordinates in a\n // [0 - bufferSize, this.extent + bufferSize] range to a\n // [0 - (bufferSize / this.extent), 1 + (bufferSize / this.extent)] range.\n // The resulting extent would be 1.\n const {extent} = feature;\n for (let i = 0; i < line.length; i++) {\n const p = line[i];\n p[0] /= extent;\n p[1] /= extent;\n }\n}\n\nfunction transformToLocalCoordinatesBinary(data: number[], feature: {extent: any}) {\n // For the binary code path, the feature data is just\n // one big flat array, so we just divide each value\n const {extent} = feature;\n for (let i = 0, il = data.length; i < il; ++i) {\n data[i] /= extent;\n }\n}\n"],"file":"parse-mvt.js"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=types.js.map
@@ -1,71 +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.MVTLoader = exports.MVTWorkerLoader = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var _parseMvt = _interopRequireDefault(require("./lib/parse-mvt"));
17
-
18
- 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; }
19
-
20
- 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; }
21
-
22
- var VERSION = typeof "3.1.3" !== 'undefined' ? "3.1.3" : 'latest';
23
- var MVTWorkerLoader = {
24
- name: 'Mapbox Vector Tile',
25
- id: 'mvt',
26
- module: 'mvt',
27
- version: VERSION,
28
- extensions: ['mvt', 'pbf'],
29
- mimeTypes: ['application/vnd.mapbox-vector-tile', 'application/x-protobuf'],
30
- worker: true,
31
- category: 'geometry',
32
- options: {
33
- mvt: {
34
- coordinates: 'local',
35
- layerProperty: 'layerName',
36
- layers: null,
37
- tileIndex: null
38
- }
39
- }
40
- };
41
- exports.MVTWorkerLoader = MVTWorkerLoader;
42
-
43
- var MVTLoader = _objectSpread(_objectSpread({}, MVTWorkerLoader), {}, {
44
- parse: function () {
45
- var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
46
- return _regenerator.default.wrap(function _callee$(_context) {
47
- while (1) {
48
- switch (_context.prev = _context.next) {
49
- case 0:
50
- return _context.abrupt("return", (0, _parseMvt.default)(arrayBuffer, options));
51
-
52
- case 1:
53
- case "end":
54
- return _context.stop();
55
- }
56
- }
57
- }, _callee);
58
- }));
59
-
60
- function parse(_x, _x2) {
61
- return _parse.apply(this, arguments);
62
- }
63
-
64
- return parse;
65
- }(),
66
- parseSync: _parseMvt.default,
67
- binary: true
68
- });
69
-
70
- exports.MVTLoader = MVTLoader;
71
- //# sourceMappingURL=mvt-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/mvt-loader.ts"],"names":["VERSION","MVTWorkerLoader","name","id","module","version","extensions","mimeTypes","worker","category","options","mvt","coordinates","layerProperty","layers","tileIndex","MVTLoader","parse","arrayBuffer","parseSync","parseMVT","binary"],"mappings":";;;;;;;;;;;;;;;AACA;;;;;;AAIA,IAAMA,OAAO,GAAG,mBAAuB,WAAvB,aAAmD,QAAnE;AAKO,IAAMC,eAAuB,GAAG;AACrCC,EAAAA,IAAI,EAAE,oBAD+B;AAErCC,EAAAA,EAAE,EAAE,KAFiC;AAGrCC,EAAAA,MAAM,EAAE,KAH6B;AAIrCC,EAAAA,OAAO,EAAEL,OAJ4B;AAMrCM,EAAAA,UAAU,EAAE,CAAC,KAAD,EAAQ,KAAR,CANyB;AAOrCC,EAAAA,SAAS,EAAE,CACT,oCADS,EAET,wBAFS,CAP0B;AAYrCC,EAAAA,MAAM,EAAE,IAZ6B;AAarCC,EAAAA,QAAQ,EAAE,UAb2B;AAcrCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,GAAG,EAAE;AACHC,MAAAA,WAAW,EAAE,OADV;AAEHC,MAAAA,aAAa,EAAE,WAFZ;AAGHC,MAAAA,MAAM,EAAE,IAHL;AAIHC,MAAAA,SAAS,EAAE;AAJR;AADE;AAd4B,CAAhC;;;AA2BA,IAAMC,SAA2B,mCACnCf,eADmC;AAEtCgB,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBR,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgC,uBAASQ,WAAT,EAAsBR,OAAtB,CAAhC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KAFiC;AAGtCS,EAAAA,SAAS,EAAEC,iBAH2B;AAItCC,EAAAA,MAAM,EAAE;AAJ8B,EAAjC","sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport parseMVT from './lib/parse-mvt';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * Worker loader for the Mapbox Vector Tile format\n */\nexport const MVTWorkerLoader: Loader = {\n name: 'Mapbox Vector Tile',\n id: 'mvt',\n module: 'mvt',\n version: VERSION,\n // Note: ArcGIS uses '.pbf' extension and 'application/octet-stream'\n extensions: ['mvt', 'pbf'],\n mimeTypes: [\n 'application/vnd.mapbox-vector-tile',\n 'application/x-protobuf'\n // 'application/octet-stream'\n ],\n worker: true,\n category: 'geometry',\n options: {\n mvt: {\n coordinates: 'local',\n layerProperty: 'layerName',\n layers: null,\n tileIndex: null\n }\n }\n};\n\n/**\n * Loader for the Mapbox Vector Tile format\n */\nexport const MVTLoader: LoaderWithParser = {\n ...MVTWorkerLoader,\n parse: async (arrayBuffer, options) => parseMVT(arrayBuffer, options),\n parseSync: parseMVT,\n binary: true\n};\n"],"file":"mvt-loader.js"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- var _mvtLoader = require("../mvt-loader");
4
-
5
- var _loaderUtils = require("@loaders.gl/loader-utils");
6
-
7
- (0, _loaderUtils.createLoaderWorker)(_mvtLoader.MVTLoader);
8
- //# sourceMappingURL=mvt-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/workers/mvt-worker.ts"],"names":["MVTLoader"],"mappings":";;AAAA;;AACA;;AAEA,qCAAmBA,oBAAnB","sourcesContent":["import {MVTLoader} from '../mvt-loader';\nimport {createLoaderWorker} from '@loaders.gl/loader-utils';\n\ncreateLoaderWorker(MVTLoader);\n"],"file":"mvt-worker.js"}
@@ -1,5 +0,0 @@
1
- const moduleExports = require('./index');
2
-
3
- globalThis.loaders = globalThis.loaders || {};
4
- module.exports = Object.assign(globalThis.loaders, moduleExports);
5
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
@@ -1,84 +0,0 @@
1
- import { getPolygonSignedArea } from '@math.gl/polygon';
2
- export function classifyRings(geom) {
3
- const len = geom.indices.length;
4
- const type = 'Polygon';
5
-
6
- if (len <= 1) {
7
- return {
8
- type,
9
- data: geom.data,
10
- areas: [[getPolygonSignedArea(geom.data)]],
11
- indices: [geom.indices]
12
- };
13
- }
14
-
15
- const areas = [];
16
- const polygons = [];
17
- let ringAreas = [];
18
- let polygon = [];
19
- let ccw;
20
- let offset = 0;
21
-
22
- for (let endIndex, i = 0, startIndex; i < len; i++) {
23
- startIndex = geom.indices[i] - offset;
24
- endIndex = geom.indices[i + 1] - offset || geom.data.length;
25
- const shape = geom.data.slice(startIndex, endIndex);
26
- const area = getPolygonSignedArea(shape);
27
-
28
- if (area === 0) {
29
- const before = geom.data.slice(0, startIndex);
30
- const after = geom.data.slice(endIndex);
31
- geom.data = before.concat(after);
32
- offset += endIndex - startIndex;
33
- continue;
34
- }
35
-
36
- if (ccw === undefined) ccw = area < 0;
37
-
38
- if (ccw === area < 0) {
39
- if (polygon.length) {
40
- areas.push(ringAreas);
41
- polygons.push(polygon);
42
- }
43
-
44
- polygon = [startIndex];
45
- ringAreas = [area];
46
- } else {
47
- ringAreas.push(area);
48
- polygon.push(startIndex);
49
- }
50
- }
51
-
52
- if (ringAreas) areas.push(ringAreas);
53
- if (polygon.length) polygons.push(polygon);
54
- return {
55
- type,
56
- areas,
57
- indices: polygons,
58
- data: geom.data
59
- };
60
- }
61
- export function project(data, x0, y0, size) {
62
- for (let j = 0, jl = data.length; j < jl; j += 2) {
63
- data[j] = (data[j] + x0) * 360 / size - 180;
64
- const y2 = 180 - (data[j + 1] + y0) * 360 / size;
65
- data[j + 1] = 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90;
66
- }
67
- }
68
- export function readFeature(tag, feature, pbf) {
69
- if (feature && pbf) {
70
- if (tag === 1) feature.id = pbf.readVarint();else if (tag === 2) readTag(pbf, feature);else if (tag === 3) feature.type = pbf.readVarint();else if (tag === 4) feature._geometry = pbf.pos;
71
- }
72
- }
73
- export function readTag(pbf, feature) {
74
- const end = pbf.readVarint() + pbf.pos;
75
-
76
- while (pbf.pos < end) {
77
- const key = feature._keys[pbf.readVarint()];
78
-
79
- const value = feature._values[pbf.readVarint()];
80
-
81
- feature.properties[key] = value;
82
- }
83
- }
84
- //# sourceMappingURL=binary-util-functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/helpers/binary-util-functions.ts"],"names":["getPolygonSignedArea","classifyRings","geom","len","indices","length","type","data","areas","polygons","ringAreas","polygon","ccw","offset","endIndex","i","startIndex","shape","slice","area","before","after","concat","undefined","push","project","x0","y0","size","j","jl","y2","Math","PI","atan","exp","readFeature","tag","feature","pbf","id","readVarint","readTag","_geometry","pos","end","key","_keys","value","_values","properties"],"mappings":"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","sourcesContent":["import Protobuf from 'pbf';\nimport {getPolygonSignedArea} from '@math.gl/polygon';\nimport {FlatIndexedGeometry, FlatPolygon} from '@loaders.gl/schema';\nimport VectorTileFeature from '../lib/binary-vector-tile/vector-tile-feature';\n\n/**\n * Classifies an array of rings into polygons with outer rings and holes\n * The function also detects holes which have zero area and\n * removes them. In doing so it modifies the input\n * `geom.data` array to remove the unneeded data\n *\n * @param geometry\n * @returns object\n */\n// eslint-disable-next-line max-statements\nexport function classifyRings(geom: FlatIndexedGeometry): FlatPolygon {\n const len = geom.indices.length;\n const type = 'Polygon';\n\n if (len <= 1) {\n return {\n type,\n data: geom.data,\n areas: [[getPolygonSignedArea(geom.data)]],\n indices: [geom.indices]\n };\n }\n\n const areas: any[] = [];\n const polygons: any[] = [];\n let ringAreas: number[] = [];\n let polygon: number[] = [];\n let ccw: boolean | undefined;\n let offset = 0;\n\n for (let endIndex: number, i = 0, startIndex: number; i < len; i++) {\n startIndex = geom.indices[i] - offset;\n\n endIndex = geom.indices[i + 1] - offset || geom.data.length;\n const shape = geom.data.slice(startIndex, endIndex);\n const area = getPolygonSignedArea(shape);\n\n if (area === 0) {\n // This polygon has no area, so remove it from the shape\n // Remove the section from the data array\n const before = geom.data.slice(0, startIndex);\n const after = geom.data.slice(endIndex);\n geom.data = before.concat(after);\n\n // Need to offset any remaining indices as we have\n // modified the data buffer\n offset += endIndex - startIndex;\n\n // Do not add this index to the output and process next shape\n continue; // eslint-disable-line no-continue\n }\n\n if (ccw === undefined) ccw = area < 0;\n\n if (ccw === area < 0) {\n if (polygon.length) {\n areas.push(ringAreas);\n polygons.push(polygon);\n }\n polygon = [startIndex];\n ringAreas = [area];\n } else {\n ringAreas.push(area);\n polygon.push(startIndex);\n }\n }\n if (ringAreas) areas.push(ringAreas);\n if (polygon.length) polygons.push(polygon);\n\n return {type, areas, indices: polygons, data: geom.data};\n}\n\n/**\n *\n * @param data\n * @param x0\n * @param y0\n * @param size\n */\nexport function project(data: number[], x0: number, y0: number, size: number): void {\n for (let j = 0, jl = data.length; j < jl; j += 2) {\n data[j] = ((data[j] + x0) * 360) / size - 180;\n const y2 = 180 - ((data[j + 1] + y0) * 360) / size;\n data[j + 1] = (360 / Math.PI) * Math.atan(Math.exp((y2 * Math.PI) / 180)) - 90;\n }\n}\n\n/**\n * All code below is unchanged from the original Mapbox implemenation\n *\n * @param tag\n * @param feature\n * @param pbf\n */\nexport function readFeature(tag: number, feature?: VectorTileFeature, pbf?: Protobuf): void {\n if (feature && pbf) {\n if (tag === 1) feature.id = pbf.readVarint();\n else if (tag === 2) readTag(pbf, feature);\n else if (tag === 3) feature.type = pbf.readVarint();\n else if (tag === 4) feature._geometry = pbf.pos;\n }\n}\n\n/**\n * @param pbf\n * @param feature\n */\nexport function readTag(pbf: Protobuf, feature: VectorTileFeature): void {\n const end = pbf.readVarint() + pbf.pos;\n\n while (pbf.pos < end) {\n const key = feature._keys[pbf.readVarint()];\n const value = feature._values[pbf.readVarint()];\n feature.properties[key] = value;\n }\n}\n"],"file":"binary-util-functions.js"}
@@ -1,49 +0,0 @@
1
- export function classifyRings(rings) {
2
- const len = rings.length;
3
- if (len <= 1) return [rings];
4
- const polygons = [];
5
- let polygon;
6
- let ccw;
7
-
8
- for (let i = 0; i < len; i++) {
9
- const area = signedArea(rings[i]);
10
- if (area === 0) continue;
11
- if (ccw === undefined) ccw = area < 0;
12
-
13
- if (ccw === area < 0) {
14
- if (polygon) polygons.push(polygon);
15
- polygon = [rings[i]];
16
- } else if (polygon) polygon.push(rings[i]);
17
- }
18
-
19
- if (polygon) polygons.push(polygon);
20
- return polygons;
21
- }
22
- export function signedArea(ring) {
23
- let sum = 0;
24
-
25
- for (let i = 0, j = ring.length - 1, p1, p2; i < ring.length; j = i++) {
26
- p1 = ring[i];
27
- p2 = ring[j];
28
- sum += (p2[0] - p1[0]) * (p1[1] + p2[1]);
29
- }
30
-
31
- return sum;
32
- }
33
- export function readFeature(tag, feature, pbf) {
34
- if (feature && pbf) {
35
- if (tag === 1) feature.id = pbf.readVarint();else if (tag === 2) readTag(pbf, feature);else if (tag === 3) feature.type = pbf.readVarint();else if (tag === 4) feature._geometry = pbf.pos;
36
- }
37
- }
38
- export function readTag(pbf, feature) {
39
- const end = pbf.readVarint() + pbf.pos;
40
-
41
- while (pbf.pos < end) {
42
- const key = feature._keys[pbf.readVarint()];
43
-
44
- const value = feature._values[pbf.readVarint()];
45
-
46
- feature.properties[key] = value;
47
- }
48
- }
49
- //# sourceMappingURL=mapbox-util-functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/helpers/mapbox-util-functions.ts"],"names":["classifyRings","rings","len","length","polygons","polygon","ccw","i","area","signedArea","undefined","push","ring","sum","j","p1","p2","readFeature","tag","feature","pbf","id","readVarint","readTag","type","_geometry","pos","end","key","_keys","value","_values","properties"],"mappings":"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","sourcesContent":["import Protobuf from 'pbf';\nimport {MvtMapboxGeometry} from '../lib/types';\nimport VectorTileFeature from '../lib/mapbox-vector-tile/vector-tile-feature';\n\n/**\n * Classifies an array of rings into polygons with outer rings and holes\n * @param rings\n * @returns polygons\n */\nexport function classifyRings(rings: MvtMapboxGeometry) {\n const len = rings.length;\n\n if (len <= 1) return [rings];\n\n const polygons: number[][][] = [];\n let polygon: number[][] | undefined;\n let ccw: boolean | undefined;\n\n for (let i = 0; i < len; i++) {\n const area = signedArea(rings[i]);\n if (area === 0) continue; // eslint-disable-line no-continue\n\n if (ccw === undefined) ccw = area < 0;\n\n if (ccw === area < 0) {\n if (polygon) polygons.push(polygon);\n polygon = [rings[i]];\n } else if (polygon) polygon.push(rings[i]);\n }\n if (polygon) polygons.push(polygon);\n\n return polygons;\n}\n\n/**\n *\n * @param ring\n * @returns sum\n */\nexport function signedArea(ring: number[][]) {\n let sum = 0;\n for (let i = 0, j = ring.length - 1, p1: number[], p2: number[]; i < ring.length; j = i++) {\n p1 = ring[i];\n p2 = ring[j];\n sum += (p2[0] - p1[0]) * (p1[1] + p2[1]);\n }\n return sum;\n}\n\n/**\n *\n * @param tag\n * @param feature\n * @param pbf\n */\nexport function readFeature(tag: number, feature?: VectorTileFeature, pbf?: Protobuf): void {\n if (feature && pbf) {\n if (tag === 1) feature.id = pbf.readVarint();\n else if (tag === 2) readTag(pbf, feature);\n else if (tag === 3) feature.type = pbf.readVarint();\n else if (tag === 4) feature._geometry = pbf.pos;\n }\n}\n\n/**\n *\n * @param pbf\n * @param feature\n */\nexport function readTag(pbf: Protobuf, feature: VectorTileFeature): void {\n const end = pbf.readVarint() + pbf.pos;\n\n while (pbf.pos < end) {\n const key = feature._keys[pbf.readVarint()];\n const value = feature._values[pbf.readVarint()];\n feature.properties[key] = value;\n }\n}\n"],"file":"mapbox-util-functions.js"}
package/dist/esm/index.js DELETED
@@ -1,2 +0,0 @@
1
- export { MVTLoader, MVTWorkerLoader } from './mvt-loader';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["MVTLoader","MVTWorkerLoader"],"mappings":"AAAA,SAAQA,SAAR,EAAmBC,eAAnB,QAAyC,cAAzC","sourcesContent":["export {MVTLoader, MVTWorkerLoader} from './mvt-loader';\n"],"file":"index.js"}
@@ -1,31 +0,0 @@
1
- This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.
2
-
3
- ---
4
-
5
- Copyright (c) 2014, Mapbox
6
-
7
- All rights reserved.
8
-
9
- Redistribution and use in source and binary forms, with or without modification,
10
- are permitted provided that the following conditions are met:
11
-
12
- * Redistributions of source code must retain the above copyright notice,
13
- this list of conditions and the following disclaimer.
14
- * Redistributions in binary form must reproduce the above copyright notice,
15
- this list of conditions and the following disclaimer in the documentation
16
- and/or other materials provided with the distribution.
17
- * Neither the name of Mapbox nor the names of its contributors
18
- may be used to endorse or promote products derived from this software
19
- without specific prior written permission.
20
-
21
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.