@loaders.gl/mvt 4.0.0-beta.2 → 4.0.0-beta.3

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 (141) hide show
  1. package/dist/{dist.min.js → dist.dev.js} +2353 -1734
  2. package/dist/helpers/binary-util-functions.js.map +1 -0
  3. package/dist/helpers/mapbox-util-functions.js.map +1 -0
  4. package/dist/index.cjs +1800 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/{esm/lib → lib}/binary-vector-tile/vector-tile-feature.js +12 -13
  10. package/dist/lib/binary-vector-tile/vector-tile-feature.js.map +1 -0
  11. package/dist/{esm/lib → lib}/binary-vector-tile/vector-tile-layer.js +9 -10
  12. package/dist/lib/binary-vector-tile/vector-tile-layer.js.map +1 -0
  13. package/dist/{esm/lib/mapbox-vector-tile → lib/binary-vector-tile}/vector-tile.js +2 -3
  14. package/dist/lib/binary-vector-tile/vector-tile.js.map +1 -0
  15. package/dist/{esm/lib → lib}/geojson-tiler/clip.js +4 -5
  16. package/dist/lib/geojson-tiler/clip.js.map +1 -0
  17. package/dist/{esm/lib → lib}/geojson-tiler/convert.js +2 -2
  18. package/dist/lib/geojson-tiler/convert.js.map +1 -0
  19. package/dist/lib/geojson-tiler/feature.js.map +1 -0
  20. package/dist/{esm/lib → lib}/geojson-tiler/geojson-tiler.js +11 -12
  21. package/dist/lib/geojson-tiler/geojson-tiler.js.map +1 -0
  22. package/dist/lib/geojson-tiler/simplify.js.map +1 -0
  23. package/dist/lib/geojson-tiler/tile.js.map +1 -0
  24. package/dist/lib/geojson-tiler/transform.js.map +1 -0
  25. package/dist/{esm/lib → lib}/geojson-tiler/wrap.js +5 -6
  26. package/dist/lib/geojson-tiler/wrap.js.map +1 -0
  27. package/dist/{esm/lib → lib}/mapbox-vector-tile/vector-tile-feature.js +12 -13
  28. package/dist/lib/mapbox-vector-tile/vector-tile-feature.js.map +1 -0
  29. package/dist/{esm/lib → lib}/mapbox-vector-tile/vector-tile-layer.js +9 -10
  30. package/dist/lib/mapbox-vector-tile/vector-tile-layer.js.map +1 -0
  31. package/dist/{esm/lib/binary-vector-tile → lib/mapbox-vector-tile}/vector-tile.js +2 -3
  32. package/dist/lib/mapbox-vector-tile/vector-tile.js.map +1 -0
  33. package/dist/{esm/lib → lib}/parse-mvt.js +2 -2
  34. package/dist/lib/parse-mvt.js.map +1 -0
  35. package/dist/lib/parse-tilejson.js.map +1 -0
  36. package/dist/lib/types.js.map +1 -0
  37. package/dist/{esm/mvt-loader.js → mvt-loader.js} +2 -2
  38. package/dist/mvt-loader.js.map +1 -0
  39. package/dist/mvt-source.d.ts +28 -0
  40. package/dist/mvt-source.d.ts.map +1 -0
  41. package/dist/mvt-source.js +100 -0
  42. package/dist/mvt-source.js.map +1 -0
  43. package/dist/mvt-worker.js +267 -103
  44. package/dist/{esm/tilejson-loader.js → tilejson-loader.js} +2 -2
  45. package/dist/tilejson-loader.js.map +1 -0
  46. package/dist/{esm/workers → workers}/mvt-worker.js +1 -1
  47. package/dist/workers/mvt-worker.js.map +1 -0
  48. package/package.json +19 -10
  49. package/src/index.ts +2 -0
  50. package/src/mvt-source.ts +110 -0
  51. package/dist/bundle.d.ts +0 -2
  52. package/dist/bundle.d.ts.map +0 -1
  53. package/dist/es5/bundle.js +0 -6
  54. package/dist/es5/bundle.js.map +0 -1
  55. package/dist/es5/helpers/binary-util-functions.js +0 -82
  56. package/dist/es5/helpers/binary-util-functions.js.map +0 -1
  57. package/dist/es5/helpers/mapbox-util-functions.js +0 -50
  58. package/dist/es5/helpers/mapbox-util-functions.js.map +0 -1
  59. package/dist/es5/index.js +0 -33
  60. package/dist/es5/index.js.map +0 -1
  61. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js +0 -168
  62. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js.map +0 -1
  63. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js +0 -62
  64. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js.map +0 -1
  65. package/dist/es5/lib/binary-vector-tile/vector-tile.js +0 -28
  66. package/dist/es5/lib/binary-vector-tile/vector-tile.js.map +0 -1
  67. package/dist/es5/lib/geojson-tiler/clip.js +0 -237
  68. package/dist/es5/lib/geojson-tiler/clip.js.map +0 -1
  69. package/dist/es5/lib/geojson-tiler/convert.js +0 -161
  70. package/dist/es5/lib/geojson-tiler/convert.js.map +0 -1
  71. package/dist/es5/lib/geojson-tiler/feature.js +0 -62
  72. package/dist/es5/lib/geojson-tiler/feature.js.map +0 -1
  73. package/dist/es5/lib/geojson-tiler/geojson-tiler.js +0 -186
  74. package/dist/es5/lib/geojson-tiler/geojson-tiler.js.map +0 -1
  75. package/dist/es5/lib/geojson-tiler/simplify.js +0 -52
  76. package/dist/es5/lib/geojson-tiler/simplify.js.map +0 -1
  77. package/dist/es5/lib/geojson-tiler/tile.js +0 -121
  78. package/dist/es5/lib/geojson-tiler/tile.js.map +0 -1
  79. package/dist/es5/lib/geojson-tiler/transform.js +0 -50
  80. package/dist/es5/lib/geojson-tiler/transform.js.map +0 -1
  81. package/dist/es5/lib/geojson-tiler/wrap.js +0 -122
  82. package/dist/es5/lib/geojson-tiler/wrap.js.map +0 -1
  83. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js +0 -184
  84. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js.map +0 -1
  85. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js +0 -62
  86. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js.map +0 -1
  87. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js +0 -28
  88. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js.map +0 -1
  89. package/dist/es5/lib/parse-mvt.js +0 -144
  90. package/dist/es5/lib/parse-mvt.js.map +0 -1
  91. package/dist/es5/lib/parse-tilejson.js +0 -186
  92. package/dist/es5/lib/parse-tilejson.js.map +0 -1
  93. package/dist/es5/lib/types.js +0 -2
  94. package/dist/es5/lib/types.js.map +0 -1
  95. package/dist/es5/mvt-loader.js +0 -57
  96. package/dist/es5/mvt-loader.js.map +0 -1
  97. package/dist/es5/tilejson-loader.js +0 -50
  98. package/dist/es5/tilejson-loader.js.map +0 -1
  99. package/dist/es5/workers/mvt-worker.js +0 -6
  100. package/dist/es5/workers/mvt-worker.js.map +0 -1
  101. package/dist/esm/bundle.js +0 -4
  102. package/dist/esm/bundle.js.map +0 -1
  103. package/dist/esm/helpers/binary-util-functions.js.map +0 -1
  104. package/dist/esm/helpers/mapbox-util-functions.js.map +0 -1
  105. package/dist/esm/index.js +0 -4
  106. package/dist/esm/index.js.map +0 -1
  107. package/dist/esm/lib/binary-vector-tile/LICENSE.txt +0 -31
  108. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js.map +0 -1
  109. package/dist/esm/lib/binary-vector-tile/vector-tile-layer.js.map +0 -1
  110. package/dist/esm/lib/binary-vector-tile/vector-tile.js.map +0 -1
  111. package/dist/esm/lib/geojson-tiler/LICENSE +0 -19
  112. package/dist/esm/lib/geojson-tiler/clip.js.map +0 -1
  113. package/dist/esm/lib/geojson-tiler/convert.js.map +0 -1
  114. package/dist/esm/lib/geojson-tiler/feature.js.map +0 -1
  115. package/dist/esm/lib/geojson-tiler/geojson-tiler.js.map +0 -1
  116. package/dist/esm/lib/geojson-tiler/simplify.js.map +0 -1
  117. package/dist/esm/lib/geojson-tiler/tile.js.map +0 -1
  118. package/dist/esm/lib/geojson-tiler/transform.js.map +0 -1
  119. package/dist/esm/lib/geojson-tiler/wrap.js.map +0 -1
  120. package/dist/esm/lib/mapbox-vector-tile/LICENSE.txt +0 -31
  121. package/dist/esm/lib/mapbox-vector-tile/vector-tile-feature.js.map +0 -1
  122. package/dist/esm/lib/mapbox-vector-tile/vector-tile-layer.js.map +0 -1
  123. package/dist/esm/lib/mapbox-vector-tile/vector-tile.js.map +0 -1
  124. package/dist/esm/lib/parse-mvt.js.map +0 -1
  125. package/dist/esm/lib/parse-tilejson.js.map +0 -1
  126. package/dist/esm/lib/types.js.map +0 -1
  127. package/dist/esm/mvt-loader.js.map +0 -1
  128. package/dist/esm/tilejson-loader.js.map +0 -1
  129. package/dist/esm/workers/mvt-worker.js.map +0 -1
  130. package/src/bundle.ts +0 -4
  131. /package/dist/{esm/helpers → helpers}/binary-util-functions.js +0 -0
  132. /package/dist/{esm/helpers → helpers}/mapbox-util-functions.js +0 -0
  133. /package/dist/{es5/lib → lib}/binary-vector-tile/LICENSE.txt +0 -0
  134. /package/dist/{es5/lib → lib}/geojson-tiler/LICENSE +0 -0
  135. /package/dist/{esm/lib → lib}/geojson-tiler/feature.js +0 -0
  136. /package/dist/{esm/lib → lib}/geojson-tiler/simplify.js +0 -0
  137. /package/dist/{esm/lib → lib}/geojson-tiler/tile.js +0 -0
  138. /package/dist/{esm/lib → lib}/geojson-tiler/transform.js +0 -0
  139. /package/dist/{es5/lib → lib}/mapbox-vector-tile/LICENSE.txt +0 -0
  140. /package/dist/{esm/lib → lib}/parse-tilejson.js +0 -0
  141. /package/dist/{esm/lib → lib}/types.js +0 -0
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _vectorTileFeature = _interopRequireDefault(require("./vector-tile-feature"));
12
- var VectorTileLayer = function () {
13
- function VectorTileLayer(pbf, end) {
14
- (0, _classCallCheck2.default)(this, VectorTileLayer);
15
- (0, _defineProperty2.default)(this, "version", void 0);
16
- (0, _defineProperty2.default)(this, "name", void 0);
17
- (0, _defineProperty2.default)(this, "extent", void 0);
18
- (0, _defineProperty2.default)(this, "length", void 0);
19
- (0, _defineProperty2.default)(this, "_pbf", void 0);
20
- (0, _defineProperty2.default)(this, "_keys", void 0);
21
- (0, _defineProperty2.default)(this, "_values", void 0);
22
- (0, _defineProperty2.default)(this, "_features", void 0);
23
- this.version = 1;
24
- this.name = '';
25
- this.extent = 4096;
26
- this.length = 0;
27
- this._pbf = pbf;
28
- this._keys = [];
29
- this._values = [];
30
- this._features = [];
31
- pbf.readFields(readLayer, this, end);
32
- this.length = this._features.length;
33
- }
34
- (0, _createClass2.default)(VectorTileLayer, [{
35
- key: "feature",
36
- value: function feature(i, geometryInfo) {
37
- if (i < 0 || i >= this._features.length) {
38
- throw new Error('feature index out of bounds');
39
- }
40
- this._pbf.pos = this._features[i];
41
- var end = this._pbf.readVarint() + this._pbf.pos;
42
- return new _vectorTileFeature.default(this._pbf, end, this.extent, this._keys, this._values, geometryInfo);
43
- }
44
- }]);
45
- return VectorTileLayer;
46
- }();
47
- exports.default = VectorTileLayer;
48
- function readLayer(tag, layer, pbf) {
49
- if (layer && pbf) {
50
- 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));
51
- }
52
- }
53
- function readValueMessage(pbf) {
54
- var value = null;
55
- var end = pbf.readVarint() + pbf.pos;
56
- while (pbf.pos < end) {
57
- var tag = pbf.readVarint() >> 3;
58
- 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;
59
- }
60
- return value;
61
- }
62
- //# sourceMappingURL=vector-tile-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector-tile-layer.js","names":["_vectorTileFeature","_interopRequireDefault","require","VectorTileLayer","pbf","end","_classCallCheck2","default","_defineProperty2","version","name","extent","length","_pbf","_keys","_values","_features","readFields","readLayer","_createClass2","key","value","feature","i","geometryInfo","Error","pos","readVarint","VectorTileFeature","exports","tag","layer","readString","push","readValueMessage","readFloat","readDouble","readVarint64","readSVarint","readBoolean"],"sources":["../../../../src/lib/binary-vector-tile/vector-tile-layer.ts"],"sourcesContent":["/* eslint-disable indent */\n// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\n\nimport VectorTileFeature from './vector-tile-feature';\nimport Protobuf from 'pbf';\nimport {GeojsonGeometryInfo} from '@loaders.gl/schema';\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 *\n * @param index\n * @param geometryInfo\n * @returns {VectorTileFeature}\n */\n feature(i: number, geometryInfo: GeojsonGeometryInfo): 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(\n this._pbf,\n end,\n this.extent,\n this._keys,\n this._values,\n geometryInfo\n );\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"],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _vectorTileLayer = _interopRequireDefault(require("./vector-tile-layer"));
12
- var VectorTile = (0, _createClass2.default)(function VectorTile(pbf, end) {
13
- (0, _classCallCheck2.default)(this, VectorTile);
14
- (0, _defineProperty2.default)(this, "layers", void 0);
15
- this.layers = pbf.readFields(readTile, {}, end);
16
- });
17
- exports.default = VectorTile;
18
- function readTile(tag, layers, pbf) {
19
- if (tag === 3) {
20
- if (pbf) {
21
- var layer = new _vectorTileLayer.default(pbf, pbf.readVarint() + pbf.pos);
22
- if (layer.length && layers) {
23
- layers[layer.name] = layer;
24
- }
25
- }
26
- }
27
- }
28
- //# sourceMappingURL=vector-tile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector-tile.js","names":["_vectorTileLayer","_interopRequireDefault","require","VectorTile","_createClass2","default","pbf","end","_classCallCheck2","_defineProperty2","layers","readFields","readTile","exports","tag","layer","VectorTileLayer","readVarint","pos","length","name"],"sources":["../../../../src/lib/binary-vector-tile/vector-tile.ts"],"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"],"mappings":";;;;;;;;;;AAEA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAkD,IAG7BC,UAAU,OAAAC,aAAA,CAAAC,OAAA,EAE7B,SAAAF,WAAYG,GAAa,EAAEC,GAAY,EAAE;EAAA,IAAAC,gBAAA,CAAAH,OAAA,QAAAF,UAAA;EAAA,IAAAM,gBAAA,CAAAJ,OAAA;EACvC,IAAI,CAACK,MAAM,GAAGJ,GAAG,CAACK,UAAU,CAACC,QAAQ,EAAE,CAAC,CAAC,EAAEL,GAAG,CAAC;AACjD,CAAC;AAAAM,OAAA,CAAAR,OAAA,GAAAF,UAAA;AASH,SAASS,QAAQA,CAACE,GAAW,EAAEJ,MAAuC,EAAEJ,GAAc,EAAQ;EAC5F,IAAIQ,GAAG,KAAK,CAAC,EAAE;IACb,IAAIR,GAAG,EAAE;MACP,IAAMS,KAAK,GAAG,IAAIC,wBAAe,CAACV,GAAG,EAAEA,GAAG,CAACW,UAAU,CAAC,CAAC,GAAGX,GAAG,CAACY,GAAG,CAAC;MAClE,IAAIH,KAAK,CAACI,MAAM,IAAIT,MAAM,EAAE;QAC1BA,MAAM,CAACK,KAAK,CAACK,IAAI,CAAC,GAAGL,KAAK;MAC5B;IACF;EACF;AACF"}
@@ -1,237 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.clip = clip;
8
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
- var _feature = require("./feature");
17
- 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); }; }
18
- 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; } }
19
- 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; } } }; }
20
- 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); }
21
- 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; }
22
- function clip(features, scale, k1, k2, axis, minAll, maxAll, options) {
23
- k1 /= scale;
24
- k2 /= scale;
25
- if (minAll >= k1 && maxAll < k2) {
26
- return features;
27
- } else if (maxAll < k1 || minAll >= k2) {
28
- return null;
29
- }
30
- var clipped = [];
31
- var _iterator = _createForOfIteratorHelper(features),
32
- _step;
33
- try {
34
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
35
- var feature = _step.value;
36
- var geometry = feature.geometry;
37
- var type = feature.type;
38
- var min = axis === 0 ? feature.minX : feature.minY;
39
- var max = axis === 0 ? feature.maxX : feature.maxY;
40
- if (min >= k1 && max < k2) {
41
- clipped.push(feature);
42
- continue;
43
- } else if (max < k1 || min >= k2) {
44
- continue;
45
- }
46
- var newGeometry = [];
47
- if (type === 'Point' || type === 'MultiPoint') {
48
- clipPoints(geometry, newGeometry, k1, k2, axis);
49
- } else if (type === 'LineString') {
50
- clipLine(geometry, newGeometry, k1, k2, axis, false, options.lineMetrics);
51
- } else if (type === 'MultiLineString') {
52
- clipLines(geometry, newGeometry, k1, k2, axis, false);
53
- } else if (type === 'Polygon') {
54
- clipLines(geometry, newGeometry, k1, k2, axis, true);
55
- } else if (type === 'MultiPolygon') {
56
- var _iterator2 = _createForOfIteratorHelper(geometry),
57
- _step2;
58
- try {
59
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
60
- var polygon = _step2.value;
61
- var newPolygon = [];
62
- clipLines(polygon, newPolygon, k1, k2, axis, true);
63
- if (newPolygon.length) {
64
- newGeometry.push(newPolygon);
65
- }
66
- }
67
- } catch (err) {
68
- _iterator2.e(err);
69
- } finally {
70
- _iterator2.f();
71
- }
72
- }
73
- if (newGeometry.length) {
74
- if (options.lineMetrics && type === 'LineString') {
75
- var _iterator3 = _createForOfIteratorHelper(newGeometry),
76
- _step3;
77
- try {
78
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
79
- var line = _step3.value;
80
- clipped.push((0, _feature.createFeature)(feature.id, type, line, feature.tags));
81
- }
82
- } catch (err) {
83
- _iterator3.e(err);
84
- } finally {
85
- _iterator3.f();
86
- }
87
- continue;
88
- }
89
- if (type === 'LineString' || type === 'MultiLineString') {
90
- if (newGeometry.length === 1) {
91
- type = 'LineString';
92
- newGeometry = newGeometry[0];
93
- } else {
94
- type = 'MultiLineString';
95
- }
96
- }
97
- if (type === 'Point' || type === 'MultiPoint') {
98
- type = newGeometry.length === 3 ? 'Point' : 'MultiPoint';
99
- }
100
- clipped.push((0, _feature.createFeature)(feature.id, type, newGeometry, feature.tags));
101
- }
102
- }
103
- } catch (err) {
104
- _iterator.e(err);
105
- } finally {
106
- _iterator.f();
107
- }
108
- return clipped.length ? clipped : null;
109
- }
110
- function clipPoints(geom, newGeom, k1, k2, axis) {
111
- for (var i = 0; i < geom.length; i += 3) {
112
- var a = geom[i + axis];
113
- if (a >= k1 && a <= k2) {
114
- addPoint(newGeom, geom[i], geom[i + 1], geom[i + 2]);
115
- }
116
- }
117
- }
118
- function clipLine(geom, newGeom, k1, k2, axis, isPolygon, trackMetrics) {
119
- var slice = newSlice(geom);
120
- var intersect = axis === 0 ? intersectX : intersectY;
121
- var len = geom.start;
122
- var segLen;
123
- var t;
124
- for (var i = 0; i < geom.length - 3; i += 3) {
125
- var _ax = geom[i];
126
- var _ay = geom[i + 1];
127
- var _az = geom[i + 2];
128
- var bx = geom[i + 3];
129
- var by = geom[i + 4];
130
- var _a = axis === 0 ? _ax : _ay;
131
- var b = axis === 0 ? bx : by;
132
- var exited = false;
133
- if (trackMetrics) {
134
- segLen = Math.sqrt(Math.pow(_ax - bx, 2) + Math.pow(_ay - by, 2));
135
- }
136
- if (_a < k1) {
137
- if (b > k1) {
138
- t = intersect(slice, _ax, _ay, bx, by, k1);
139
- if (trackMetrics) {
140
- slice.start = len + segLen * t;
141
- }
142
- }
143
- } else if (_a > k2) {
144
- if (b < k2) {
145
- t = intersect(slice, _ax, _ay, bx, by, k2);
146
- if (trackMetrics) {
147
- slice.start = len + segLen * t;
148
- }
149
- }
150
- } else {
151
- addPoint(slice, _ax, _ay, _az);
152
- }
153
- if (b < k1 && _a >= k1) {
154
- t = intersect(slice, _ax, _ay, bx, by, k1);
155
- exited = true;
156
- }
157
- if (b > k2 && _a <= k2) {
158
- t = intersect(slice, _ax, _ay, bx, by, k2);
159
- exited = true;
160
- }
161
- if (!isPolygon && exited) {
162
- if (trackMetrics) {
163
- slice.end = len + segLen * t;
164
- }
165
- newGeom.push(slice);
166
- slice = newSlice(geom);
167
- }
168
- if (trackMetrics) {
169
- len += segLen;
170
- }
171
- }
172
- var last = geom.length - 3;
173
- var ax = geom[last];
174
- var ay = geom[last + 1];
175
- var az = geom[last + 2];
176
- var a = axis === 0 ? ax : ay;
177
- if (a >= k1 && a <= k2) addPoint(slice, ax, ay, az);
178
- last = slice.length - 3;
179
- if (isPolygon && last >= 3 && (slice[last] !== slice[0] || slice[last + 1] !== slice[1])) {
180
- addPoint(slice, slice[0], slice[1], slice[2]);
181
- }
182
- if (slice.length) {
183
- newGeom.push(slice);
184
- }
185
- }
186
- var Slice = function (_Array) {
187
- (0, _inherits2.default)(Slice, _Array);
188
- var _super = _createSuper(Slice);
189
- function Slice() {
190
- var _this;
191
- (0, _classCallCheck2.default)(this, Slice);
192
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
193
- args[_key] = arguments[_key];
194
- }
195
- _this = _super.call.apply(_super, [this].concat(args));
196
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "size", void 0);
197
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "start", void 0);
198
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "end", void 0);
199
- return _this;
200
- }
201
- return (0, _createClass2.default)(Slice);
202
- }((0, _wrapNativeSuper2.default)(Array));
203
- function newSlice(line) {
204
- var slice = [];
205
- slice.size = line.size;
206
- slice.start = line.start;
207
- slice.end = line.end;
208
- return slice;
209
- }
210
- function clipLines(geom, newGeom, k1, k2, axis, isPolygon) {
211
- var _iterator4 = _createForOfIteratorHelper(geom),
212
- _step4;
213
- try {
214
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
215
- var line = _step4.value;
216
- clipLine(line, newGeom, k1, k2, axis, isPolygon, false);
217
- }
218
- } catch (err) {
219
- _iterator4.e(err);
220
- } finally {
221
- _iterator4.f();
222
- }
223
- }
224
- function addPoint(out, x, y, z) {
225
- out.push(x, y, z);
226
- }
227
- function intersectX(out, ax, ay, bx, by, x) {
228
- var t = (x - ax) / (bx - ax);
229
- addPoint(out, x, ay + (by - ay) * t, 1);
230
- return t;
231
- }
232
- function intersectY(out, ax, ay, bx, by, y) {
233
- var t = (y - ay) / (by - ay);
234
- addPoint(out, ax + (bx - ax) * t, y, 1);
235
- return t;
236
- }
237
- //# sourceMappingURL=clip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clip.js","names":["_feature","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","return","minLen","_arrayLikeToArray","Object","toString","slice","name","from","test","arr","len","arr2","clip","features","scale","k1","k2","axis","minAll","maxAll","options","clipped","_iterator","_step","feature","geometry","type","min","minX","minY","max","maxX","maxY","push","newGeometry","clipPoints","clipLine","lineMetrics","clipLines","_iterator2","_step2","polygon","newPolygon","_iterator3","_step3","line","createFeature","id","tags","geom","newGeom","a","addPoint","isPolygon","trackMetrics","newSlice","intersect","intersectX","intersectY","start","segLen","t","ax","ay","az","bx","by","b","exited","Math","sqrt","pow","end","last","Slice","_Array","_inherits2","_super","_this","_classCallCheck2","_len","args","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","_wrapNativeSuper2","size","_iterator4","_step4","out","x","y","z"],"sources":["../../../../src/lib/geojson-tiler/clip.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/mapbox/geojson-vt under compatible ISC license\n\nimport type {GeoJSONTileFeature} from './tile';\nimport {createFeature} from './feature';\n\n/* eslint-disable no-continue */\n\n/**\n * Clip features between two vertical or horizontal axis-parallel lines:\n * | |\n * ___|___ | /\n * / | \\____|____/\n * | |\n *\n * @param k1 and k2 are the line coordinates\n * @param axis: 0 for x, 1 for y\n * @param minAll and maxAll: minimum and maximum coordinate value for all features\n */\n// eslint-disable-next-line max-params, complexity, max-statements\nexport function clip(\n features: GeoJSONTileFeature[],\n scale: number,\n k1: number,\n k2: number,\n axis,\n minAll: number,\n maxAll: number,\n options: {lineMetrics: boolean}\n): GeoJSONTileFeature[] | null {\n k1 /= scale;\n k2 /= scale;\n\n if (minAll >= k1 && maxAll < k2) {\n return features;\n }\n // trivial accept\n else if (maxAll < k1 || minAll >= k2) {\n return null; // trivial reject\n }\n\n const clipped: GeoJSONTileFeature[] = [];\n\n for (const feature of features) {\n const geometry = feature.geometry;\n let type = feature.type;\n\n const min = axis === 0 ? feature.minX : feature.minY;\n const max = axis === 0 ? feature.maxX : feature.maxY;\n\n if (min >= k1 && max < k2) {\n // trivial accept\n clipped.push(feature);\n continue;\n } else if (max < k1 || min >= k2) {\n // trivial reject\n continue;\n }\n\n let newGeometry: number[][][] | number[][] = [];\n\n if (type === 'Point' || type === 'MultiPoint') {\n clipPoints(geometry, newGeometry, k1, k2, axis);\n } else if (type === 'LineString') {\n clipLine(geometry, newGeometry, k1, k2, axis, false, options.lineMetrics);\n } else if (type === 'MultiLineString') {\n clipLines(geometry, newGeometry, k1, k2, axis, false);\n } else if (type === 'Polygon') {\n clipLines(geometry, newGeometry, k1, k2, axis, true);\n } else if (type === 'MultiPolygon') {\n for (const polygon of geometry) {\n const newPolygon = [];\n clipLines(polygon, newPolygon, k1, k2, axis, true);\n if (newPolygon.length) {\n newGeometry.push(newPolygon);\n }\n }\n }\n\n if (newGeometry.length) {\n if (options.lineMetrics && type === 'LineString') {\n for (const line of newGeometry) {\n clipped.push(createFeature(feature.id, type, line, feature.tags));\n }\n continue;\n }\n\n if (type === 'LineString' || type === 'MultiLineString') {\n if (newGeometry.length === 1) {\n type = 'LineString';\n // @ts-expect-error TODO - use proper GeoJSON geometry types\n newGeometry = newGeometry[0];\n } else {\n type = 'MultiLineString';\n }\n }\n if (type === 'Point' || type === 'MultiPoint') {\n type = newGeometry.length === 3 ? 'Point' : 'MultiPoint';\n }\n\n clipped.push(createFeature(feature.id, type, newGeometry, feature.tags));\n }\n }\n\n return clipped.length ? clipped : null;\n}\n\nfunction clipPoints(geom, newGeom, k1: number, k2: number, axis): void {\n for (let i = 0; i < geom.length; i += 3) {\n const a = geom[i + axis];\n\n if (a >= k1 && a <= k2) {\n addPoint(newGeom, geom[i], geom[i + 1], geom[i + 2]);\n }\n }\n}\n\n// eslint-disable-next-line max-params, complexity, max-statements\nfunction clipLine(\n geom,\n newGeom,\n k1: number,\n k2: number,\n axis,\n isPolygon: boolean,\n trackMetrics: boolean\n): void {\n let slice = newSlice(geom);\n const intersect = axis === 0 ? intersectX : intersectY;\n let len = geom.start;\n let segLen;\n let t;\n\n for (let i = 0; i < geom.length - 3; i += 3) {\n const ax = geom[i];\n const ay = geom[i + 1];\n const az = geom[i + 2];\n const bx = geom[i + 3];\n const by = geom[i + 4];\n const a = axis === 0 ? ax : ay;\n const b = axis === 0 ? bx : by;\n let exited = false;\n\n if (trackMetrics) {\n segLen = Math.sqrt(Math.pow(ax - bx, 2) + Math.pow(ay - by, 2));\n }\n\n if (a < k1) {\n // ---|--> | (line enters the clip region from the left)\n if (b > k1) {\n t = intersect(slice, ax, ay, bx, by, k1);\n if (trackMetrics) {\n slice.start = len + segLen * t;\n }\n }\n } else if (a > k2) {\n // | <--|--- (line enters the clip region from the right)\n if (b < k2) {\n t = intersect(slice, ax, ay, bx, by, k2);\n if (trackMetrics) {\n slice.start = len + segLen * t;\n }\n }\n } else {\n addPoint(slice, ax, ay, az);\n }\n if (b < k1 && a >= k1) {\n // <--|--- | or <--|-----|--- (line exits the clip region on the left)\n t = intersect(slice, ax, ay, bx, by, k1);\n exited = true;\n }\n if (b > k2 && a <= k2) {\n // | ---|--> or ---|-----|--> (line exits the clip region on the right)\n t = intersect(slice, ax, ay, bx, by, k2);\n exited = true;\n }\n\n if (!isPolygon && exited) {\n if (trackMetrics) {\n slice.end = len + segLen * t;\n }\n newGeom.push(slice);\n slice = newSlice(geom);\n }\n\n if (trackMetrics) {\n len += segLen;\n }\n }\n\n // add the last point\n let last = geom.length - 3;\n const ax = geom[last];\n const ay = geom[last + 1];\n const az = geom[last + 2];\n const a = axis === 0 ? ax : ay;\n if (a >= k1 && a <= k2) addPoint(slice, ax, ay, az);\n\n // close the polygon if its endpoints are not the same after clipping\n last = slice.length - 3;\n if (isPolygon && last >= 3 && (slice[last] !== slice[0] || slice[last + 1] !== slice[1])) {\n addPoint(slice, slice[0], slice[1], slice[2]);\n }\n\n // add the final slice\n if (slice.length) {\n newGeom.push(slice);\n }\n}\n\nclass Slice extends Array<number> {\n size?: number;\n start?: number;\n end?: number;\n}\n\nfunction newSlice(line: {size: number; start: number; end: number}): Slice {\n const slice: Slice = [];\n slice.size = line.size;\n slice.start = line.start;\n slice.end = line.end;\n return slice;\n}\n\n// eslint-disable-next-line max-params\nfunction clipLines(geom, newGeom, k1: number, k2: number, axis, isPolygon: boolean): void {\n for (const line of geom) {\n clipLine(line, newGeom, k1, k2, axis, isPolygon, false);\n }\n}\n\nfunction addPoint(out: number[], x: number, y: number, z: number): void {\n out.push(x, y, z);\n}\n\n// eslint-disable-next-line max-params\nfunction intersectX(out, ax: number, ay: number, bx: number, by: number, x: number): number {\n const t = (x - ax) / (bx - ax);\n addPoint(out, x, ay + (by - ay) * t, 1);\n return t;\n}\n\n// eslint-disable-next-line max-params\nfunction intersectY(out, ax: number, ay: number, bx: number, by: number, y): number {\n const t = (y - ay) / (by - ay);\n addPoint(out, ax + (bx - ax) * t, y, 1);\n return t;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AAAwC,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAP,KAAA,EAAAQ,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAS,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAR,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAQ,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,SAAAC,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAX,CAAA,WAAAA,EAAAiB,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAN,CAAA,gBAAAO,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAT,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAL,IAAA,CAAAG,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAS,IAAA,GAAAnB,EAAA,CAAAoB,IAAA,IAAAJ,gBAAA,GAAAG,IAAA,CAAAR,IAAA,SAAAQ,IAAA,KAAAvB,CAAA,WAAAA,EAAAyB,GAAA,IAAAJ,MAAA,SAAAC,GAAA,GAAAG,GAAA,KAAAP,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAhB,EAAA,CAAAsB,MAAA,UAAAtB,EAAA,CAAAsB,MAAA,oBAAAL,MAAA,QAAAC,GAAA;AAAA,SAAAb,4BAAAP,CAAA,EAAAyB,MAAA,SAAAzB,CAAA,qBAAAA,CAAA,sBAAA0B,iBAAA,CAAA1B,CAAA,EAAAyB,MAAA,OAAAb,CAAA,GAAAe,MAAA,CAAAhC,SAAA,CAAAiC,QAAA,CAAA/B,IAAA,CAAAG,CAAA,EAAA6B,KAAA,aAAAjB,CAAA,iBAAAZ,CAAA,CAAAd,WAAA,EAAA0B,CAAA,GAAAZ,CAAA,CAAAd,WAAA,CAAA4C,IAAA,MAAAlB,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAA0B,IAAA,CAAA/B,CAAA,OAAAY,CAAA,+DAAAoB,IAAA,CAAApB,CAAA,UAAAc,iBAAA,CAAA1B,CAAA,EAAAyB,MAAA;AAAA,SAAAC,kBAAAO,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAAzB,MAAA,EAAA0B,GAAA,GAAAD,GAAA,CAAAzB,MAAA,WAAAC,CAAA,MAAA0B,IAAA,OAAA9B,KAAA,CAAA6B,GAAA,GAAAzB,CAAA,GAAAyB,GAAA,EAAAzB,CAAA,IAAA0B,IAAA,CAAA1B,CAAA,IAAAwB,GAAA,CAAAxB,CAAA,UAAA0B,IAAA;AAgBjC,SAASC,IAAIA,CAClBC,QAA8B,EAC9BC,KAAa,EACbC,EAAU,EACVC,EAAU,EACVC,IAAI,EACJC,MAAc,EACdC,MAAc,EACdC,OAA+B,EACF;EAC7BL,EAAE,IAAID,KAAK;EACXE,EAAE,IAAIF,KAAK;EAEX,IAAII,MAAM,IAAIH,EAAE,IAAII,MAAM,GAAGH,EAAE,EAAE;IAC/B,OAAOH,QAAQ;EACjB,CAAC,MAEI,IAAIM,MAAM,GAAGJ,EAAE,IAAIG,MAAM,IAAIF,EAAE,EAAE;IACpC,OAAO,IAAI;EACb;EAEA,IAAMK,OAA6B,GAAG,EAAE;EAAC,IAAAC,SAAA,GAAA/C,0BAAA,CAEnBsC,QAAQ;IAAAU,KAAA;EAAA;IAA9B,KAAAD,SAAA,CAAAnC,CAAA,MAAAoC,KAAA,GAAAD,SAAA,CAAAlC,CAAA,IAAAC,IAAA,GAAgC;MAAA,IAArBmC,OAAO,GAAAD,KAAA,CAAAjC,KAAA;MAChB,IAAMmC,QAAQ,GAAGD,OAAO,CAACC,QAAQ;MACjC,IAAIC,IAAI,GAAGF,OAAO,CAACE,IAAI;MAEvB,IAAMC,GAAG,GAAGV,IAAI,KAAK,CAAC,GAAGO,OAAO,CAACI,IAAI,GAAGJ,OAAO,CAACK,IAAI;MACpD,IAAMC,GAAG,GAAGb,IAAI,KAAK,CAAC,GAAGO,OAAO,CAACO,IAAI,GAAGP,OAAO,CAACQ,IAAI;MAEpD,IAAIL,GAAG,IAAIZ,EAAE,IAAIe,GAAG,GAAGd,EAAE,EAAE;QAEzBK,OAAO,CAACY,IAAI,CAACT,OAAO,CAAC;QACrB;MACF,CAAC,MAAM,IAAIM,GAAG,GAAGf,EAAE,IAAIY,GAAG,IAAIX,EAAE,EAAE;QAEhC;MACF;MAEA,IAAIkB,WAAsC,GAAG,EAAE;MAE/C,IAAIR,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,YAAY,EAAE;QAC7CS,UAAU,CAACV,QAAQ,EAAES,WAAW,EAAEnB,EAAE,EAAEC,EAAE,EAAEC,IAAI,CAAC;MACjD,CAAC,MAAM,IAAIS,IAAI,KAAK,YAAY,EAAE;QAChCU,QAAQ,CAACX,QAAQ,EAAES,WAAW,EAAEnB,EAAE,EAAEC,EAAE,EAAEC,IAAI,EAAE,KAAK,EAAEG,OAAO,CAACiB,WAAW,CAAC;MAC3E,CAAC,MAAM,IAAIX,IAAI,KAAK,iBAAiB,EAAE;QACrCY,SAAS,CAACb,QAAQ,EAAES,WAAW,EAAEnB,EAAE,EAAEC,EAAE,EAAEC,IAAI,EAAE,KAAK,CAAC;MACvD,CAAC,MAAM,IAAIS,IAAI,KAAK,SAAS,EAAE;QAC7BY,SAAS,CAACb,QAAQ,EAAES,WAAW,EAAEnB,EAAE,EAAEC,EAAE,EAAEC,IAAI,EAAE,IAAI,CAAC;MACtD,CAAC,MAAM,IAAIS,IAAI,KAAK,cAAc,EAAE;QAAA,IAAAa,UAAA,GAAAhE,0BAAA,CACZkD,QAAQ;UAAAe,MAAA;QAAA;UAA9B,KAAAD,UAAA,CAAApD,CAAA,MAAAqD,MAAA,GAAAD,UAAA,CAAAnD,CAAA,IAAAC,IAAA,GAAgC;YAAA,IAArBoD,OAAO,GAAAD,MAAA,CAAAlD,KAAA;YAChB,IAAMoD,UAAU,GAAG,EAAE;YACrBJ,SAAS,CAACG,OAAO,EAAEC,UAAU,EAAE3B,EAAE,EAAEC,EAAE,EAAEC,IAAI,EAAE,IAAI,CAAC;YAClD,IAAIyB,UAAU,CAAC1D,MAAM,EAAE;cACrBkD,WAAW,CAACD,IAAI,CAACS,UAAU,CAAC;YAC9B;UACF;QAAC,SAAA9C,GAAA;UAAA2C,UAAA,CAAAjE,CAAA,CAAAsB,GAAA;QAAA;UAAA2C,UAAA,CAAA/C,CAAA;QAAA;MACH;MAEA,IAAI0C,WAAW,CAAClD,MAAM,EAAE;QACtB,IAAIoC,OAAO,CAACiB,WAAW,IAAIX,IAAI,KAAK,YAAY,EAAE;UAAA,IAAAiB,UAAA,GAAApE,0BAAA,CAC7B2D,WAAW;YAAAU,MAAA;UAAA;YAA9B,KAAAD,UAAA,CAAAxD,CAAA,MAAAyD,MAAA,GAAAD,UAAA,CAAAvD,CAAA,IAAAC,IAAA,GAAgC;cAAA,IAArBwD,IAAI,GAAAD,MAAA,CAAAtD,KAAA;cACb+B,OAAO,CAACY,IAAI,CAAC,IAAAa,sBAAa,EAACtB,OAAO,CAACuB,EAAE,EAAErB,IAAI,EAAEmB,IAAI,EAAErB,OAAO,CAACwB,IAAI,CAAC,CAAC;YACnE;UAAC,SAAApD,GAAA;YAAA+C,UAAA,CAAArE,CAAA,CAAAsB,GAAA;UAAA;YAAA+C,UAAA,CAAAnD,CAAA;UAAA;UACD;QACF;QAEA,IAAIkC,IAAI,KAAK,YAAY,IAAIA,IAAI,KAAK,iBAAiB,EAAE;UACvD,IAAIQ,WAAW,CAAClD,MAAM,KAAK,CAAC,EAAE;YAC5B0C,IAAI,GAAG,YAAY;YAEnBQ,WAAW,GAAGA,WAAW,CAAC,CAAC,CAAC;UAC9B,CAAC,MAAM;YACLR,IAAI,GAAG,iBAAiB;UAC1B;QACF;QACA,IAAIA,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,YAAY,EAAE;UAC7CA,IAAI,GAAGQ,WAAW,CAAClD,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,YAAY;QAC1D;QAEAqC,OAAO,CAACY,IAAI,CAAC,IAAAa,sBAAa,EAACtB,OAAO,CAACuB,EAAE,EAAErB,IAAI,EAAEQ,WAAW,EAAEV,OAAO,CAACwB,IAAI,CAAC,CAAC;MAC1E;IACF;EAAC,SAAApD,GAAA;IAAA0B,SAAA,CAAAhD,CAAA,CAAAsB,GAAA;EAAA;IAAA0B,SAAA,CAAA9B,CAAA;EAAA;EAED,OAAO6B,OAAO,CAACrC,MAAM,GAAGqC,OAAO,GAAG,IAAI;AACxC;AAEA,SAASc,UAAUA,CAACc,IAAI,EAAEC,OAAO,EAAEnC,EAAU,EAAEC,EAAU,EAAEC,IAAI,EAAQ;EACrE,KAAK,IAAIhC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgE,IAAI,CAACjE,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;IACvC,IAAMkE,CAAC,GAAGF,IAAI,CAAChE,CAAC,GAAGgC,IAAI,CAAC;IAExB,IAAIkC,CAAC,IAAIpC,EAAE,IAAIoC,CAAC,IAAInC,EAAE,EAAE;MACtBoC,QAAQ,CAACF,OAAO,EAAED,IAAI,CAAChE,CAAC,CAAC,EAAEgE,IAAI,CAAChE,CAAC,GAAG,CAAC,CAAC,EAAEgE,IAAI,CAAChE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD;EACF;AACF;AAGA,SAASmD,QAAQA,CACfa,IAAI,EACJC,OAAO,EACPnC,EAAU,EACVC,EAAU,EACVC,IAAI,EACJoC,SAAkB,EAClBC,YAAqB,EACf;EACN,IAAIjD,KAAK,GAAGkD,QAAQ,CAACN,IAAI,CAAC;EAC1B,IAAMO,SAAS,GAAGvC,IAAI,KAAK,CAAC,GAAGwC,UAAU,GAAGC,UAAU;EACtD,IAAIhD,GAAG,GAAGuC,IAAI,CAACU,KAAK;EACpB,IAAIC,MAAM;EACV,IAAIC,CAAC;EAEL,KAAK,IAAI5E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgE,IAAI,CAACjE,MAAM,GAAG,CAAC,EAAEC,CAAC,IAAI,CAAC,EAAE;IAC3C,IAAM6E,GAAE,GAAGb,IAAI,CAAChE,CAAC,CAAC;IAClB,IAAM8E,GAAE,GAAGd,IAAI,CAAChE,CAAC,GAAG,CAAC,CAAC;IACtB,IAAM+E,GAAE,GAAGf,IAAI,CAAChE,CAAC,GAAG,CAAC,CAAC;IACtB,IAAMgF,EAAE,GAAGhB,IAAI,CAAChE,CAAC,GAAG,CAAC,CAAC;IACtB,IAAMiF,EAAE,GAAGjB,IAAI,CAAChE,CAAC,GAAG,CAAC,CAAC;IACtB,IAAMkE,EAAC,GAAGlC,IAAI,KAAK,CAAC,GAAG6C,GAAE,GAAGC,GAAE;IAC9B,IAAMI,CAAC,GAAGlD,IAAI,KAAK,CAAC,GAAGgD,EAAE,GAAGC,EAAE;IAC9B,IAAIE,MAAM,GAAG,KAAK;IAElB,IAAId,YAAY,EAAE;MAChBM,MAAM,GAAGS,IAAI,CAACC,IAAI,CAACD,IAAI,CAACE,GAAG,CAACT,GAAE,GAAGG,EAAE,EAAE,CAAC,CAAC,GAAGI,IAAI,CAACE,GAAG,CAACR,GAAE,GAAGG,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE;IAEA,IAAIf,EAAC,GAAGpC,EAAE,EAAE;MAEV,IAAIoD,CAAC,GAAGpD,EAAE,EAAE;QACV8C,CAAC,GAAGL,SAAS,CAACnD,KAAK,EAAEyD,GAAE,EAAEC,GAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEnD,EAAE,CAAC;QACxC,IAAIuC,YAAY,EAAE;UAChBjD,KAAK,CAACsD,KAAK,GAAGjD,GAAG,GAAGkD,MAAM,GAAGC,CAAC;QAChC;MACF;IACF,CAAC,MAAM,IAAIV,EAAC,GAAGnC,EAAE,EAAE;MAEjB,IAAImD,CAAC,GAAGnD,EAAE,EAAE;QACV6C,CAAC,GAAGL,SAAS,CAACnD,KAAK,EAAEyD,GAAE,EAAEC,GAAE,EAAEE,EAAE,EAAEC,EAAE,EAAElD,EAAE,CAAC;QACxC,IAAIsC,YAAY,EAAE;UAChBjD,KAAK,CAACsD,KAAK,GAAGjD,GAAG,GAAGkD,MAAM,GAAGC,CAAC;QAChC;MACF;IACF,CAAC,MAAM;MACLT,QAAQ,CAAC/C,KAAK,EAAEyD,GAAE,EAAEC,GAAE,EAAEC,GAAE,CAAC;IAC7B;IACA,IAAIG,CAAC,GAAGpD,EAAE,IAAIoC,EAAC,IAAIpC,EAAE,EAAE;MAErB8C,CAAC,GAAGL,SAAS,CAACnD,KAAK,EAAEyD,GAAE,EAAEC,GAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEnD,EAAE,CAAC;MACxCqD,MAAM,GAAG,IAAI;IACf;IACA,IAAID,CAAC,GAAGnD,EAAE,IAAImC,EAAC,IAAInC,EAAE,EAAE;MAErB6C,CAAC,GAAGL,SAAS,CAACnD,KAAK,EAAEyD,GAAE,EAAEC,GAAE,EAAEE,EAAE,EAAEC,EAAE,EAAElD,EAAE,CAAC;MACxCoD,MAAM,GAAG,IAAI;IACf;IAEA,IAAI,CAACf,SAAS,IAAIe,MAAM,EAAE;MACxB,IAAId,YAAY,EAAE;QAChBjD,KAAK,CAACmE,GAAG,GAAG9D,GAAG,GAAGkD,MAAM,GAAGC,CAAC;MAC9B;MACAX,OAAO,CAACjB,IAAI,CAAC5B,KAAK,CAAC;MACnBA,KAAK,GAAGkD,QAAQ,CAACN,IAAI,CAAC;IACxB;IAEA,IAAIK,YAAY,EAAE;MAChB5C,GAAG,IAAIkD,MAAM;IACf;EACF;EAGA,IAAIa,IAAI,GAAGxB,IAAI,CAACjE,MAAM,GAAG,CAAC;EAC1B,IAAM8E,EAAE,GAAGb,IAAI,CAACwB,IAAI,CAAC;EACrB,IAAMV,EAAE,GAAGd,IAAI,CAACwB,IAAI,GAAG,CAAC,CAAC;EACzB,IAAMT,EAAE,GAAGf,IAAI,CAACwB,IAAI,GAAG,CAAC,CAAC;EACzB,IAAMtB,CAAC,GAAGlC,IAAI,KAAK,CAAC,GAAG6C,EAAE,GAAGC,EAAE;EAC9B,IAAIZ,CAAC,IAAIpC,EAAE,IAAIoC,CAAC,IAAInC,EAAE,EAAEoC,QAAQ,CAAC/C,KAAK,EAAEyD,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC;EAGnDS,IAAI,GAAGpE,KAAK,CAACrB,MAAM,GAAG,CAAC;EACvB,IAAIqE,SAAS,IAAIoB,IAAI,IAAI,CAAC,KAAKpE,KAAK,CAACoE,IAAI,CAAC,KAAKpE,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAACoE,IAAI,GAAG,CAAC,CAAC,KAAKpE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;IACxF+C,QAAQ,CAAC/C,KAAK,EAAEA,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/C;EAGA,IAAIA,KAAK,CAACrB,MAAM,EAAE;IAChBkE,OAAO,CAACjB,IAAI,CAAC5B,KAAK,CAAC;EACrB;AACF;AAAC,IAEKqE,KAAK,aAAAC,MAAA;EAAA,IAAAC,UAAA,CAAArH,OAAA,EAAAmH,KAAA,EAAAC,MAAA;EAAA,IAAAE,MAAA,GAAA7H,YAAA,CAAA0H,KAAA;EAAA,SAAAA,MAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,CAAAxH,OAAA,QAAAmH,KAAA;IAAA,SAAAM,IAAA,GAAAnH,SAAA,CAAAmB,MAAA,EAAAiG,IAAA,OAAApG,KAAA,CAAAmG,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAArH,SAAA,CAAAqH,IAAA;IAAA;IAAAJ,KAAA,GAAAD,MAAA,CAAAxG,IAAA,CAAAP,KAAA,CAAA+G,MAAA,SAAAM,MAAA,CAAAF,IAAA;IAAA,IAAAG,gBAAA,CAAA7H,OAAA,MAAA8H,uBAAA,CAAA9H,OAAA,EAAAuH,KAAA;IAAA,IAAAM,gBAAA,CAAA7H,OAAA,MAAA8H,uBAAA,CAAA9H,OAAA,EAAAuH,KAAA;IAAA,IAAAM,gBAAA,CAAA7H,OAAA,MAAA8H,uBAAA,CAAA9H,OAAA,EAAAuH,KAAA;IAAA,OAAAA,KAAA;EAAA;EAAA,WAAAQ,aAAA,CAAA/H,OAAA,EAAAmH,KAAA;AAAA,MAAAa,iBAAA,CAAAhI,OAAA,EAASsB,KAAK;AAMzB,SAAS0E,QAAQA,CAACV,IAAgD,EAAS;EACzE,IAAMxC,KAAY,GAAG,EAAE;EACvBA,KAAK,CAACmF,IAAI,GAAG3C,IAAI,CAAC2C,IAAI;EACtBnF,KAAK,CAACsD,KAAK,GAAGd,IAAI,CAACc,KAAK;EACxBtD,KAAK,CAACmE,GAAG,GAAG3B,IAAI,CAAC2B,GAAG;EACpB,OAAOnE,KAAK;AACd;AAGA,SAASiC,SAASA,CAACW,IAAI,EAAEC,OAAO,EAAEnC,EAAU,EAAEC,EAAU,EAAEC,IAAI,EAAEoC,SAAkB,EAAQ;EAAA,IAAAoC,UAAA,GAAAlH,0BAAA,CACrE0E,IAAI;IAAAyC,MAAA;EAAA;IAAvB,KAAAD,UAAA,CAAAtG,CAAA,MAAAuG,MAAA,GAAAD,UAAA,CAAArG,CAAA,IAAAC,IAAA,GAAyB;MAAA,IAAdwD,IAAI,GAAA6C,MAAA,CAAApG,KAAA;MACb8C,QAAQ,CAACS,IAAI,EAAEK,OAAO,EAAEnC,EAAE,EAAEC,EAAE,EAAEC,IAAI,EAAEoC,SAAS,EAAE,KAAK,CAAC;IACzD;EAAC,SAAAzD,GAAA;IAAA6F,UAAA,CAAAnH,CAAA,CAAAsB,GAAA;EAAA;IAAA6F,UAAA,CAAAjG,CAAA;EAAA;AACH;AAEA,SAAS4D,QAAQA,CAACuC,GAAa,EAAEC,CAAS,EAAEC,CAAS,EAAEC,CAAS,EAAQ;EACtEH,GAAG,CAAC1D,IAAI,CAAC2D,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;AACnB;AAGA,SAASrC,UAAUA,CAACkC,GAAG,EAAE7B,EAAU,EAAEC,EAAU,EAAEE,EAAU,EAAEC,EAAU,EAAE0B,CAAS,EAAU;EAC1F,IAAM/B,CAAC,GAAG,CAAC+B,CAAC,GAAG9B,EAAE,KAAKG,EAAE,GAAGH,EAAE,CAAC;EAC9BV,QAAQ,CAACuC,GAAG,EAAEC,CAAC,EAAE7B,EAAE,GAAG,CAACG,EAAE,GAAGH,EAAE,IAAIF,CAAC,EAAE,CAAC,CAAC;EACvC,OAAOA,CAAC;AACV;AAGA,SAASH,UAAUA,CAACiC,GAAG,EAAE7B,EAAU,EAAEC,EAAU,EAAEE,EAAU,EAAEC,EAAU,EAAE2B,CAAC,EAAU;EAClF,IAAMhC,CAAC,GAAG,CAACgC,CAAC,GAAG9B,EAAE,KAAKG,EAAE,GAAGH,EAAE,CAAC;EAC9BX,QAAQ,CAACuC,GAAG,EAAE7B,EAAE,GAAG,CAACG,EAAE,GAAGH,EAAE,IAAID,CAAC,EAAEgC,CAAC,EAAE,CAAC,CAAC;EACvC,OAAOhC,CAAC;AACV"}
@@ -1,161 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.convert = convert;
7
- var _simplify = require("./simplify");
8
- var _feature = require("./feature");
9
- 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; } } }; }
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
- 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; }
12
- function convert(data, options) {
13
- var features = [];
14
- if (data.type === 'FeatureCollection') {
15
- for (var i = 0; i < data.features.length; i++) {
16
- convertFeature(features, data.features[i], options, i);
17
- }
18
- } else if (data.type === 'Feature') {
19
- convertFeature(features, data, options);
20
- } else {
21
- convertFeature(features, {
22
- geometry: data
23
- }, options);
24
- }
25
- return features;
26
- }
27
- function convertFeature(features, geojson, options, index) {
28
- if (!geojson.geometry) {
29
- return;
30
- }
31
- var coords = geojson.geometry.coordinates;
32
- var type = geojson.geometry.type;
33
- var tolerance = Math.pow(options.tolerance / ((1 << options.maxZoom) * options.extent), 2);
34
- var geometry = [];
35
- var id = geojson.id;
36
- if (options.promoteId) {
37
- id = geojson.properties[options.promoteId];
38
- } else if (options.generateId) {
39
- id = index || 0;
40
- }
41
- if (type === 'Point') {
42
- convertPoint(coords, geometry);
43
- } else if (type === 'MultiPoint') {
44
- var _iterator = _createForOfIteratorHelper(coords),
45
- _step;
46
- try {
47
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
48
- var p = _step.value;
49
- convertPoint(p, geometry);
50
- }
51
- } catch (err) {
52
- _iterator.e(err);
53
- } finally {
54
- _iterator.f();
55
- }
56
- } else if (type === 'LineString') {
57
- convertLine(coords, geometry, tolerance, false);
58
- } else if (type === 'MultiLineString') {
59
- if (options.lineMetrics) {
60
- var _iterator2 = _createForOfIteratorHelper(coords),
61
- _step2;
62
- try {
63
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
64
- var line = _step2.value;
65
- geometry = [];
66
- convertLine(line, geometry, tolerance, false);
67
- features.push((0, _feature.createFeature)(id, 'LineString', geometry, geojson.properties));
68
- }
69
- } catch (err) {
70
- _iterator2.e(err);
71
- } finally {
72
- _iterator2.f();
73
- }
74
- return;
75
- } else {
76
- convertLines(coords, geometry, tolerance, false);
77
- }
78
- } else if (type === 'Polygon') {
79
- convertLines(coords, geometry, tolerance, true);
80
- } else if (type === 'MultiPolygon') {
81
- var _iterator3 = _createForOfIteratorHelper(coords),
82
- _step3;
83
- try {
84
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
85
- var polygon = _step3.value;
86
- var newPolygon = [];
87
- convertLines(polygon, newPolygon, tolerance, true);
88
- geometry.push(newPolygon);
89
- }
90
- } catch (err) {
91
- _iterator3.e(err);
92
- } finally {
93
- _iterator3.f();
94
- }
95
- } else if (type === 'GeometryCollection') {
96
- var _iterator4 = _createForOfIteratorHelper(geojson.geometry.geometries),
97
- _step4;
98
- try {
99
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
100
- var singleGeometry = _step4.value;
101
- convertFeature(features, {
102
- id: id,
103
- geometry: singleGeometry,
104
- properties: geojson.properties
105
- }, options, index);
106
- }
107
- } catch (err) {
108
- _iterator4.e(err);
109
- } finally {
110
- _iterator4.f();
111
- }
112
- return;
113
- } else {
114
- throw new Error('Input data is not a valid GeoJSON object.');
115
- }
116
- features.push((0, _feature.createFeature)(id, type, geometry, geojson.properties));
117
- }
118
- function convertPoint(coords, out) {
119
- out.push(projectX(coords[0]), projectY(coords[1]), 0);
120
- }
121
- function convertLine(ring, out, tolerance, isPolygon) {
122
- var x0, y0;
123
- var size = 0;
124
- for (var j = 0; j < ring.length; j++) {
125
- var x = projectX(ring[j][0]);
126
- var y = projectY(ring[j][1]);
127
- out.push(x, y, 0);
128
- if (j > 0) {
129
- if (isPolygon) {
130
- size += (x0 * y - x * y0) / 2;
131
- } else {
132
- size += Math.sqrt(Math.pow(x - x0, 2) + Math.pow(y - y0, 2));
133
- }
134
- }
135
- x0 = x;
136
- y0 = y;
137
- }
138
- var last = out.length - 3;
139
- out[2] = 1;
140
- (0, _simplify.simplify)(out, 0, last, tolerance);
141
- out[last + 2] = 1;
142
- out.size = Math.abs(size);
143
- out.start = 0;
144
- out.end = out.size;
145
- }
146
- function convertLines(rings, out, tolerance, isPolygon) {
147
- for (var i = 0; i < rings.length; i++) {
148
- var geom = [];
149
- convertLine(rings[i], geom, tolerance, isPolygon);
150
- out.push(geom);
151
- }
152
- }
153
- function projectX(x) {
154
- return x / 360 + 0.5;
155
- }
156
- function projectY(y) {
157
- var sin = Math.sin(y * Math.PI / 180);
158
- var y2 = 0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI;
159
- return y2 < 0 ? 0 : y2 > 1 ? 1 : y2;
160
- }
161
- //# sourceMappingURL=convert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert.js","names":["_simplify","require","_feature","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","convert","data","options","features","type","convertFeature","geometry","geojson","index","coords","coordinates","tolerance","Math","pow","maxZoom","extent","id","promoteId","properties","generateId","convertPoint","_iterator","_step","p","convertLine","lineMetrics","_iterator2","_step2","line","push","createFeature","convertLines","_iterator3","_step3","polygon","newPolygon","_iterator4","geometries","_step4","singleGeometry","Error","out","projectX","projectY","ring","isPolygon","x0","y0","size","j","x","y","sqrt","last","simplify","abs","start","end","rings","geom","sin","PI","y2","log"],"sources":["../../../../src/lib/geojson-tiler/convert.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/mapbox/geojson-vt under compatible ISC license\n\n/* eslint-disable */\n// @ts-nocheck\n\nimport type {Feature} from '@loaders.gl/schema';\nimport type {GeoJSONTileFeature} from './tile';\n\nimport {simplify} from './simplify';\nimport {createFeature} from './feature';\n\n// converts GeoJSON feature into an intermediate projected JSON vector format with simplification data\n\nexport function convert(data: Feature, options): GeoJSONTileFeature[] {\n const features = [];\n if (data.type === 'FeatureCollection') {\n for (let i = 0; i < data.features.length; i++) {\n convertFeature(features, data.features[i], options, i);\n }\n } else if (data.type === 'Feature') {\n convertFeature(features, data, options);\n } else {\n // single geometry or a geometry collection\n convertFeature(features, {geometry: data}, options);\n }\n\n return features;\n}\n\nexport type ConvertFeatureOptions = {\n maxZoom?: number;\n tolerance: number;\n extent: number;\n lineMetrics: boolean;\n};\n\nfunction convertFeature(\n features: GeoJSONTileFeature[],\n geojson: Feature,\n options: ConvertFeatureOptions,\n index: number\n): void {\n if (!geojson.geometry) {\n return;\n }\n\n const coords = geojson.geometry.coordinates;\n const type = geojson.geometry.type;\n const tolerance = Math.pow(options.tolerance / ((1 << options.maxZoom) * options.extent), 2);\n let geometry = [];\n let id = geojson.id;\n if (options.promoteId) {\n id = geojson.properties[options.promoteId];\n } else if (options.generateId) {\n id = index || 0;\n }\n if (type === 'Point') {\n convertPoint(coords, geometry);\n } else if (type === 'MultiPoint') {\n for (const p of coords) {\n convertPoint(p, geometry);\n }\n } else if (type === 'LineString') {\n convertLine(coords, geometry, tolerance, false);\n } else if (type === 'MultiLineString') {\n if (options.lineMetrics) {\n // explode into linestrings to be able to track metrics\n for (const line of coords) {\n geometry = [];\n convertLine(line, geometry, tolerance, false);\n features.push(createFeature(id, 'LineString', geometry, geojson.properties));\n }\n return;\n } else {\n convertLines(coords, geometry, tolerance, false);\n }\n } else if (type === 'Polygon') {\n convertLines(coords, geometry, tolerance, true);\n } else if (type === 'MultiPolygon') {\n for (const polygon of coords) {\n const newPolygon = [];\n convertLines(polygon, newPolygon, tolerance, true);\n geometry.push(newPolygon);\n }\n } else if (type === 'GeometryCollection') {\n for (const singleGeometry of geojson.geometry.geometries) {\n convertFeature(\n features,\n {\n id,\n geometry: singleGeometry,\n properties: geojson.properties\n },\n options,\n index\n );\n }\n return;\n } else {\n throw new Error('Input data is not a valid GeoJSON object.');\n }\n\n features.push(createFeature(id, type, geometry, geojson.properties));\n}\n\nfunction convertPoint(coords, out): void {\n out.push(projectX(coords[0]), projectY(coords[1]), 0);\n}\n\nfunction convertLine(ring: number[], out, tolerance: number, isPolygon: boolean): void {\n let x0, y0;\n let size = 0;\n\n for (let j = 0; j < ring.length; j++) {\n const x = projectX(ring[j][0]);\n const y = projectY(ring[j][1]);\n\n out.push(x, y, 0);\n\n if (j > 0) {\n if (isPolygon) {\n size += (x0 * y - x * y0) / 2; // area\n } else {\n size += Math.sqrt(Math.pow(x - x0, 2) + Math.pow(y - y0, 2)); // length\n }\n }\n x0 = x;\n y0 = y;\n }\n\n const last = out.length - 3;\n out[2] = 1;\n simplify(out, 0, last, tolerance);\n out[last + 2] = 1;\n\n out.size = Math.abs(size);\n out.start = 0;\n out.end = out.size;\n}\n\nfunction convertLines(rings: number[][], out, tolerance: number, isPolygon: boolean): void {\n for (let i = 0; i < rings.length; i++) {\n const geom = [];\n convertLine(rings[i], geom, tolerance, isPolygon);\n out.push(geom);\n }\n}\n\nfunction projectX(x: number): number {\n return x / 360 + 0.5;\n}\n\nfunction projectY(y: number): number {\n const sin = Math.sin((y * Math.PI) / 180);\n const y2 = 0.5 - (0.25 * Math.log((1 + sin) / (1 - sin))) / Math.PI;\n return y2 < 0 ? 0 : y2 > 1 ? 1 : y2;\n}\n"],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createFeature = createFeature;
7
- 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; } } }; }
8
- 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); }
9
- 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; }
10
- function createFeature(id, type, geom, tags) {
11
- var feature = {
12
- id: id == null ? null : id,
13
- type: type,
14
- geometry: geom,
15
- tags: tags,
16
- minX: Infinity,
17
- minY: Infinity,
18
- maxX: -Infinity,
19
- maxY: -Infinity
20
- };
21
- if (type === 'Point' || type === 'MultiPoint' || type === 'LineString') {
22
- calcLineBBox(feature, geom);
23
- } else if (type === 'Polygon') {
24
- calcLineBBox(feature, geom[0]);
25
- } else if (type === 'MultiLineString') {
26
- var _iterator = _createForOfIteratorHelper(geom),
27
- _step;
28
- try {
29
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
30
- var line = _step.value;
31
- calcLineBBox(feature, line);
32
- }
33
- } catch (err) {
34
- _iterator.e(err);
35
- } finally {
36
- _iterator.f();
37
- }
38
- } else if (type === 'MultiPolygon') {
39
- var _iterator2 = _createForOfIteratorHelper(geom),
40
- _step2;
41
- try {
42
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
43
- var polygon = _step2.value;
44
- calcLineBBox(feature, polygon[0]);
45
- }
46
- } catch (err) {
47
- _iterator2.e(err);
48
- } finally {
49
- _iterator2.f();
50
- }
51
- }
52
- return feature;
53
- }
54
- function calcLineBBox(feature, geom) {
55
- for (var i = 0; i < geom.length; i += 3) {
56
- feature.minX = Math.min(feature.minX, geom[i]);
57
- feature.minY = Math.min(feature.minY, geom[i + 1]);
58
- feature.maxX = Math.max(feature.maxX, geom[i]);
59
- feature.maxY = Math.max(feature.maxY, geom[i + 1]);
60
- }
61
- }
62
- //# sourceMappingURL=feature.js.map