@loaders.gl/wkt 4.0.0-beta.2 → 4.0.0-beta.4
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 → dist.dev.js} +563 -606
- package/dist/hex-wkb-loader.d.ts.map +1 -0
- package/dist/{esm/hex-wkb-loader.js → hex-wkb-loader.js} +3 -3
- package/dist/hex-wkb-loader.js.map +1 -0
- package/dist/index.cjs +1799 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/encode-twkb.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/encode-twkb.js +2 -2
- package/dist/lib/encode-twkb.js.map +1 -0
- package/dist/lib/encode-wkb.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/encode-wkb.js +3 -3
- package/dist/lib/encode-wkb.js.map +1 -0
- package/dist/lib/encode-wkt-crs.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/encode-wkt-crs.js +4 -4
- package/dist/lib/encode-wkt-crs.js.map +1 -0
- package/dist/lib/encode-wkt.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/encode-wkt.js +8 -8
- package/dist/lib/encode-wkt.js.map +1 -0
- package/dist/lib/parse-hex-wkb.d.ts.map +1 -0
- package/dist/lib/parse-hex-wkb.js.map +1 -0
- package/dist/lib/parse-twkb.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/parse-twkb.js +3 -3
- package/dist/lib/parse-twkb.js.map +1 -0
- package/dist/lib/parse-wkb-header.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/parse-wkb-header.js +1 -1
- package/dist/lib/parse-wkb-header.js.map +1 -0
- package/dist/lib/parse-wkb.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/parse-wkb.js +2 -2
- package/dist/lib/parse-wkb.js.map +1 -0
- package/dist/lib/parse-wkt-crs.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/parse-wkt-crs.js +7 -7
- package/dist/lib/parse-wkt-crs.js.map +1 -0
- package/dist/lib/parse-wkt.d.ts.map +1 -0
- package/dist/lib/parse-wkt.js.map +1 -0
- package/dist/lib/utils/base64-encoder.d.ts.map +1 -0
- package/dist/lib/utils/base64-encoder.js.map +1 -0
- package/dist/lib/utils/binary-reader.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/utils/binary-reader.js +4 -5
- package/dist/lib/utils/binary-reader.js.map +1 -0
- package/dist/lib/utils/binary-writer.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/utils/binary-writer.js +4 -5
- package/dist/lib/utils/binary-writer.js.map +1 -0
- package/dist/lib/utils/hex-encoder.d.ts.map +1 -0
- package/dist/lib/utils/hex-encoder.js.map +1 -0
- package/dist/lib/utils/hex-transcoder.d.ts.map +1 -0
- package/dist/lib/utils/hex-transcoder.js.map +1 -0
- package/dist/lib/utils/version.d.ts.map +1 -0
- package/dist/lib/utils/version.js +2 -0
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/twkb-loader.d.ts.map +1 -0
- package/dist/{esm/twkb-loader.js → twkb-loader.js} +2 -2
- package/dist/twkb-loader.js.map +1 -0
- package/dist/twkb-writer.d.ts.map +1 -0
- package/dist/{esm/twkb-writer.js → twkb-writer.js} +2 -2
- package/dist/twkb-writer.js.map +1 -0
- package/dist/wkb-loader.d.ts.map +1 -0
- package/dist/{esm/wkb-loader.js → wkb-loader.js} +3 -3
- package/dist/wkb-loader.js.map +1 -0
- package/dist/wkb-writer.d.ts.map +1 -0
- package/dist/{esm/wkb-writer.js → wkb-writer.js} +2 -2
- package/dist/wkb-writer.js.map +1 -0
- package/dist/wkt-crs-loader.d.ts.map +1 -0
- package/dist/{esm/wkt-crs-loader.js → wkt-crs-loader.js} +2 -2
- package/dist/wkt-crs-loader.js.map +1 -0
- package/dist/wkt-crs-writer.d.ts.map +1 -0
- package/dist/{esm/wkt-crs-writer.js → wkt-crs-writer.js} +2 -2
- package/dist/wkt-crs-writer.js.map +1 -0
- package/dist/wkt-loader.d.ts.map +1 -0
- package/dist/{esm/wkt-loader.js → wkt-loader.js} +3 -3
- package/dist/wkt-loader.js.map +1 -0
- package/dist/wkt-worker.js +18 -3
- package/dist/wkt-writer.d.ts.map +1 -0
- package/dist/{esm/wkt-writer.js → wkt-writer.js} +2 -2
- package/dist/wkt-writer.js.map +1 -0
- package/dist/{src/workers → workers}/wkb-worker.d.ts.map +1 -1
- package/dist/{esm/workers → workers}/wkb-worker.js +1 -1
- package/dist/workers/wkb-worker.js.map +1 -0
- package/dist/{src/workers → workers}/wkt-worker.d.ts.map +1 -1
- package/dist/{esm/workers → workers}/wkt-worker.js +1 -1
- package/dist/workers/wkt-worker.js.map +1 -0
- package/package.json +16 -8
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/hex-wkb-loader.js +0 -64
- package/dist/es5/hex-wkb-loader.js.map +0 -1
- package/dist/es5/index.js +0 -121
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/encode-twkb.js +0 -269
- package/dist/es5/lib/encode-twkb.js.map +0 -1
- package/dist/es5/lib/encode-wkb.js +0 -376
- package/dist/es5/lib/encode-wkb.js.map +0 -1
- package/dist/es5/lib/encode-wkt-crs.js +0 -32
- package/dist/es5/lib/encode-wkt-crs.js.map +0 -1
- package/dist/es5/lib/encode-wkt.js +0 -45
- package/dist/es5/lib/encode-wkt.js.map +0 -1
- package/dist/es5/lib/parse-hex-wkb.js +0 -2
- package/dist/es5/lib/parse-hex-wkb.js.map +0 -1
- package/dist/es5/lib/parse-twkb.js +0 -263
- package/dist/es5/lib/parse-twkb.js.map +0 -1
- package/dist/es5/lib/parse-wkb-header.js +0 -114
- package/dist/es5/lib/parse-wkb-header.js.map +0 -1
- package/dist/es5/lib/parse-wkb.js +0 -297
- package/dist/es5/lib/parse-wkb.js.map +0 -1
- package/dist/es5/lib/parse-wkt-crs.js +0 -106
- package/dist/es5/lib/parse-wkt-crs.js.map +0 -1
- package/dist/es5/lib/parse-wkt.js +0 -233
- package/dist/es5/lib/parse-wkt.js.map +0 -1
- package/dist/es5/lib/utils/base64-encoder.js +0 -26
- package/dist/es5/lib/utils/base64-encoder.js.map +0 -1
- package/dist/es5/lib/utils/binary-reader.js +0 -98
- package/dist/es5/lib/utils/binary-reader.js.map +0 -1
- package/dist/es5/lib/utils/binary-writer.js +0 -161
- package/dist/es5/lib/utils/binary-writer.js.map +0 -1
- package/dist/es5/lib/utils/hex-encoder.js +0 -63
- package/dist/es5/lib/utils/hex-encoder.js.map +0 -1
- package/dist/es5/lib/utils/hex-transcoder.js +0 -41
- package/dist/es5/lib/utils/hex-transcoder.js.map +0 -1
- package/dist/es5/lib/utils/version.js +0 -9
- package/dist/es5/lib/utils/version.js.map +0 -1
- package/dist/es5/twkb-loader.js +0 -53
- package/dist/es5/twkb-loader.js.map +0 -1
- package/dist/es5/twkb-writer.js +0 -40
- package/dist/es5/twkb-writer.js.map +0 -1
- package/dist/es5/wkb-loader.js +0 -54
- package/dist/es5/wkb-loader.js.map +0 -1
- package/dist/es5/wkb-writer.js +0 -24
- package/dist/es5/wkb-writer.js.map +0 -1
- package/dist/es5/wkt-crs-loader.js +0 -47
- package/dist/es5/wkt-crs-loader.js.map +0 -1
- package/dist/es5/wkt-crs-writer.js +0 -49
- package/dist/es5/wkt-crs-writer.js.map +0 -1
- package/dist/es5/wkt-loader.js +0 -55
- package/dist/es5/wkt-loader.js.map +0 -1
- package/dist/es5/wkt-writer.js +0 -21
- package/dist/es5/wkt-writer.js.map +0 -1
- package/dist/es5/workers/wkb-worker.js +0 -6
- package/dist/es5/workers/wkb-worker.js.map +0 -1
- package/dist/es5/workers/wkt-worker.js +0 -6
- package/dist/es5/workers/wkt-worker.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/hex-wkb-loader.js.map +0 -1
- package/dist/esm/index.js +0 -14
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/encode-twkb.js.map +0 -1
- package/dist/esm/lib/encode-wkb.js.map +0 -1
- package/dist/esm/lib/encode-wkt-crs.js.map +0 -1
- package/dist/esm/lib/encode-wkt.js.map +0 -1
- package/dist/esm/lib/parse-hex-wkb.js.map +0 -1
- package/dist/esm/lib/parse-twkb.js.map +0 -1
- package/dist/esm/lib/parse-wkb-header.js.map +0 -1
- package/dist/esm/lib/parse-wkb.js.map +0 -1
- package/dist/esm/lib/parse-wkt-crs.js.map +0 -1
- package/dist/esm/lib/parse-wkt.js.map +0 -1
- package/dist/esm/lib/utils/base64-encoder.js.map +0 -1
- package/dist/esm/lib/utils/binary-reader.js.map +0 -1
- package/dist/esm/lib/utils/binary-writer.js.map +0 -1
- package/dist/esm/lib/utils/hex-encoder.js.map +0 -1
- package/dist/esm/lib/utils/hex-transcoder.js.map +0 -1
- package/dist/esm/lib/utils/version.js +0 -2
- package/dist/esm/lib/utils/version.js.map +0 -1
- package/dist/esm/twkb-loader.js.map +0 -1
- package/dist/esm/twkb-writer.js.map +0 -1
- package/dist/esm/wkb-loader.js.map +0 -1
- package/dist/esm/wkb-writer.js.map +0 -1
- package/dist/esm/wkt-crs-loader.js.map +0 -1
- package/dist/esm/wkt-crs-writer.js.map +0 -1
- package/dist/esm/wkt-loader.js.map +0 -1
- package/dist/esm/wkt-writer.js.map +0 -1
- package/dist/esm/workers/wkb-worker.js.map +0 -1
- package/dist/esm/workers/wkt-worker.js.map +0 -1
- package/dist/src/bundle.d.ts +0 -2
- package/dist/src/bundle.d.ts.map +0 -1
- package/dist/src/hex-wkb-loader.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/lib/encode-twkb.d.ts.map +0 -1
- package/dist/src/lib/encode-wkb.d.ts.map +0 -1
- package/dist/src/lib/encode-wkt-crs.d.ts.map +0 -1
- package/dist/src/lib/encode-wkt.d.ts.map +0 -1
- package/dist/src/lib/parse-hex-wkb.d.ts.map +0 -1
- package/dist/src/lib/parse-twkb.d.ts.map +0 -1
- package/dist/src/lib/parse-wkb-header.d.ts.map +0 -1
- package/dist/src/lib/parse-wkb.d.ts.map +0 -1
- package/dist/src/lib/parse-wkt-crs.d.ts.map +0 -1
- package/dist/src/lib/parse-wkt.d.ts.map +0 -1
- package/dist/src/lib/utils/base64-encoder.d.ts.map +0 -1
- package/dist/src/lib/utils/binary-reader.d.ts.map +0 -1
- package/dist/src/lib/utils/binary-writer.d.ts.map +0 -1
- package/dist/src/lib/utils/hex-encoder.d.ts.map +0 -1
- package/dist/src/lib/utils/hex-transcoder.d.ts.map +0 -1
- package/dist/src/lib/utils/version.d.ts.map +0 -1
- package/dist/src/twkb-loader.d.ts.map +0 -1
- package/dist/src/twkb-writer.d.ts.map +0 -1
- package/dist/src/wkb-loader.d.ts.map +0 -1
- package/dist/src/wkb-writer.d.ts.map +0 -1
- package/dist/src/wkt-crs-loader.d.ts.map +0 -1
- package/dist/src/wkt-crs-writer.d.ts.map +0 -1
- package/dist/src/wkt-loader.d.ts.map +0 -1
- package/dist/src/wkt-writer.d.ts.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/bundle.ts +0 -4
- /package/dist/{src/hex-wkb-loader.d.ts → hex-wkb-loader.d.ts} +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/lib → lib}/encode-twkb.d.ts +0 -0
- /package/dist/{src/lib → lib}/encode-wkb.d.ts +0 -0
- /package/dist/{src/lib → lib}/encode-wkt-crs.d.ts +0 -0
- /package/dist/{src/lib → lib}/encode-wkt.d.ts +0 -0
- /package/dist/{src/lib → lib}/parse-hex-wkb.d.ts +0 -0
- /package/dist/{esm/lib → lib}/parse-hex-wkb.js +0 -0
- /package/dist/{src/lib → lib}/parse-twkb.d.ts +0 -0
- /package/dist/{src/lib → lib}/parse-wkb-header.d.ts +0 -0
- /package/dist/{src/lib → lib}/parse-wkb.d.ts +0 -0
- /package/dist/{src/lib → lib}/parse-wkt-crs.d.ts +0 -0
- /package/dist/{src/lib → lib}/parse-wkt.d.ts +0 -0
- /package/dist/{esm/lib → lib}/parse-wkt.js +0 -0
- /package/dist/{src/lib → lib}/utils/base64-encoder.d.ts +0 -0
- /package/dist/{esm/lib → lib}/utils/base64-encoder.js +0 -0
- /package/dist/{src/lib → lib}/utils/binary-reader.d.ts +0 -0
- /package/dist/{src/lib → lib}/utils/binary-writer.d.ts +0 -0
- /package/dist/{src/lib → lib}/utils/hex-encoder.d.ts +0 -0
- /package/dist/{esm/lib → lib}/utils/hex-encoder.js +0 -0
- /package/dist/{src/lib → lib}/utils/hex-transcoder.d.ts +0 -0
- /package/dist/{esm/lib → lib}/utils/hex-transcoder.js +0 -0
- /package/dist/{src/lib → lib}/utils/version.d.ts +0 -0
- /package/dist/{src/twkb-loader.d.ts → twkb-loader.d.ts} +0 -0
- /package/dist/{src/twkb-writer.d.ts → twkb-writer.d.ts} +0 -0
- /package/dist/{src/wkb-loader.d.ts → wkb-loader.d.ts} +0 -0
- /package/dist/{src/wkb-writer.d.ts → wkb-writer.d.ts} +0 -0
- /package/dist/{src/wkt-crs-loader.d.ts → wkt-crs-loader.d.ts} +0 -0
- /package/dist/{src/wkt-crs-writer.d.ts → wkt-crs-writer.d.ts} +0 -0
- /package/dist/{src/wkt-loader.d.ts → wkt-loader.d.ts} +0 -0
- /package/dist/{src/wkt-writer.d.ts → wkt-writer.d.ts} +0 -0
- /package/dist/{src/workers → workers}/wkb-worker.d.ts +0 -0
- /package/dist/{src/workers → workers}/wkt-worker.d.ts +0 -0
package/dist/es5/index.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "HexWKBLoader", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _hexWkbLoader.HexWKBLoader;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "TWKBLoader", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _twkbLoader.TWKBLoader;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "TWKBWriter", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function get() {
|
|
21
|
-
return _twkbWriter.TWKBWriter;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "WKBLoader", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function get() {
|
|
27
|
-
return _wkbLoader.WKBLoader;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "WKBWorkerLoader", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function get() {
|
|
33
|
-
return _wkbLoader.WKBWorkerLoader;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "WKBWriter", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function get() {
|
|
39
|
-
return _wkbWriter.WKBWriter;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "WKTCRSLoader", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function get() {
|
|
45
|
-
return _wktCrsLoader.WKTCRSLoader;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(exports, "WKTCRSWriter", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function get() {
|
|
51
|
-
return _wktCrsWriter.WKTCRSWriter;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(exports, "WKTLoader", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function get() {
|
|
57
|
-
return _wktLoader.WKTLoader;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
Object.defineProperty(exports, "WKTWorkerLoader", {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
get: function get() {
|
|
63
|
-
return _wktLoader.WKTWorkerLoader;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
Object.defineProperty(exports, "WKTWriter", {
|
|
67
|
-
enumerable: true,
|
|
68
|
-
get: function get() {
|
|
69
|
-
return _wktWriter.WKTWriter;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(exports, "decodeHex", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
get: function get() {
|
|
75
|
-
return _hexTranscoder.decodeHex;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
Object.defineProperty(exports, "encodeHex", {
|
|
79
|
-
enumerable: true,
|
|
80
|
-
get: function get() {
|
|
81
|
-
return _hexTranscoder.encodeHex;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(exports, "isTWKB", {
|
|
85
|
-
enumerable: true,
|
|
86
|
-
get: function get() {
|
|
87
|
-
return _parseTwkb.isTWKB;
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
Object.defineProperty(exports, "isWKB", {
|
|
91
|
-
enumerable: true,
|
|
92
|
-
get: function get() {
|
|
93
|
-
return _parseWkbHeader.isWKB;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
Object.defineProperty(exports, "isWKT", {
|
|
97
|
-
enumerable: true,
|
|
98
|
-
get: function get() {
|
|
99
|
-
return _parseWkt.isWKT;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
Object.defineProperty(exports, "parseWKBHeader", {
|
|
103
|
-
enumerable: true,
|
|
104
|
-
get: function get() {
|
|
105
|
-
return _parseWkbHeader.parseWKBHeader;
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
var _wktCrsLoader = require("./wkt-crs-loader");
|
|
109
|
-
var _wktCrsWriter = require("./wkt-crs-writer");
|
|
110
|
-
var _wktLoader = require("./wkt-loader");
|
|
111
|
-
var _wktWriter = require("./wkt-writer");
|
|
112
|
-
var _wkbLoader = require("./wkb-loader");
|
|
113
|
-
var _wkbWriter = require("./wkb-writer");
|
|
114
|
-
var _hexWkbLoader = require("./hex-wkb-loader");
|
|
115
|
-
var _twkbLoader = require("./twkb-loader");
|
|
116
|
-
var _twkbWriter = require("./twkb-writer");
|
|
117
|
-
var _parseWkt = require("./lib/parse-wkt");
|
|
118
|
-
var _parseWkbHeader = require("./lib/parse-wkb-header");
|
|
119
|
-
var _parseTwkb = require("./lib/parse-twkb");
|
|
120
|
-
var _hexTranscoder = require("./lib/utils/hex-transcoder");
|
|
121
|
-
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_wktCrsLoader","require","_wktCrsWriter","_wktLoader","_wktWriter","_wkbLoader","_wkbWriter","_hexWkbLoader","_twkbLoader","_twkbWriter","_parseWkt","_parseWkbHeader","_parseTwkb","_hexTranscoder"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport {WKTCRSLoader} from './wkt-crs-loader';\nexport {WKTCRSWriter} from './wkt-crs-writer';\n\nexport {WKTLoader, WKTWorkerLoader} from './wkt-loader';\nexport {WKTWriter} from './wkt-writer';\n\nexport {WKBLoader, WKBWorkerLoader} from './wkb-loader';\nexport {WKBWriter} from './wkb-writer';\n\nexport {HexWKBLoader} from './hex-wkb-loader';\n\nexport {TWKBLoader} from './twkb-loader';\nexport {TWKBWriter} from './twkb-writer';\n\n// EXPERIMENTAL APIs\nexport {isWKT} from './lib/parse-wkt';\n\nexport {isWKB, parseWKBHeader} from './lib/parse-wkb-header';\nexport type {WKBHeader} from './lib/parse-wkb-header';\n\nexport {isTWKB} from './lib/parse-twkb';\n\nexport {encodeHex, decodeHex} from './lib/utils/hex-transcoder';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAGA,IAAAS,SAAA,GAAAT,OAAA;AAEA,IAAAU,eAAA,GAAAV,OAAA;AAGA,IAAAW,UAAA,GAAAX,OAAA;AAEA,IAAAY,cAAA,GAAAZ,OAAA"}
|
|
@@ -1,269 +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.encodeTWKB = encodeTWKB;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _binaryWriter = require("./utils/binary-writer");
|
|
10
|
-
var _parseWkbHeader = require("./parse-wkb-header");
|
|
11
|
-
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; } } }; }
|
|
12
|
-
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); }
|
|
13
|
-
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; }
|
|
14
|
-
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; }
|
|
15
|
-
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; }
|
|
16
|
-
function encodeTWKB(geometry, options) {
|
|
17
|
-
var writer = new _binaryWriter.BinaryWriter(0, true);
|
|
18
|
-
var context = _objectSpread(_objectSpread({}, getTwkbPrecision(5, 0, 0)), {}, {
|
|
19
|
-
hasZ: options === null || options === void 0 ? void 0 : options.hasZ,
|
|
20
|
-
hasM: options === null || options === void 0 ? void 0 : options.hasM
|
|
21
|
-
});
|
|
22
|
-
encodeGeometry(writer, geometry, context);
|
|
23
|
-
return writer.arrayBuffer;
|
|
24
|
-
}
|
|
25
|
-
function encodeGeometry(writer, geometry, context) {
|
|
26
|
-
switch (geometry.type) {
|
|
27
|
-
case 'Point':
|
|
28
|
-
return encodePoint(writer, context, geometry);
|
|
29
|
-
case 'LineString':
|
|
30
|
-
return encodeLineString(writer, context, geometry);
|
|
31
|
-
case 'Polygon':
|
|
32
|
-
return encodePolygon(writer, context, geometry);
|
|
33
|
-
case 'MultiPoint':
|
|
34
|
-
return encodeMultiPoint(writer, context, geometry);
|
|
35
|
-
case 'MultiLineString':
|
|
36
|
-
return encodeMultiLineString(writer, context, geometry);
|
|
37
|
-
case 'MultiPolygon':
|
|
38
|
-
return encodeMultiPolygon(writer, context, geometry);
|
|
39
|
-
case 'GeometryCollection':
|
|
40
|
-
return encodeGeometryCollection(writer, context, geometry);
|
|
41
|
-
default:
|
|
42
|
-
throw new Error('unsupported geometry type');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function encodePoint(writer, context, point) {
|
|
46
|
-
var isEmpty = point.coordinates.length === 0 || point[0] === 'undefined' || point[1] === 'undefined';
|
|
47
|
-
writeTwkbHeader(writer, context, _parseWkbHeader.WKBGeometryType.Point, isEmpty);
|
|
48
|
-
if (!isEmpty) {
|
|
49
|
-
var previousPoint = [0, 0, 0, 0];
|
|
50
|
-
writeTwkbPoint(writer, context, point.coordinates, previousPoint);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function encodeLineString(writer, context, lineString) {
|
|
54
|
-
var points = lineString.coordinates;
|
|
55
|
-
var isEmpty = points.length === 0;
|
|
56
|
-
writeTwkbHeader(writer, context, _parseWkbHeader.WKBGeometryType.LineString, isEmpty);
|
|
57
|
-
if (!isEmpty) {
|
|
58
|
-
writer.writeVarInt(points.length);
|
|
59
|
-
var previousPoint = [0, 0, 0, 0];
|
|
60
|
-
var _iterator = _createForOfIteratorHelper(points),
|
|
61
|
-
_step;
|
|
62
|
-
try {
|
|
63
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
64
|
-
var point = _step.value;
|
|
65
|
-
writeTwkbPoint(writer, context, point, previousPoint);
|
|
66
|
-
}
|
|
67
|
-
} catch (err) {
|
|
68
|
-
_iterator.e(err);
|
|
69
|
-
} finally {
|
|
70
|
-
_iterator.f();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return writer.arrayBuffer;
|
|
74
|
-
}
|
|
75
|
-
function encodePolygon(writer, context, polygon) {
|
|
76
|
-
var polygonRings = polygon.coordinates;
|
|
77
|
-
var isEmpty = polygonRings.length === 0;
|
|
78
|
-
writeTwkbHeader(writer, context, _parseWkbHeader.WKBGeometryType.Polygon, isEmpty);
|
|
79
|
-
if (!isEmpty) {
|
|
80
|
-
writer.writeVarInt(polygonRings.length);
|
|
81
|
-
var previousPoint = [0, 0, 0, 0];
|
|
82
|
-
var _iterator2 = _createForOfIteratorHelper(polygonRings),
|
|
83
|
-
_step2;
|
|
84
|
-
try {
|
|
85
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
86
|
-
var ring = _step2.value;
|
|
87
|
-
writer.writeVarInt(ring.length);
|
|
88
|
-
var _iterator3 = _createForOfIteratorHelper(ring),
|
|
89
|
-
_step3;
|
|
90
|
-
try {
|
|
91
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
92
|
-
var point = _step3.value;
|
|
93
|
-
writeTwkbPoint(writer, context, previousPoint, point);
|
|
94
|
-
}
|
|
95
|
-
} catch (err) {
|
|
96
|
-
_iterator3.e(err);
|
|
97
|
-
} finally {
|
|
98
|
-
_iterator3.f();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
} catch (err) {
|
|
102
|
-
_iterator2.e(err);
|
|
103
|
-
} finally {
|
|
104
|
-
_iterator2.f();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return writer.arrayBuffer;
|
|
108
|
-
}
|
|
109
|
-
function encodeMultiPoint(writer, context, multiPoint) {
|
|
110
|
-
var points = multiPoint.coordinates;
|
|
111
|
-
var isEmpty = points.length === 0;
|
|
112
|
-
writeTwkbHeader(writer, context, _parseWkbHeader.WKBGeometryType.MultiPoint, isEmpty);
|
|
113
|
-
if (!isEmpty) {
|
|
114
|
-
writer.writeVarInt(points.length);
|
|
115
|
-
var previousPoint = [0, 0, 0, 0];
|
|
116
|
-
for (var i = 0; i < points.length; i++) {
|
|
117
|
-
writeTwkbPoint(writer, context, previousPoint, points[i]);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
function encodeMultiLineString(writer, context, multiLineStrings) {
|
|
122
|
-
var lineStrings = multiLineStrings.coordinates;
|
|
123
|
-
var isEmpty = lineStrings.length === 0;
|
|
124
|
-
writeTwkbHeader(writer, context, _parseWkbHeader.WKBGeometryType.MultiLineString, isEmpty);
|
|
125
|
-
if (!isEmpty) {
|
|
126
|
-
writer.writeVarInt(lineStrings.length);
|
|
127
|
-
var previousPoint = [0, 0, 0, 0];
|
|
128
|
-
var _iterator4 = _createForOfIteratorHelper(lineStrings),
|
|
129
|
-
_step4;
|
|
130
|
-
try {
|
|
131
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
132
|
-
var lineString = _step4.value;
|
|
133
|
-
writer.writeVarInt(lineString.length);
|
|
134
|
-
var _iterator5 = _createForOfIteratorHelper(lineString),
|
|
135
|
-
_step5;
|
|
136
|
-
try {
|
|
137
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
138
|
-
var point = _step5.value;
|
|
139
|
-
writeTwkbPoint(writer, context, previousPoint, point);
|
|
140
|
-
}
|
|
141
|
-
} catch (err) {
|
|
142
|
-
_iterator5.e(err);
|
|
143
|
-
} finally {
|
|
144
|
-
_iterator5.f();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
} catch (err) {
|
|
148
|
-
_iterator4.e(err);
|
|
149
|
-
} finally {
|
|
150
|
-
_iterator4.f();
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return writer.arrayBuffer;
|
|
154
|
-
}
|
|
155
|
-
function encodeMultiPolygon(writer, context, multiPolygon) {
|
|
156
|
-
var coordinates = multiPolygon.coordinates;
|
|
157
|
-
var isEmpty = coordinates.length === 0;
|
|
158
|
-
writeTwkbHeader(writer, context, _parseWkbHeader.WKBGeometryType.MultiPolygon, isEmpty);
|
|
159
|
-
if (!isEmpty) {
|
|
160
|
-
var polygons = coordinates;
|
|
161
|
-
writer.writeVarInt(polygons.length);
|
|
162
|
-
var previousPoint = [0, 0, 0, 0];
|
|
163
|
-
var _iterator6 = _createForOfIteratorHelper(polygons),
|
|
164
|
-
_step6;
|
|
165
|
-
try {
|
|
166
|
-
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
167
|
-
var polygonRings = _step6.value;
|
|
168
|
-
writer.writeVarInt(polygonRings.length);
|
|
169
|
-
var _iterator7 = _createForOfIteratorHelper(polygonRings),
|
|
170
|
-
_step7;
|
|
171
|
-
try {
|
|
172
|
-
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
173
|
-
var ring = _step7.value;
|
|
174
|
-
writer.writeVarInt(ring.length);
|
|
175
|
-
var _iterator8 = _createForOfIteratorHelper(ring),
|
|
176
|
-
_step8;
|
|
177
|
-
try {
|
|
178
|
-
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
179
|
-
var point = _step8.value;
|
|
180
|
-
writeTwkbPoint(writer, context, previousPoint, point);
|
|
181
|
-
}
|
|
182
|
-
} catch (err) {
|
|
183
|
-
_iterator8.e(err);
|
|
184
|
-
} finally {
|
|
185
|
-
_iterator8.f();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
} catch (err) {
|
|
189
|
-
_iterator7.e(err);
|
|
190
|
-
} finally {
|
|
191
|
-
_iterator7.f();
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
} catch (err) {
|
|
195
|
-
_iterator6.e(err);
|
|
196
|
-
} finally {
|
|
197
|
-
_iterator6.f();
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
function encodeGeometryCollection(writer, context, geometryCollection) {
|
|
202
|
-
var geometries = geometryCollection.geometries;
|
|
203
|
-
var isEmpty = geometries.length === 0;
|
|
204
|
-
writeTwkbHeader(writer, context, _parseWkbHeader.WKBGeometryType.GeometryCollection, isEmpty);
|
|
205
|
-
if (geometries.length > 0) {
|
|
206
|
-
writer.writeVarInt(geometries.length);
|
|
207
|
-
var _iterator9 = _createForOfIteratorHelper(geometries),
|
|
208
|
-
_step9;
|
|
209
|
-
try {
|
|
210
|
-
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
211
|
-
var geometry = _step9.value;
|
|
212
|
-
encodeGeometry(writer, geometry, context);
|
|
213
|
-
}
|
|
214
|
-
} catch (err) {
|
|
215
|
-
_iterator9.e(err);
|
|
216
|
-
} finally {
|
|
217
|
-
_iterator9.f();
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
function writeTwkbHeader(writer, context, geometryType, isEmpty) {
|
|
222
|
-
var type = (zigZagEncode(context.xy) << 4) + geometryType;
|
|
223
|
-
var metadataHeader = context.hasZ || context.hasM ? 1 << 3 : 0;
|
|
224
|
-
metadataHeader += isEmpty ? 1 << 4 : 0;
|
|
225
|
-
writer.writeUInt8(type);
|
|
226
|
-
writer.writeUInt8(metadataHeader);
|
|
227
|
-
if (context.hasZ || context.hasM) {
|
|
228
|
-
var extendedPrecision = 0;
|
|
229
|
-
if (context.hasZ) {
|
|
230
|
-
extendedPrecision |= 0x1;
|
|
231
|
-
}
|
|
232
|
-
if (context.hasM) {
|
|
233
|
-
extendedPrecision |= 0x2;
|
|
234
|
-
}
|
|
235
|
-
writer.writeUInt8(extendedPrecision);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
function writeTwkbPoint(writer, context, point, previousPoint) {
|
|
239
|
-
var x = point[0] * context.xyFactor;
|
|
240
|
-
var y = point[1] * context.xyFactor;
|
|
241
|
-
var z = point[2] * context.zFactor;
|
|
242
|
-
var m = point[3] * context.mFactor;
|
|
243
|
-
writer.writeVarInt(zigZagEncode(x - previousPoint[0]));
|
|
244
|
-
writer.writeVarInt(zigZagEncode(y - previousPoint[1]));
|
|
245
|
-
if (context.hasZ) {
|
|
246
|
-
writer.writeVarInt(zigZagEncode(z - previousPoint[2]));
|
|
247
|
-
}
|
|
248
|
-
if (context.hasM) {
|
|
249
|
-
writer.writeVarInt(zigZagEncode(m - previousPoint[3]));
|
|
250
|
-
}
|
|
251
|
-
previousPoint[0] = x;
|
|
252
|
-
previousPoint[1] = y;
|
|
253
|
-
previousPoint[2] = z;
|
|
254
|
-
previousPoint[3] = m;
|
|
255
|
-
}
|
|
256
|
-
function zigZagEncode(value) {
|
|
257
|
-
return value << 1 ^ value >> 31;
|
|
258
|
-
}
|
|
259
|
-
function getTwkbPrecision(xyPrecision, zPrecision, mPrecision) {
|
|
260
|
-
return {
|
|
261
|
-
xy: xyPrecision,
|
|
262
|
-
z: zPrecision,
|
|
263
|
-
m: mPrecision,
|
|
264
|
-
xyFactor: Math.pow(10, xyPrecision),
|
|
265
|
-
zFactor: Math.pow(10, zPrecision),
|
|
266
|
-
mFactor: Math.pow(10, mPrecision)
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
//# sourceMappingURL=encode-twkb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encode-twkb.js","names":["_binaryWriter","require","_parseWkbHeader","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","encodeTWKB","geometry","options","writer","BinaryWriter","context","getTwkbPrecision","hasZ","hasM","encodeGeometry","arrayBuffer","type","encodePoint","encodeLineString","encodePolygon","encodeMultiPoint","encodeMultiLineString","encodeMultiPolygon","encodeGeometryCollection","Error","point","isEmpty","coordinates","writeTwkbHeader","WKBGeometryType","Point","previousPoint","writeTwkbPoint","lineString","points","LineString","writeVarInt","_iterator","_step","polygon","polygonRings","Polygon","_iterator2","_step2","ring","_iterator3","_step3","multiPoint","MultiPoint","multiLineStrings","lineStrings","MultiLineString","_iterator4","_step4","_iterator5","_step5","multiPolygon","MultiPolygon","polygons","_iterator6","_step6","_iterator7","_step7","_iterator8","_step8","geometryCollection","geometries","GeometryCollection","_iterator9","_step9","geometryType","zigZagEncode","xy","metadataHeader","writeUInt8","extendedPrecision","x","xyFactor","y","z","zFactor","m","mFactor","xyPrecision","zPrecision","mPrecision","Math","pow"],"sources":["../../../src/lib/encode-twkb.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n\nimport type {Point, MultiPoint, LineString} from '@loaders.gl/schema';\nimport type {\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeometryCollection,\n Geometry\n} from '@loaders.gl/schema';\n\nimport {BinaryWriter} from './utils/binary-writer';\nimport {WKBGeometryType} from './parse-wkb-header';\n\ntype TWKBPrecision = {\n xy: number;\n z: number;\n m: number;\n xyFactor: number;\n zFactor: number;\n mFactor: number;\n};\n\ntype TWKBEncoderContext = TWKBPrecision & {\n hasZ?: boolean;\n hasM?: boolean;\n};\n\nexport function encodeTWKB(\n geometry: Geometry,\n options?: {hasZ?: boolean; hasM?: boolean}\n): ArrayBuffer {\n const writer = new BinaryWriter(0, true);\n\n const context: TWKBEncoderContext = {\n ...getTwkbPrecision(5, 0, 0),\n hasZ: options?.hasZ,\n hasM: options?.hasM\n };\n\n encodeGeometry(writer, geometry, context);\n\n // TODO - we need to slice it?\n return writer.arrayBuffer;\n}\n\nfunction encodeGeometry(writer: BinaryWriter, geometry: Geometry, context: TWKBEncoderContext) {\n switch (geometry.type) {\n case 'Point':\n return encodePoint(writer, context, geometry);\n case 'LineString':\n return encodeLineString(writer, context, geometry);\n case 'Polygon':\n return encodePolygon(writer, context, geometry);\n case 'MultiPoint':\n return encodeMultiPoint(writer, context, geometry);\n case 'MultiLineString':\n return encodeMultiLineString(writer, context, geometry);\n case 'MultiPolygon':\n return encodeMultiPolygon(writer, context, geometry);\n case 'GeometryCollection':\n return encodeGeometryCollection(writer, context, geometry);\n default:\n throw new Error('unsupported geometry type');\n }\n}\n\nfunction encodePoint(writer: BinaryWriter, context: TWKBEncoderContext, point: Point): void {\n const isEmpty =\n point.coordinates.length === 0 || point[0] === 'undefined' || point[1] === 'undefined';\n\n writeTwkbHeader(writer, context, WKBGeometryType.Point, isEmpty);\n\n if (!isEmpty) {\n const previousPoint = [0, 0, 0, 0];\n writeTwkbPoint(writer, context, point.coordinates, previousPoint);\n }\n}\n\nfunction encodeLineString(\n writer: BinaryWriter,\n context: TWKBEncoderContext,\n lineString: LineString\n): ArrayBuffer {\n const points = lineString.coordinates;\n const isEmpty = points.length === 0;\n\n writeTwkbHeader(writer, context, WKBGeometryType.LineString, isEmpty);\n\n if (!isEmpty) {\n writer.writeVarInt(points.length);\n const previousPoint = [0, 0, 0, 0];\n for (const point of points) {\n writeTwkbPoint(writer, context, point, previousPoint);\n }\n }\n\n return writer.arrayBuffer;\n}\n\nfunction encodePolygon(\n writer: BinaryWriter,\n context: TWKBEncoderContext,\n polygon: Polygon\n): ArrayBuffer {\n const polygonRings = polygon.coordinates;\n\n const isEmpty = polygonRings.length === 0;\n\n writeTwkbHeader(writer, context, WKBGeometryType.Polygon, isEmpty);\n\n if (!isEmpty) {\n writer.writeVarInt(polygonRings.length);\n\n const previousPoint = [0, 0, 0, 0];\n for (const ring of polygonRings) {\n writer.writeVarInt(ring.length);\n for (const point of ring) {\n writeTwkbPoint(writer, context, previousPoint, point);\n }\n }\n }\n\n return writer.arrayBuffer;\n}\n\nfunction encodeMultiPoint(\n writer: BinaryWriter,\n context: TWKBEncoderContext,\n multiPoint: MultiPoint\n): void {\n const points = multiPoint.coordinates;\n const isEmpty = points.length === 0;\n\n writeTwkbHeader(writer, context, WKBGeometryType.MultiPoint, isEmpty);\n\n if (!isEmpty) {\n writer.writeVarInt(points.length);\n\n const previousPoint = [0, 0, 0, 0];\n for (let i = 0; i < points.length; i++) {\n writeTwkbPoint(writer, context, previousPoint, points[i]);\n }\n }\n}\n\nfunction encodeMultiLineString(\n writer: BinaryWriter,\n context: TWKBEncoderContext,\n multiLineStrings: MultiLineString\n): ArrayBuffer {\n const lineStrings = multiLineStrings.coordinates;\n const isEmpty = lineStrings.length === 0;\n\n writeTwkbHeader(writer, context, WKBGeometryType.MultiLineString, isEmpty);\n\n if (!isEmpty) {\n writer.writeVarInt(lineStrings.length);\n\n const previousPoint = [0, 0, 0, 0];\n for (const lineString of lineStrings) {\n writer.writeVarInt(lineString.length);\n\n for (const point of lineString) {\n writeTwkbPoint(writer, context, previousPoint, point);\n }\n }\n }\n\n return writer.arrayBuffer;\n}\n\nfunction encodeMultiPolygon(\n writer: BinaryWriter,\n context: TWKBEncoderContext,\n multiPolygon: MultiPolygon\n): void {\n const {coordinates} = multiPolygon;\n const isEmpty = coordinates.length === 0;\n\n writeTwkbHeader(writer, context, WKBGeometryType.MultiPolygon, isEmpty);\n\n if (!isEmpty) {\n const polygons = coordinates;\n writer.writeVarInt(polygons.length);\n\n const previousPoint = [0, 0, 0, 0];\n\n for (const polygonRings of polygons) {\n writer.writeVarInt(polygonRings.length);\n for (const ring of polygonRings) {\n writer.writeVarInt(ring.length);\n for (const point of ring) {\n writeTwkbPoint(writer, context, previousPoint, point);\n }\n }\n }\n }\n}\n\nfunction encodeGeometryCollection(\n writer: BinaryWriter,\n context: TWKBEncoderContext,\n geometryCollection: GeometryCollection\n): void {\n const {geometries} = geometryCollection;\n const isEmpty = geometries.length === 0;\n\n writeTwkbHeader(writer, context, WKBGeometryType.GeometryCollection, isEmpty);\n\n if (geometries.length > 0) {\n writer.writeVarInt(geometries.length);\n for (const geometry of geometries) {\n encodeGeometry(writer, geometry, context);\n }\n }\n}\n\n/**\n *\n * @param writer\n * @param context\n * @param geometryType\n * @param isEmpty\n */\nfunction writeTwkbHeader(\n writer: BinaryWriter,\n context: TWKBEncoderContext,\n geometryType: WKBGeometryType,\n isEmpty: boolean\n) {\n const type = (zigZagEncode(context.xy) << 4) + geometryType;\n let metadataHeader = context.hasZ || context.hasM ? 1 << 3 : 0;\n metadataHeader += isEmpty ? 1 << 4 : 0;\n\n writer.writeUInt8(type);\n writer.writeUInt8(metadataHeader);\n\n if (context.hasZ || context.hasM) {\n let extendedPrecision = 0;\n if (context.hasZ) {\n extendedPrecision |= 0x1;\n }\n if (context.hasM) {\n extendedPrecision |= 0x2;\n }\n writer.writeUInt8(extendedPrecision);\n }\n}\n\n/**\n * Write one point to array buffer. ZigZagEncoding the delta fdrom the previous point. Mutates previousPoint.\n * @param writer\n * @param context\n * @param previousPoint - Mutated by this function\n * @param point\n */\nfunction writeTwkbPoint(\n writer: BinaryWriter,\n context: TWKBEncoderContext,\n point: number[],\n previousPoint: number[]\n): void {\n const x = point[0] * context.xyFactor;\n const y = point[1] * context.xyFactor;\n const z = point[2] * context.zFactor;\n const m = point[3] * context.mFactor;\n\n writer.writeVarInt(zigZagEncode(x - previousPoint[0]));\n writer.writeVarInt(zigZagEncode(y - previousPoint[1]));\n if (context.hasZ) {\n writer.writeVarInt(zigZagEncode(z - previousPoint[2]));\n }\n if (context.hasM) {\n writer.writeVarInt(zigZagEncode(m - previousPoint[3]));\n }\n\n previousPoint[0] = x;\n previousPoint[1] = y;\n previousPoint[2] = z;\n previousPoint[3] = m;\n}\n\n// HELPERS\n\nfunction zigZagEncode(value: number): number {\n return (value << 1) ^ (value >> 31);\n}\n\nfunction getTwkbPrecision(\n xyPrecision: number,\n zPrecision: number,\n mPrecision: number\n): TWKBPrecision {\n return {\n xy: xyPrecision,\n z: zPrecision,\n m: mPrecision,\n xyFactor: Math.pow(10, xyPrecision),\n zFactor: Math.pow(10, zPrecision),\n mFactor: Math.pow(10, mPrecision)\n };\n}\n"],"mappings":"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"}
|