@loaders.gl/flatgeobuf 3.3.0-alpha.4 → 3.3.0-alpha.6

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.
package/dist/dist.min.js CHANGED
@@ -52,6 +52,25 @@
52
52
  }
53
53
  });
54
54
 
55
+ // ../../node_modules/@babel/runtime/helpers/esm/defineProperty.js
56
+ function _defineProperty(obj, key, value) {
57
+ if (key in obj) {
58
+ Object.defineProperty(obj, key, {
59
+ value,
60
+ enumerable: true,
61
+ configurable: true,
62
+ writable: true
63
+ });
64
+ } else {
65
+ obj[key] = value;
66
+ }
67
+ return obj;
68
+ }
69
+ var init_defineProperty = __esm({
70
+ "../../node_modules/@babel/runtime/helpers/esm/defineProperty.js"() {
71
+ }
72
+ });
73
+
55
74
  // ../../node_modules/proj4/lib/global.js
56
75
  function global_default(defs2) {
57
76
  defs2("EPSG:4326", "+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees");
@@ -312,7 +331,7 @@
312
331
  ENDED = -1;
313
332
  whitespace = /\s/;
314
333
  latin = /[A-Za-z]/;
315
- keyword = /[A-Za-z84]/;
334
+ keyword = /[A-Za-z84_]/;
316
335
  endThings = /[,\]]/;
317
336
  digets = /[\d\.E\-\+]/;
318
337
  Parser.prototype.readCharicter = function() {
@@ -599,15 +618,14 @@
599
618
  if (wkt.AXIS) {
600
619
  var axisOrder = "";
601
620
  for (var i = 0, ii = wkt.AXIS.length; i < ii; ++i) {
602
- var axis = wkt.AXIS[i];
603
- var descriptor = axis[0].toLowerCase();
604
- if (descriptor.indexOf("north") !== -1) {
621
+ var axis = [wkt.AXIS[i][0].toLowerCase(), wkt.AXIS[i][1].toLowerCase()];
622
+ if (axis[0].indexOf("north") !== -1 || (axis[0] === "y" || axis[0] === "lat") && axis[1] === "north") {
605
623
  axisOrder += "n";
606
- } else if (descriptor.indexOf("south") !== -1) {
624
+ } else if (axis[0].indexOf("south") !== -1 || (axis[0] === "y" || axis[0] === "lat") && axis[1] === "south") {
607
625
  axisOrder += "s";
608
- } else if (descriptor.indexOf("east") !== -1) {
626
+ } else if (axis[0].indexOf("east") !== -1 || (axis[0] === "x" || axis[0] === "lon") && axis[1] === "east") {
609
627
  axisOrder += "e";
610
- } else if (descriptor.indexOf("west") !== -1) {
628
+ } else if (axis[0].indexOf("west") !== -1 || (axis[0] === "x" || axis[0] === "lon") && axis[1] === "west") {
611
629
  axisOrder += "w";
612
630
  }
613
631
  }
@@ -703,12 +721,22 @@
703
721
  };
704
722
  var list = [
705
723
  ["standard_parallel_1", "Standard_Parallel_1"],
724
+ ["standard_parallel_1", "Latitude of 1st standard parallel"],
706
725
  ["standard_parallel_2", "Standard_Parallel_2"],
726
+ ["standard_parallel_2", "Latitude of 2nd standard parallel"],
707
727
  ["false_easting", "False_Easting"],
728
+ ["false_easting", "False easting"],
729
+ ["false-easting", "Easting at false origin"],
708
730
  ["false_northing", "False_Northing"],
731
+ ["false_northing", "False northing"],
732
+ ["false_northing", "Northing at false origin"],
709
733
  ["central_meridian", "Central_Meridian"],
734
+ ["central_meridian", "Longitude of natural origin"],
735
+ ["central_meridian", "Longitude of false origin"],
710
736
  ["latitude_of_origin", "Latitude_Of_Origin"],
711
737
  ["latitude_of_origin", "Central_Parallel"],
738
+ ["latitude_of_origin", "Latitude of natural origin"],
739
+ ["latitude_of_origin", "Latitude of false origin"],
712
740
  ["scale_factor", "Scale_Factor"],
713
741
  ["k0", "scale_factor"],
714
742
  ["latitude_of_center", "Latitude_Of_Center"],
@@ -5973,10 +6001,11 @@
5973
6001
  }
5974
6002
  });
5975
6003
 
5976
- // node_modules/@math.gl/proj4/dist/esm/lib/proj4-projection.js
6004
+ // ../../node_modules/@math.gl/proj4/dist/esm/lib/proj4-projection.js
5977
6005
  var Proj4Projection;
