@loaders.gl/flatgeobuf 3.2.12 → 3.3.0-alpha.10
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 +51 -15
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/flatgeobuf-loader.js +1 -1
- package/dist/es5/flatgeobuf-loader.js.map +1 -1
- package/dist/es5/index.js +4 -16
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/binary-geometries.js +8 -19
- package/dist/es5/lib/binary-geometries.js.map +1 -1
- package/dist/es5/lib/parse-flatgeobuf.js +47 -102
- package/dist/es5/lib/parse-flatgeobuf.js.map +1 -1
- package/dist/es5/lib/types.js.map +1 -1
- package/dist/es5/workers/flatgeobuf-worker.js +0 -2
- package/dist/es5/workers/flatgeobuf-worker.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/flatgeobuf-loader.js +2 -1
- package/dist/esm/flatgeobuf-loader.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/binary-geometries.js +8 -17
- package/dist/esm/lib/binary-geometries.js.map +1 -1
- package/dist/esm/lib/parse-flatgeobuf.js +7 -20
- package/dist/esm/lib/parse-flatgeobuf.js.map +1 -1
- package/dist/esm/lib/types.js.map +1 -1
- package/dist/esm/workers/flatgeobuf-worker.js.map +1 -1
- package/dist/flatgeobuf-worker.js +44 -13
- package/dist/lib/types.d.ts +1 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +4 -4
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-
|
|
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
|
-
|
|
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 (
|
|
624
|
+
} else if (axis[0].indexOf("south") !== -1 || (axis[0] === "y" || axis[0] === "lat") && axis[1] === "south") {
|
|
607
625
|
axisOrder += "s";
|
|
608
|
-
} else if (
|
|
626
|
+
} else if (axis[0].indexOf("east") !== -1 || (axis[0] === "x" || axis[0] === "lon") && axis[1] === "east") {
|
|
609
627
|
axisOrder += "e";
|
|
610
|
-
} else if (
|
|
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
|
-
|
|
5994
|
-
|
|
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 =
|
|
5998
|
-
this.unproject =
|
|
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
|
});
|
package/dist/es5/bundle.js
CHANGED
package/dist/es5/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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.
|
|
7
|
+
var VERSION = typeof "3.3.0-alpha.10" !== 'undefined' ? "3.3.0-alpha.10" : 'latest';
|
|
8
8
|
var FlatGeobufLoader = {
|
|
9
9
|
id: 'flatgeobuf',
|
|
10
10
|
name: 'FlatGeobuf',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,uBAAkB,KAAK,WAAW,sBAAiB,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 =
|
|
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
|
|
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;
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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
|
-
|
|
78
|
+
|
|
79
|
+
concatPrimitivePolygonIndices.set(
|
|
80
|
+
parsedPart.primitivePolygonIndices.value.subarray(1).map(function (x) {
|
|
83
81
|
return x + positionCounter;
|
|
84
82
|
}), primitivePolygonIndicesCounter);
|
|
85
|
-
concatPolygonIndices.set(
|
|
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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"}
|