5978
6006
  var init_proj4_projection = __esm({
5979
- "node_modules/@math.gl/proj4/dist/esm/lib/proj4-projection.js"() {
6007
+ "../../node_modules/@math.gl/proj4/dist/esm/lib/proj4-projection.js"() {
6008
+ init_defineProperty();
5980
6009
  init_lib();
5981
6010
  Proj4Projection = class {
5982
6011
  static defineProjectionAliases(aliases) {
@@ -5990,20 +6019,27 @@
5990
6019
  from = "WGS84",
5991
6020
  to = "WGS84"
5992
6021
  }) {
5993
- const projection = lib_default(from, to);
5994
- if (!projection) {
6022
+ _defineProperty(this, "_projection", void 0);
6023
+ this._projection = lib_default(from, to);
6024
+ if (!this._projection) {
5995
6025
  throw new Error("Invalid projection");
5996
6026
  }
5997
- this.project = projection.forward;
5998
- this.unproject = projection.inverse;
6027
+ this.project = this.project.bind(this);
6028
+ this.unproject = this.unproject.bind(this);
6029
+ }
6030
+ project(coord) {
6031
+ return this._projection.forward(coord);
6032
+ }
6033
+ unproject(coord) {
6034
+ return this._projection.inverse(coord);
5999
6035
  }
6000
6036
  };
6001
6037
  }
6002
6038
  });
6003
6039
 
6004
- // node_modules/@math.gl/proj4/dist/esm/index.js
6040
+ // ../../node_modules/@math.gl/proj4/dist/esm/index.js
6005
6041
  var init_esm = __esm({
6006
- "node_modules/@math.gl/proj4/dist/esm/index.js"() {
6042
+ "../../node_modules/@math.gl/proj4/dist/esm/index.js"() {
6007
6043
  init_proj4_projection();
6008
6044
  }
6009
6045
  });
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var moduleExports = require('./index');
4
-
5
4
  globalThis.loaders = globalThis.loaders || {};
6
5
  module.exports = Object.assign(globalThis.loaders, moduleExports);
7
6
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,IAAMA,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
+ {"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports._typecheckFlatGeobufLoader = exports.FlatGeobufLoader = void 0;
7
- var VERSION = typeof "3.3.0-alpha.4" !== 'undefined' ? "3.3.0-alpha.4" : 'latest';
7
+ var VERSION = typeof "3.3.0-alpha.6" !== 'undefined' ? "3.3.0-alpha.6" : 'latest';
8
8
  var FlatGeobufLoader = {
9
9
  id: 'flatgeobuf',
10
10
  name: 'FlatGeobuf',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/flatgeobuf-loader.ts"],"names":["VERSION","FlatGeobufLoader","id","name","module","version","worker","extensions","mimeTypes","category","options","flatgeobuf","shape","_typecheckFlatGeobufLoader"],"mappings":";;;;;;AAIA,IAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,QAAnE;AAEO,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,EAAE,EAAE,YAD0B;AAE9BC,EAAAA,IAAI,EAAE,YAFwB;AAG9BC,EAAAA,MAAM,EAAE,YAHsB;AAI9BC,EAAAA,OAAO,EAAEL,OAJqB;AAK9BM,EAAAA,MAAM,EAAE,IALsB;AAM9BC,EAAAA,UAAU,EAAE,CAAC,KAAD,CANkB;AAO9BC,EAAAA,SAAS,EAAE,CAAC,0BAAD,CAPmB;AAQ9BC,EAAAA,QAAQ,EAAE,UARoB;AAS9BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE;AAEVC,MAAAA,KAAK,EAAE;AAFG;AADL;AATqB,CAAzB;;AAiBA,IAAMC,0BAAkC,GAAGZ,gBAA3C","sourcesContent":["import type {Loader} from '@loaders.gl/loader-utils';\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\nexport const FlatGeobufLoader = {\n id: 'flatgeobuf',\n name: 'FlatGeobuf',\n module: 'flatgeobuf',\n version: VERSION,\n worker: true,\n extensions: ['fgb'],\n mimeTypes: ['application/octet-stream'],\n category: 'geometry',\n options: {\n flatgeobuf: {\n // Set to GeoJSON for backwards compatibility\n shape: 'geojson'\n }\n }\n};\n\nexport const _typecheckFlatGeobufLoader: Loader = FlatGeobufLoader;\n"],"file":"flatgeobuf-loader.js"}
1
+ {"version":3,"file":"flatgeobuf-loader.js","names":["VERSION","FlatGeobufLoader","id","name","module","version","worker","extensions","mimeTypes","category","options","flatgeobuf","shape","_typecheckFlatGeobufLoader"],"sources":["../../src/flatgeobuf-loader.ts"],"sourcesContent":["import type {Loader} from '@loaders.gl/loader-utils';\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\nexport const FlatGeobufLoader = {\n id: 'flatgeobuf',\n name: 'FlatGeobuf',\n module: 'flatgeobuf',\n version: VERSION,\n worker: true,\n extensions: ['fgb'],\n mimeTypes: ['application/octet-stream'],\n category: 'geometry',\n options: {\n flatgeobuf: {\n // Set to GeoJSON for backwards compatibility\n shape: 'geojson'\n }\n }\n};\n\nexport const _typecheckFlatGeobufLoader: Loader = FlatGeobufLoader;\n"],"mappings":";;;;;;AAIA,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAEpE,IAAMC,gBAAgB,GAAG;EAC9BC,EAAE,EAAE,YAAY;EAChBC,IAAI,EAAE,YAAY;EAClBC,MAAM,EAAE,YAAY;EACpBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE;IACPC,UAAU,EAAE;MAEVC,KAAK,EAAE;IACT;EACF;AACF,CAAC;AAAC;AAEK,IAAMC,0BAAkC,GAAGZ,gBAAgB;AAAC"}
package/dist/es5/index.js CHANGED
@@ -1,32 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
7
+ exports.FlatGeobufLoader = void 0;
8
8
  Object.defineProperty(exports, "FlatGeobufWorkerLoader", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
11
  return _flatgeobufLoader.FlatGeobufLoader;
12
12
  }
13
13
  });
14
- exports._typecheckFlatGeobufLoader = exports.FlatGeobufLoader = void 0;
15
-
14
+ exports._typecheckFlatGeobufLoader = void 0;
16
15
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
17
-
18
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
-
20
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
18
  var _flatgeobufLoader = require("./flatgeobuf-loader");
23
-
24
19
  var _parseFlatgeobuf = require("./lib/parse-flatgeobuf");
25
-
26
- 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; }
27
-
28
- 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; }
29
-
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
22
  var FlatGeobufLoader = _objectSpread(_objectSpread({}, _flatgeobufLoader.FlatGeobufLoader), {}, {
31
23
  parse: function () {
32
24
  var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
@@ -35,7 +27,6 @@ var FlatGeobufLoader = _objectSpread(_objectSpread({}, _flatgeobufLoader.FlatGeo
35
27
  switch (_context.prev = _context.next) {
36
28
  case 0:
37
29
  return _context.abrupt("return", (0, _parseFlatgeobuf.parseFlatGeobuf)(arrayBuffer, options));
38
-
39
30
  case 1:
40
31
  case "end":
41
32
  return _context.stop();
@@ -43,18 +34,15 @@ var FlatGeobufLoader = _objectSpread(_objectSpread({}, _flatgeobufLoader.FlatGeo
43
34
  }
44
35
  }, _callee);
45
36
  }));
46
-
47
37
  function parse(_x, _x2) {
48
38
  return _parse.apply(this, arguments);
49
39
  }
50
-
51
40
  return parse;
52
41
  }(),
53
42
  parseSync: _parseFlatgeobuf.parseFlatGeobuf,
54
43
  parseInBatchesFromStream: _parseFlatgeobuf.parseFlatGeobufInBatches,
55
44
  binary: true
56
45
  });
57
-
58
46
  exports.FlatGeobufLoader = FlatGeobufLoader;
59
47
  var _typecheckFlatGeobufLoader = FlatGeobufLoader;
60
48
  exports._typecheckFlatGeobufLoader = _typecheckFlatGeobufLoader;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["FlatGeobufLoader","FlatGeobufWorkerLoader","parse","arrayBuffer","options","parseSync","parseFlatGeobuf","parseInBatchesFromStream","parseFlatGeobufInBatches","binary","_typecheckFlatGeobufLoader"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;AAIO,IAAMA,gBAAgB,mCACxBC,kCADwB;AAE3BC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgC,sCAAgBD,WAAhB,EAA6BC,OAA7B,CAAhC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KAFsB;AAG3BC,EAAAA,SAAS,EAAEC,gCAHgB;AAI3BC,EAAAA,wBAAwB,EAAEC,yCAJC;AAK3BC,EAAAA,MAAM,EAAE;AALmB,EAAtB;;;AAQA,IAAMC,0BAA4C,GAAGV,gBAArD","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {FlatGeobufLoader as FlatGeobufWorkerLoader} from './flatgeobuf-loader';\nimport {parseFlatGeobuf, parseFlatGeobufInBatches} from './lib/parse-flatgeobuf';\n\nexport {FlatGeobufWorkerLoader};\n\nexport const FlatGeobufLoader = {\n ...FlatGeobufWorkerLoader,\n parse: async (arrayBuffer, options) => parseFlatGeobuf(arrayBuffer, options),\n parseSync: parseFlatGeobuf,\n parseInBatchesFromStream: parseFlatGeobufInBatches,\n binary: true\n};\n\nexport const _typecheckFlatGeobufLoader: LoaderWithParser = FlatGeobufLoader;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["FlatGeobufLoader","FlatGeobufWorkerLoader","parse","arrayBuffer","options","parseFlatGeobuf","parseSync","parseInBatchesFromStream","parseFlatGeobufInBatches","binary","_typecheckFlatGeobufLoader"],"sources":["../../src/index.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {FlatGeobufLoader as FlatGeobufWorkerLoader} from './flatgeobuf-loader';\nimport {parseFlatGeobuf, parseFlatGeobufInBatches} from './lib/parse-flatgeobuf';\n\nexport {FlatGeobufWorkerLoader};\n\nexport const FlatGeobufLoader = {\n ...FlatGeobufWorkerLoader,\n parse: async (arrayBuffer, options) => parseFlatGeobuf(arrayBuffer, options),\n parseSync: parseFlatGeobuf,\n parseInBatchesFromStream: parseFlatGeobufInBatches,\n binary: true\n};\n\nexport const _typecheckFlatGeobufLoader: LoaderWithParser = FlatGeobufLoader;\n"],"mappings":";;;;;;;;;;;;;;;;;AACA;AACA;AAAiF;AAAA;AAI1E,IAAMA,gBAAgB,mCACxBC,kCAAsB;EACzBC,KAAK;IAAA,uEAAE,iBAAOC,WAAW,EAAEC,OAAO;MAAA;QAAA;UAAA;YAAA;cAAA,iCAAK,IAAAC,gCAAe,EAACF,WAAW,EAAEC,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAC5EE,SAAS,EAAED,gCAAe;EAC1BE,wBAAwB,EAAEC,yCAAwB;EAClDC,MAAM,EAAE;AAAI,EACb;AAAC;AAEK,IAAMC,0BAA4C,GAAGV,gBAAgB;AAAC"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.fromGeometry = fromGeometry;
7
-
8
7
  var _header_generated = require("flatgeobuf/lib/cjs/header_generated");
9
-
10
8
  function parsePoint(geometry) {
11
9
  var xy = geometry.xyArray();
12
10
  var z = geometry.zArray();
@@ -15,11 +13,11 @@ function parsePoint(geometry) {
15
13
  positions: positions
16
14
  };
17
15
  }
18
-
19
16
  function parseLines(geometry) {
20
17
  var xy = geometry.xyArray();
21
18
  var z = geometry.zArray();
22
19
  var positions = blitArrays(xy, z);
20
+
23
21
  var ends = geometry.endsArray() && Array.from(geometry.endsArray()) || [xy.length / 2];
24
22
  ends.unshift(0);
25
23
  var pathIndices = {
@@ -31,11 +29,11 @@ function parseLines(geometry) {
31
29
  pathIndices: pathIndices
32
30
  };
33
31
  }
34
-
35
32
  function parsePolygons(geometry) {
36
33
  var xy = geometry.xyArray();
37
34
  var z = geometry.zArray();
38
35
  var positions = blitArrays(xy, z);
36
+
39
37
  var ends = geometry.endsArray() && Array.from(geometry.endsArray()) || [xy.length / 2];
40
38
  ends.unshift(0);
41
39
  var primitivePolygonIndices = {
@@ -58,7 +56,6 @@ function parseMultiPolygons(geometry) {
58
56
  var nPositions = 0;
59
57
  var nPrimitivePolygonIndices = 1;
60
58
  var nPolygonIndices = 1;
61
-
62
59
  for (var i = 0; i < geometry.partsLength(); i++) {
63
60
  var part = geometry.parts(i);
64
61
  var polygon = parsePolygons(part);
@@ -67,29 +64,30 @@ function parseMultiPolygons(geometry) {
67
64
  nPolygonIndices += polygon.polygonIndices.value.length - 1;
68
65
  parsedParts.push(polygon);
69
66
  }
70
-
71
67
  var concatPositions = new Float64Array(nPositions);
72
68
  var concatPrimitivePolygonIndices = new Uint32Array(nPrimitivePolygonIndices);
73
69
  var concatPolygonIndices = new Uint32Array(nPolygonIndices);
74
70
  var positionCounter = 0;
75
71
  var primitivePolygonIndicesCounter = 1;
76
72
  var polygonIndicesCounter = 1;
77
- var positionSize = parsedParts[0].positions.size;
78
73
 
74
+ var positionSize = parsedParts[0].positions.size;
79
75
  for (var _i = 0, _parsedParts = parsedParts; _i < _parsedParts.length; _i++) {
80
76
  var parsedPart = _parsedParts[_i];
81
77
  concatPositions.set(parsedPart.positions.value, positionCounter * positionSize);
82
- concatPrimitivePolygonIndices.set(parsedPart.primitivePolygonIndices.value.subarray(1).map(function (x) {
78
+
79
+ concatPrimitivePolygonIndices.set(
80
+ parsedPart.primitivePolygonIndices.value.subarray(1).map(function (x) {
83
81
  return x + positionCounter;
84
82
  }), primitivePolygonIndicesCounter);
85
- concatPolygonIndices.set(parsedPart.polygonIndices.value.subarray(1).map(function (x) {
83
+ concatPolygonIndices.set(
84
+ parsedPart.polygonIndices.value.subarray(1).map(function (x) {
86
85
  return x + positionCounter;
87
86
  }), polygonIndicesCounter);
88
87
  positionCounter += parsedPart.positions.value.length / positionSize;
89
88
  primitivePolygonIndicesCounter += parsedPart.primitivePolygonIndices.value.length - 1;
90
89
  polygonIndicesCounter += parsedPart.polygonIndices.value.length - 1;
91
90
  }
92
-
93
91
  return {
94
92
  positions: {
95
93
  value: concatPositions,
@@ -113,42 +111,33 @@ function blitArrays(xy, z) {
113
111
  size: 2
114
112
  };
115
113
  }
116
-
117
114
  if (z.length * 2 !== xy.length) {
118
115
  throw new Error('Z array must be half XY array\'s length');
119
116
  }
120
-
121
117
  var totalLength = xy.length + z.length;
122
118
  var xyz = new Float64Array(totalLength);
123
-
124
119
  for (var i = 0; i < xy.length / 2; i++) {
125
120
  xyz[i * 3 + 0] = xy[i * 2 + 0];
126
121
  xyz[i * 3 + 1] = xy[i * 2 + 1];
127
122
  xyz[i * 3 + 2] = z[i];
128
123
  }
129
-
130
124
  return {
131
125
  value: xyz,
132
126
  size: 3
133
127
  };
134
128
  }
135
-
136
129
  function fromGeometry(geometry, type) {
137
130
  switch (type) {
138
131
  case _header_generated.GeometryType.Point:
139
132
  case _header_generated.GeometryType.MultiPoint:
140
133
  return parsePoint(geometry);
141
-
142
134
  case _header_generated.GeometryType.LineString:
143
135
  case _header_generated.GeometryType.MultiLineString:
144
136
  return parseLines(geometry);
145
-
146
137
  case _header_generated.GeometryType.Polygon:
147
138
  return parsePolygons(geometry);
148
-
149
139
  case _header_generated.GeometryType.MultiPolygon:
150
140
  return parseMultiPolygons(geometry);
151
-
152
141
  default:
153
142
  throw new Error("Unimplemented geometry type: ".concat(type));
154
143
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/binary-geometries.ts"],"names":["parsePoint","geometry","xy","xyArray","z","zArray","positions","blitArrays","parseLines","ends","endsArray","Array","from","length","unshift","pathIndices","value","Uint16Array","size","parsePolygons","primitivePolygonIndices","polygonIndices","parseMultiPolygons","parsedParts","nPositions","nPrimitivePolygonIndices","nPolygonIndices","i","partsLength","part","parts","polygon","push","concatPositions","Float64Array","concatPrimitivePolygonIndices","Uint32Array","concatPolygonIndices","positionCounter","primitivePolygonIndicesCounter","polygonIndicesCounter","positionSize","parsedPart","set","subarray","map","x","Error","totalLength","xyz","fromGeometry","type","GeometryType","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],"mappings":";;;;;;;AAAA;;AAGA,SAASA,UAAT,CAAoBC,QAApB,EAA8B;AAC5B,MAAMC,EAAE,GAAGD,QAAQ,CAACE,OAAT,EAAX;AACA,MAAMC,CAAC,GAAGH,QAAQ,CAACI,MAAT,EAAV;AACA,MAAMC,SAAS,GAAGC,UAAU,CAACL,EAAD,EAAKE,CAAL,CAA5B;AACA,SAAO;AAACE,IAAAA,SAAS,EAATA;AAAD,GAAP;AACD;;AAED,SAASE,UAAT,CAAoBP,QAApB,EAA8B;AAC5B,MAAMC,EAAE,GAAGD,QAAQ,CAACE,OAAT,EAAX;AACA,MAAMC,CAAC,GAAGH,QAAQ,CAACI,MAAT,EAAV;AACA,MAAMC,SAAS,GAAGC,UAAU,CAACL,EAAD,EAAKE,CAAL,CAA5B;AAKA,MAAMK,IAAI,GAAIR,QAAQ,CAACS,SAAT,MAAwBC,KAAK,CAACC,IAAN,CAAWX,QAAQ,CAACS,SAAT,EAAX,CAAzB,IAA8D,CAACR,EAAE,CAACW,MAAH,GAAY,CAAb,CAA3E;AACAJ,EAAAA,IAAI,CAACK,OAAL,CAAa,CAAb;AAEA,MAAMC,WAAW,GAAG;AAACC,IAAAA,KAAK,EAAE,IAAIC,WAAJ,CAAgBR,IAAhB,CAAR;AAA+BS,IAAAA,IAAI,EAAE;AAArC,GAApB;AAEA,SAAO;AACLZ,IAAAA,SAAS,EAATA,SADK;AAELS,IAAAA,WAAW,EAAXA;AAFK,GAAP;AAID;;AAED,SAASI,aAAT,CAAuBlB,QAAvB,EAAiC;AAC/B,MAAMC,EAAE,GAAGD,QAAQ,CAACE,OAAT,EAAX;AACA,MAAMC,CAAC,GAAGH,QAAQ,CAACI,MAAT,EAAV;AACA,MAAMC,SAAS,GAAGC,UAAU,CAACL,EAAD,EAAKE,CAAL,CAA5B;AAKA,MAAMK,IAAI,GAAIR,QAAQ,CAACS,SAAT,MAAwBC,KAAK,CAACC,IAAN,CAAWX,QAAQ,CAACS,SAAT,EAAX,CAAzB,IAA8D,CAACR,EAAE,CAACW,MAAH,GAAY,CAAb,CAA3E;AACAJ,EAAAA,IAAI,CAACK,OAAL,CAAa,CAAb;AAEA,MAAMM,uBAAuB,GAAG;AAACJ,IAAAA,KAAK,EAAE,IAAIC,WAAJ,CAAgBR,IAAhB,CAAR;AAA+BS,IAAAA,IAAI,EAAE;AAArC,GAAhC;AACA,MAAMG,cAAc,GAAG;AAACL,IAAAA,KAAK,EAAE,IAAIC,WAAJ,CAAgB,CAAC,CAAD,EAAIf,EAAE,CAACW,MAAH,GAAY,CAAhB,CAAhB,CAAR;AAA6CK,IAAAA,IAAI,EAAE;AAAnD,GAAvB;AAEA,SAAO;AACLZ,IAAAA,SAAS,EAATA,SADK;AAELc,IAAAA,uBAAuB,EAAvBA,uBAFK;AAGLC,IAAAA,cAAc,EAAdA;AAHK,GAAP;AAKD;;AAGD,SAASC,kBAAT,CAA4BrB,QAA5B,EAAsC;AAEpC,MAAMsB,WAAkB,GAAG,EAA3B;AACA,MAAIC,UAAU,GAAG,CAAjB;AACA,MAAIC,wBAAwB,GAAG,CAA/B;AACA,MAAIC,eAAe,GAAG,CAAtB;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG1B,QAAQ,CAAC2B,WAAT,EAApB,EAA4CD,CAAC,EAA7C,EAAiD;AAC/C,QAAME,IAAI,GAAG5B,QAAQ,CAAC6B,KAAT,CAAeH,CAAf,CAAb;AACA,QAAMI,OAAO,GAAGZ,aAAa,CAACU,IAAD,CAA7B;AAEAL,IAAAA,UAAU,IAAIO,OAAO,CAACzB,SAAR,CAAkBU,KAAlB,CAAwBH,MAAtC;AACAY,IAAAA,wBAAwB,IAAIM,OAAO,CAACX,uBAAR,CAAgCJ,KAAhC,CAAsCH,MAAtC,GAA+C,CAA3E;AACAa,IAAAA,eAAe,IAAIK,OAAO,CAACV,cAAR,CAAuBL,KAAvB,CAA6BH,MAA7B,GAAsC,CAAzD;AAEAU,IAAAA,WAAW,CAACS,IAAZ,CAAiBD,OAAjB;AACD;;AAED,MAAME,eAAe,GAAG,IAAIC,YAAJ,CAAiBV,UAAjB,CAAxB;AACA,MAAMW,6BAA6B,GAAG,IAAIC,WAAJ,CAAgBX,wBAAhB,CAAtC;AACA,MAAMY,oBAAoB,GAAG,IAAID,WAAJ,CAAgBV,eAAhB,CAA7B;AAEA,MAAIY,eAAe,GAAG,CAAtB;AACA,MAAIC,8BAA8B,GAAG,CAArC;AACA,MAAIC,qBAAqB,GAAG,CAA5B;AAGA,MAAMC,YAAY,GAAGlB,WAAW,CAAC,CAAD,CAAX,CAAejB,SAAf,CAAyBY,IAA9C;;AAEA,kCAAyBK,WAAzB,kCAAsC;AAAjC,QAAMmB,UAAU,mBAAhB;AACHT,IAAAA,eAAe,CAACU,GAAhB,CAAoBD,UAAU,CAACpC,SAAX,CAAqBU,KAAzC,EAAgDsB,eAAe,GAAGG,YAAlE;AAIAN,IAAAA,6BAA6B,CAACQ,GAA9B,CAEED,UAAU,CAACtB,uBAAX,CAAmCJ,KAAnC,CAAyC4B,QAAzC,CAAkD,CAAlD,EAAqDC,GAArD,CAAyD,UAACC,CAAD;AAAA,aAAOA,CAAC,GAAGR,eAAX;AAAA,KAAzD,CAFF,EAGEC,8BAHF;AAKAF,IAAAA,oBAAoB,CAACM,GAArB,CAEED,UAAU,CAACrB,cAAX,CAA0BL,KAA1B,CAAgC4B,QAAhC,CAAyC,CAAzC,EAA4CC,GAA5C,CAAgD,UAACC,CAAD;AAAA,aAAOA,CAAC,GAAGR,eAAX;AAAA,KAAhD,CAFF,EAGEE,qBAHF;AAMAF,IAAAA,eAAe,IAAII,UAAU,CAACpC,SAAX,CAAqBU,KAArB,CAA2BH,MAA3B,GAAoC4B,YAAvD;AACAF,IAAAA,8BAA8B,IAAIG,UAAU,CAACtB,uBAAX,CAAmCJ,KAAnC,CAAyCH,MAAzC,GAAkD,CAApF;AACA2B,IAAAA,qBAAqB,IAAIE,UAAU,CAACrB,cAAX,CAA0BL,KAA1B,CAAgCH,MAAhC,GAAyC,CAAlE;AACD;;AAED,SAAO;AACLP,IAAAA,SAAS,EAAE;AAACU,MAAAA,KAAK,EAAEiB,eAAR;AAAyBf,MAAAA,IAAI,EAAEuB;AAA/B,KADN;AAELrB,IAAAA,uBAAuB,EAAE;AAACJ,MAAAA,KAAK,EAAEmB,6BAAR;AAAuCjB,MAAAA,IAAI,EAAE;AAA7C,KAFpB;AAGLG,IAAAA,cAAc,EAAE;AAACL,MAAAA,KAAK,EAAEqB,oBAAR;AAA8BnB,MAAAA,IAAI,EAAE;AAApC;AAHX,GAAP;AAKD;;AAGD,SAASX,UAAT,CAAoBL,EAApB,EAAwBE,CAAxB,EAA2B;AACzB,MAAI,CAACA,CAAL,EAAQ;AACN,WAAO;AAACY,MAAAA,KAAK,EAAEd,EAAR;AAAYgB,MAAAA,IAAI,EAAE;AAAlB,KAAP;AACD;;AAED,MAAId,CAAC,CAACS,MAAF,GAAW,CAAX,KAAiBX,EAAE,CAACW,MAAxB,EAAgC;AAC9B,UAAM,IAAIkC,KAAJ,CAAU,yCAAV,CAAN;AACD;;AACD,MAAMC,WAAW,GAAG9C,EAAE,CAACW,MAAH,GAAYT,CAAC,CAACS,MAAlC;AAEA,MAAMoC,GAAG,GAAG,IAAIf,YAAJ,CAAiBc,WAAjB,CAAZ;;AACA,OAAK,IAAIrB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGzB,EAAE,CAACW,MAAH,GAAY,CAAhC,EAAmCc,CAAC,EAApC,EAAwC;AACtCsB,IAAAA,GAAG,CAACtB,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAH,GAAiBzB,EAAE,CAACyB,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAnB;AACAsB,IAAAA,GAAG,CAACtB,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAH,GAAiBzB,EAAE,CAACyB,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAnB;AACAsB,IAAAA,GAAG,CAACtB,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAH,GAAiBvB,CAAC,CAACuB,CAAD,CAAlB;AACD;;AACD,SAAO;AAACX,IAAAA,KAAK,EAAEiC,GAAR;AAAa/B,IAAAA,IAAI,EAAE;AAAnB,GAAP;AACD;;AAEM,SAASgC,YAAT,CAAsBjD,QAAtB,EAAgCkD,IAAhC,EAAsC;AAC3C,UAAQA,IAAR;AACE,SAAKC,+BAAaC,KAAlB;AACA,SAAKD,+BAAaE,UAAlB;AACE,aAAOtD,UAAU,CAACC,QAAD,CAAjB;;AACF,SAAKmD,+BAAaG,UAAlB;AACA,SAAKH,+BAAaI,eAAlB;AACE,aAAOhD,UAAU,CAACP,QAAD,CAAjB;;AACF,SAAKmD,+BAAaK,OAAlB;AACE,aAAOtC,aAAa,CAAClB,QAAD,CAApB;;AACF,SAAKmD,+BAAaM,YAAlB;AACE,aAAOpC,kBAAkB,CAACrB,QAAD,CAAzB;;AACF;AACE,YAAM,IAAI8C,KAAJ,wCAA0CI,IAA1C,EAAN;AAZJ;AAcD","sourcesContent":["import {GeometryType} from 'flatgeobuf/lib/cjs/header_generated';\n\n// Parse Point to flat array\nfunction parsePoint(geometry) {\n const xy = geometry.xyArray();\n const z = geometry.zArray();\n const positions = blitArrays(xy, z);\n return {positions};\n}\n\nfunction parseLines(geometry) {\n const xy = geometry.xyArray();\n const z = geometry.zArray();\n const positions = blitArrays(xy, z);\n\n // If endsArray is null, a single LineString. Otherwise, contains the end\n // indices of each part of the MultiLineString. geometry.endsArray() omits the\n // initial 0 that we have in our internal format.\n const ends = (geometry.endsArray() && Array.from(geometry.endsArray())) || [xy.length / 2];\n ends.unshift(0);\n\n const pathIndices = {value: new Uint16Array(ends), size: 1};\n\n return {\n positions,\n pathIndices\n };\n}\n\nfunction parsePolygons(geometry) {\n const xy = geometry.xyArray();\n const z = geometry.zArray();\n const positions = blitArrays(xy, z);\n\n // If endsArray is null, a simple Polygon with no inner rings. Otherwise,\n // contains the end indices of each ring of the Polygon. geometry.endsArray()\n // omits the initial 0 that we have in our internal format.\n const ends = (geometry.endsArray() && Array.from(geometry.endsArray())) || [xy.length / 2];\n ends.unshift(0);\n\n const primitivePolygonIndices = {value: new Uint16Array(ends), size: 1};\n const polygonIndices = {value: new Uint16Array([0, xy.length / 2]), size: 1};\n\n return {\n positions,\n primitivePolygonIndices,\n polygonIndices\n };\n}\n\n// eslint-disable-next-line max-statements\nfunction parseMultiPolygons(geometry) {\n // Create arrays for each geometry part, then concatenate\n const parsedParts: any[] = [];\n let nPositions = 0;\n let nPrimitivePolygonIndices = 1;\n let nPolygonIndices = 1;\n\n for (let i = 0; i < geometry.partsLength(); i++) {\n const part = geometry.parts(i);\n const polygon = parsePolygons(part);\n\n nPositions += polygon.positions.value.length;\n nPrimitivePolygonIndices += polygon.primitivePolygonIndices.value.length - 1;\n nPolygonIndices += polygon.polygonIndices.value.length - 1;\n\n parsedParts.push(polygon);\n }\n\n const concatPositions = new Float64Array(nPositions);\n const concatPrimitivePolygonIndices = new Uint32Array(nPrimitivePolygonIndices);\n const concatPolygonIndices = new Uint32Array(nPolygonIndices);\n\n let positionCounter = 0;\n let primitivePolygonIndicesCounter = 1;\n let polygonIndicesCounter = 1;\n\n // Assumes all parts of the multipolygon have the same size\n const positionSize = parsedParts[0].positions.size;\n\n for (const parsedPart of parsedParts) {\n concatPositions.set(parsedPart.positions.value, positionCounter * positionSize);\n\n // For indices, need to add positionCounter so that position indices are\n // correct in the concatenated positions\n concatPrimitivePolygonIndices.set(\n // eslint-disable-next-line\n parsedPart.primitivePolygonIndices.value.subarray(1).map((x) => x + positionCounter),\n primitivePolygonIndicesCounter\n );\n concatPolygonIndices.set(\n // eslint-disable-next-line\n parsedPart.polygonIndices.value.subarray(1).map((x) => x + positionCounter),\n polygonIndicesCounter\n );\n\n positionCounter += parsedPart.positions.value.length / positionSize;\n primitivePolygonIndicesCounter += parsedPart.primitivePolygonIndices.value.length - 1;\n polygonIndicesCounter += parsedPart.polygonIndices.value.length - 1;\n }\n\n return {\n positions: {value: concatPositions, size: positionSize},\n primitivePolygonIndices: {value: concatPrimitivePolygonIndices, size: 1},\n polygonIndices: {value: concatPolygonIndices, size: 1}\n };\n}\n\n// Combine xy and z arrays\nfunction blitArrays(xy, z) {\n if (!z) {\n return {value: xy, size: 2};\n }\n\n if (z.length * 2 !== xy.length) {\n throw new Error('Z array must be half XY array\\'s length');\n }\n const totalLength = xy.length + z.length;\n\n const xyz = new Float64Array(totalLength);\n for (let i = 0; i < xy.length / 2; i++) {\n xyz[i * 3 + 0] = xy[i * 2 + 0];\n xyz[i * 3 + 1] = xy[i * 2 + 1];\n xyz[i * 3 + 2] = z[i];\n }\n return {value: xyz, size: 3};\n}\n\nexport function fromGeometry(geometry, type) {\n switch (type) {\n case GeometryType.Point:\n case GeometryType.MultiPoint:\n return parsePoint(geometry);\n case GeometryType.LineString:\n case GeometryType.MultiLineString:\n return parseLines(geometry);\n case GeometryType.Polygon:\n return parsePolygons(geometry);\n case GeometryType.MultiPolygon:\n return parseMultiPolygons(geometry);\n default:\n throw new Error(`Unimplemented geometry type: ${type}`);\n }\n}\n"],"file":"binary-geometries.js"}
1
+ {"version":3,"file":"binary-geometries.js","names":["parsePoint","geometry","xy","xyArray","z","zArray","positions","blitArrays","parseLines","ends","endsArray","Array","from","length","unshift","pathIndices","value","Uint16Array","size","parsePolygons","primitivePolygonIndices","polygonIndices","parseMultiPolygons","parsedParts","nPositions","nPrimitivePolygonIndices","nPolygonIndices","i","partsLength","part","parts","polygon","push","concatPositions","Float64Array","concatPrimitivePolygonIndices","Uint32Array","concatPolygonIndices","positionCounter","primitivePolygonIndicesCounter","polygonIndicesCounter","positionSize","parsedPart","set","subarray","map","x","Error","totalLength","xyz","fromGeometry","type","GeometryType","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],"sources":["../../../src/lib/binary-geometries.ts"],"sourcesContent":["import {GeometryType} from 'flatgeobuf/lib/cjs/header_generated';\n\n// Parse Point to flat array\nfunction parsePoint(geometry) {\n const xy = geometry.xyArray();\n const z = geometry.zArray();\n const positions = blitArrays(xy, z);\n return {positions};\n}\n\nfunction parseLines(geometry) {\n const xy = geometry.xyArray();\n const z = geometry.zArray();\n const positions = blitArrays(xy, z);\n\n // If endsArray is null, a single LineString. Otherwise, contains the end\n // indices of each part of the MultiLineString. geometry.endsArray() omits the\n // initial 0 that we have in our internal format.\n const ends = (geometry.endsArray() && Array.from(geometry.endsArray())) || [xy.length / 2];\n ends.unshift(0);\n\n const pathIndices = {value: new Uint16Array(ends), size: 1};\n\n return {\n positions,\n pathIndices\n };\n}\n\nfunction parsePolygons(geometry) {\n const xy = geometry.xyArray();\n const z = geometry.zArray();\n const positions = blitArrays(xy, z);\n\n // If endsArray is null, a simple Polygon with no inner rings. Otherwise,\n // contains the end indices of each ring of the Polygon. geometry.endsArray()\n // omits the initial 0 that we have in our internal format.\n const ends = (geometry.endsArray() && Array.from(geometry.endsArray())) || [xy.length / 2];\n ends.unshift(0);\n\n const primitivePolygonIndices = {value: new Uint16Array(ends), size: 1};\n const polygonIndices = {value: new Uint16Array([0, xy.length / 2]), size: 1};\n\n return {\n positions,\n primitivePolygonIndices,\n polygonIndices\n };\n}\n\n// eslint-disable-next-line max-statements\nfunction parseMultiPolygons(geometry) {\n // Create arrays for each geometry part, then concatenate\n const parsedParts: any[] = [];\n let nPositions = 0;\n let nPrimitivePolygonIndices = 1;\n let nPolygonIndices = 1;\n\n for (let i = 0; i < geometry.partsLength(); i++) {\n const part = geometry.parts(i);\n const polygon = parsePolygons(part);\n\n nPositions += polygon.positions.value.length;\n nPrimitivePolygonIndices += polygon.primitivePolygonIndices.value.length - 1;\n nPolygonIndices += polygon.polygonIndices.value.length - 1;\n\n parsedParts.push(polygon);\n }\n\n const concatPositions = new Float64Array(nPositions);\n const concatPrimitivePolygonIndices = new Uint32Array(nPrimitivePolygonIndices);\n const concatPolygonIndices = new Uint32Array(nPolygonIndices);\n\n let positionCounter = 0;\n let primitivePolygonIndicesCounter = 1;\n let polygonIndicesCounter = 1;\n\n // Assumes all parts of the multipolygon have the same size\n const positionSize = parsedParts[0].positions.size;\n\n for (const parsedPart of parsedParts) {\n concatPositions.set(parsedPart.positions.value, positionCounter * positionSize);\n\n // For indices, need to add positionCounter so that position indices are\n // correct in the concatenated positions\n concatPrimitivePolygonIndices.set(\n // eslint-disable-next-line\n parsedPart.primitivePolygonIndices.value.subarray(1).map((x) => x + positionCounter),\n primitivePolygonIndicesCounter\n );\n concatPolygonIndices.set(\n // eslint-disable-next-line\n parsedPart.polygonIndices.value.subarray(1).map((x) => x + positionCounter),\n polygonIndicesCounter\n );\n\n positionCounter += parsedPart.positions.value.length / positionSize;\n primitivePolygonIndicesCounter += parsedPart.primitivePolygonIndices.value.length - 1;\n polygonIndicesCounter += parsedPart.polygonIndices.value.length - 1;\n }\n\n return {\n positions: {value: concatPositions, size: positionSize},\n primitivePolygonIndices: {value: concatPrimitivePolygonIndices, size: 1},\n polygonIndices: {value: concatPolygonIndices, size: 1}\n };\n}\n\n// Combine xy and z arrays\nfunction blitArrays(xy, z) {\n if (!z) {\n return {value: xy, size: 2};\n }\n\n if (z.length * 2 !== xy.length) {\n throw new Error('Z array must be half XY array\\'s length');\n }\n const totalLength = xy.length + z.length;\n\n const xyz = new Float64Array(totalLength);\n for (let i = 0; i < xy.length / 2; i++) {\n xyz[i * 3 + 0] = xy[i * 2 + 0];\n xyz[i * 3 + 1] = xy[i * 2 + 1];\n xyz[i * 3 + 2] = z[i];\n }\n return {value: xyz, size: 3};\n}\n\nexport function fromGeometry(geometry, type) {\n switch (type) {\n case GeometryType.Point:\n case GeometryType.MultiPoint:\n return parsePoint(geometry);\n case GeometryType.LineString:\n case GeometryType.MultiLineString:\n return parseLines(geometry);\n case GeometryType.Polygon:\n return parsePolygons(geometry);\n case GeometryType.MultiPolygon:\n return parseMultiPolygons(geometry);\n default:\n throw new Error(`Unimplemented geometry type: ${type}`);\n }\n}\n"],"mappings":"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"}