@loaders.gl/wkt 3.4.0-alpha.2 → 3.4.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/es5/index.js.map +1 -1
  2. package/dist/es5/lib/encode-wkb.js +4 -21
  3. package/dist/es5/lib/encode-wkb.js.map +1 -1
  4. package/dist/es5/lib/encode-wkt.js +0 -1
  5. package/dist/es5/lib/encode-wkt.js.map +1 -1
  6. package/dist/es5/lib/parse-wkb.js +1 -13
  7. package/dist/es5/lib/parse-wkb.js.map +1 -1
  8. package/dist/es5/lib/parse-wkt.js +0 -3
  9. package/dist/es5/lib/parse-wkt.js.map +1 -1
  10. package/dist/es5/lib/utils/binary-writer.js +3 -10
  11. package/dist/es5/lib/utils/binary-writer.js.map +1 -1
  12. package/dist/es5/lib/utils/version.js +1 -1
  13. package/dist/es5/lib/utils/version.js.map +1 -1
  14. package/dist/es5/wkb-loader.js +6 -9
  15. package/dist/es5/wkb-loader.js.map +1 -1
  16. package/dist/es5/wkb-writer.js.map +1 -1
  17. package/dist/es5/wkt-loader.js +6 -9
  18. package/dist/es5/wkt-loader.js.map +1 -1
  19. package/dist/es5/wkt-writer.js.map +1 -1
  20. package/dist/es5/workers/wkb-worker.js.map +1 -1
  21. package/dist/es5/workers/wkt-worker.js.map +1 -1
  22. package/dist/esm/bundle.js +0 -1
  23. package/dist/esm/bundle.js.map +1 -1
  24. package/dist/esm/lib/encode-wkb.js +3 -23
  25. package/dist/esm/lib/encode-wkb.js.map +1 -1
  26. package/dist/esm/lib/encode-wkt.js +0 -2
  27. package/dist/esm/lib/encode-wkt.js.map +1 -1
  28. package/dist/esm/lib/parse-wkb.js +0 -12
  29. package/dist/esm/lib/parse-wkb.js.map +1 -1
  30. package/dist/esm/lib/parse-wkt.js +0 -4
  31. package/dist/esm/lib/parse-wkt.js.map +1 -1
  32. package/dist/esm/lib/utils/binary-writer.js +0 -4
  33. package/dist/esm/lib/utils/binary-writer.js.map +1 -1
  34. package/dist/esm/lib/utils/version.js +1 -2
  35. package/dist/esm/lib/utils/version.js.map +1 -1
  36. package/dist/esm/wkb-loader.js +0 -2
  37. package/dist/esm/wkb-loader.js.map +1 -1
  38. package/dist/esm/wkb-writer.js +0 -1
  39. package/dist/esm/wkb-writer.js.map +1 -1
  40. package/dist/esm/wkt-loader.js +0 -2
  41. package/dist/esm/wkt-loader.js.map +1 -1
  42. package/dist/esm/wkt-writer.js +0 -1
  43. package/dist/esm/wkt-writer.js.map +1 -1
  44. package/dist/wkt-worker.js +1 -1
  45. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"binary-writer.js","names":["LE","BE","BinaryWriter","size","allowResize","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","value","_ensureSize","setUint8","setUint16","setUint32","setInt8","setInt16","setInt32","setFloat32","setFloat64","length","writeUInt8","byteLength","tempArray","Uint8Array","set","newArrayBuffer","Error"],"sources":["../../../../src/lib/utils/binary-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n\nconst LE = true;\nconst BE = false;\n\nexport default class BinaryWriter {\n arrayBuffer: ArrayBuffer;\n dataView: DataView;\n byteOffset: number = 0;\n allowResize: boolean = false;\n\n constructor(size: number, allowResize?: boolean) {\n this.arrayBuffer = new ArrayBuffer(size);\n this.dataView = new DataView(this.arrayBuffer);\n this.byteOffset = 0;\n this.allowResize = allowResize || false;\n }\n\n writeUInt8(value: number): void {\n this._ensureSize(1);\n this.dataView.setUint8(this.byteOffset, value);\n this.byteOffset += 1;\n }\n writeUInt16LE(value: number): void {\n this._ensureSize(2);\n this.dataView.setUint16(this.byteOffset, value, LE);\n this.byteOffset += 2;\n }\n writeUInt16BE(value: number): void {\n this._ensureSize(2);\n this.dataView.setUint16(this.byteOffset, value, BE);\n this.byteOffset += 2;\n }\n writeUInt32LE(value: number): void {\n this._ensureSize(4);\n this.dataView.setUint32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeUInt32BE(value: number): void {\n this._ensureSize(4);\n this.dataView.setUint32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeInt8(value: number): void {\n this._ensureSize(1);\n this.dataView.setInt8(this.byteOffset, value);\n this.byteOffset += 1;\n }\n writeInt16LE(value: number): void {\n this._ensureSize(2);\n this.dataView.setInt16(this.byteOffset, value, LE);\n this.byteOffset += 2;\n }\n writeInt16BE(value: number): void {\n this._ensureSize(2);\n this.dataView.setInt16(this.byteOffset, value, BE);\n this.byteOffset += 2;\n }\n writeInt32LE(value: number): void {\n this._ensureSize(4);\n this.dataView.setInt32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeInt32BE(value: number): void {\n this._ensureSize(4);\n this.dataView.setInt32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeFloatLE(value: number): void {\n this._ensureSize(4);\n this.dataView.setFloat32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeFloatBE(value: number): void {\n this._ensureSize(4);\n this.dataView.setFloat32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeDoubleLE(value: number): void {\n this._ensureSize(8);\n this.dataView.setFloat64(this.byteOffset, value, LE);\n this.byteOffset += 8;\n }\n writeDoubleBE(value: number): void {\n this._ensureSize(8);\n this.dataView.setFloat64(this.byteOffset, value, BE);\n this.byteOffset += 8;\n }\n\n /** A varint uses a variable number of bytes */\n writeVarInt(value: number): number {\n // TODO - ensure size?\n let length = 1;\n while ((value & 0xffffff80) !== 0) {\n this.writeUInt8((value & 0x7f) | 0x80);\n value >>>= 7;\n length++;\n }\n this.writeUInt8(value & 0x7f);\n return length;\n }\n\n /** Append another ArrayBuffer to this ArrayBuffer */\n writeBuffer(arrayBuffer: ArrayBuffer): void {\n this._ensureSize(arrayBuffer.byteLength);\n const tempArray = new Uint8Array(this.arrayBuffer);\n tempArray.set(new Uint8Array(arrayBuffer), this.byteOffset);\n this.byteOffset += arrayBuffer.byteLength;\n }\n\n /** Resizes this.arrayBuffer if not enough space */\n _ensureSize(size: number) {\n if (this.arrayBuffer.byteLength < this.byteOffset + size) {\n if (this.allowResize) {\n const newArrayBuffer = new ArrayBuffer(this.byteOffset + size);\n const tempArray = new Uint8Array(newArrayBuffer);\n tempArray.set(new Uint8Array(this.arrayBuffer));\n this.arrayBuffer = newArrayBuffer;\n } else {\n throw new Error('BinaryWriter overflow');\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"binary-writer.js","names":["LE","BE","BinaryWriter","size","allowResize","_classCallCheck2","default","_defineProperty2","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","_createClass2","key","value","writeUInt8","_ensureSize","setUint8","writeUInt16LE","setUint16","writeUInt16BE","writeUInt32LE","setUint32","writeUInt32BE","writeInt8","setInt8","writeInt16LE","setInt16","writeInt16BE","writeInt32LE","setInt32","writeInt32BE","writeFloatLE","setFloat32","writeFloatBE","writeDoubleLE","setFloat64","writeDoubleBE","writeVarInt","length","writeBuffer","byteLength","tempArray","Uint8Array","set","newArrayBuffer","Error","exports"],"sources":["../../../../src/lib/utils/binary-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n\nconst LE = true;\nconst BE = false;\n\nexport default class BinaryWriter {\n arrayBuffer: ArrayBuffer;\n dataView: DataView;\n byteOffset: number = 0;\n allowResize: boolean = false;\n\n constructor(size: number, allowResize?: boolean) {\n this.arrayBuffer = new ArrayBuffer(size);\n this.dataView = new DataView(this.arrayBuffer);\n this.byteOffset = 0;\n this.allowResize = allowResize || false;\n }\n\n writeUInt8(value: number): void {\n this._ensureSize(1);\n this.dataView.setUint8(this.byteOffset, value);\n this.byteOffset += 1;\n }\n writeUInt16LE(value: number): void {\n this._ensureSize(2);\n this.dataView.setUint16(this.byteOffset, value, LE);\n this.byteOffset += 2;\n }\n writeUInt16BE(value: number): void {\n this._ensureSize(2);\n this.dataView.setUint16(this.byteOffset, value, BE);\n this.byteOffset += 2;\n }\n writeUInt32LE(value: number): void {\n this._ensureSize(4);\n this.dataView.setUint32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeUInt32BE(value: number): void {\n this._ensureSize(4);\n this.dataView.setUint32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeInt8(value: number): void {\n this._ensureSize(1);\n this.dataView.setInt8(this.byteOffset, value);\n this.byteOffset += 1;\n }\n writeInt16LE(value: number): void {\n this._ensureSize(2);\n this.dataView.setInt16(this.byteOffset, value, LE);\n this.byteOffset += 2;\n }\n writeInt16BE(value: number): void {\n this._ensureSize(2);\n this.dataView.setInt16(this.byteOffset, value, BE);\n this.byteOffset += 2;\n }\n writeInt32LE(value: number): void {\n this._ensureSize(4);\n this.dataView.setInt32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeInt32BE(value: number): void {\n this._ensureSize(4);\n this.dataView.setInt32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeFloatLE(value: number): void {\n this._ensureSize(4);\n this.dataView.setFloat32(this.byteOffset, value, LE);\n this.byteOffset += 4;\n }\n writeFloatBE(value: number): void {\n this._ensureSize(4);\n this.dataView.setFloat32(this.byteOffset, value, BE);\n this.byteOffset += 4;\n }\n writeDoubleLE(value: number): void {\n this._ensureSize(8);\n this.dataView.setFloat64(this.byteOffset, value, LE);\n this.byteOffset += 8;\n }\n writeDoubleBE(value: number): void {\n this._ensureSize(8);\n this.dataView.setFloat64(this.byteOffset, value, BE);\n this.byteOffset += 8;\n }\n\n /** A varint uses a variable number of bytes */\n writeVarInt(value: number): number {\n // TODO - ensure size?\n let length = 1;\n while ((value & 0xffffff80) !== 0) {\n this.writeUInt8((value & 0x7f) | 0x80);\n value >>>= 7;\n length++;\n }\n this.writeUInt8(value & 0x7f);\n return length;\n }\n\n /** Append another ArrayBuffer to this ArrayBuffer */\n writeBuffer(arrayBuffer: ArrayBuffer): void {\n this._ensureSize(arrayBuffer.byteLength);\n const tempArray = new Uint8Array(this.arrayBuffer);\n tempArray.set(new Uint8Array(arrayBuffer), this.byteOffset);\n this.byteOffset += arrayBuffer.byteLength;\n }\n\n /** Resizes this.arrayBuffer if not enough space */\n _ensureSize(size: number) {\n if (this.arrayBuffer.byteLength < this.byteOffset + size) {\n if (this.allowResize) {\n const newArrayBuffer = new ArrayBuffer(this.byteOffset + size);\n const tempArray = new Uint8Array(newArrayBuffer);\n tempArray.set(new Uint8Array(this.arrayBuffer));\n this.arrayBuffer = newArrayBuffer;\n } else {\n throw new Error('BinaryWriter overflow');\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VERSION = void 0;
7
- var VERSION = typeof "3.4.0-alpha.2" !== 'undefined' ? "3.4.0-alpha.2" : 'latest';
7
+ var VERSION = typeof "3.4.0-alpha.3" !== 'undefined' ? "3.4.0-alpha.3" : 'latest';
8
8
  exports.VERSION = VERSION;
9
9
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":["VERSION"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":";;;;;;AAGO,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAAC"}
1
+ {"version":3,"file":"version.js","names":["VERSION","exports"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":";;;;;;AAGO,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA"}
@@ -25,20 +25,17 @@ var WKBWorkerLoader = {
25
25
  wkb: {}
26
26
  }
27
27
  };
28
-
29
28
  exports.WKBWorkerLoader = WKBWorkerLoader;
30
29
  var WKBLoader = _objectSpread(_objectSpread({}, WKBWorkerLoader), {}, {
31
30
  parse: function () {
32
31
  var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer) {
33
32
  return _regenerator.default.wrap(function _callee$(_context) {
34
- while (1) {
35
- switch (_context.prev = _context.next) {
36
- case 0:
37
- return _context.abrupt("return", (0, _parseWkb.default)(arrayBuffer));
38
- case 1:
39
- case "end":
40
- return _context.stop();
41
- }
33
+ while (1) switch (_context.prev = _context.next) {
34
+ case 0:
35
+ return _context.abrupt("return", (0, _parseWkb.default)(arrayBuffer));
36
+ case 1:
37
+ case "end":
38
+ return _context.stop();
42
39
  }
43
40
  }, _callee);
44
41
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"wkb-loader.js","names":["WKBWorkerLoader","name","id","module","version","VERSION","worker","category","extensions","mimeTypes","options","wkb","WKBLoader","parse","arrayBuffer","parseWKB","parseSync","_typecheckWKBWorkerLoader","_typecheckWKBLoader"],"sources":["../../src/wkb-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport parseWKB from './lib/parse-wkb';\n\n/**\n * Worker loader for WKB (Well-Known Binary)\n */\nexport const WKBWorkerLoader = {\n name: 'WKB',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['wkb'],\n mimeTypes: [],\n options: {\n wkb: {}\n }\n};\n\n/**\n * Loader for WKB (Well-Known Binary)\n */\nexport const WKBLoader = {\n ...WKBWorkerLoader,\n parse: async (arrayBuffer: ArrayBuffer) => parseWKB(arrayBuffer),\n parseSync: parseWKB\n};\n\nexport const _typecheckWKBWorkerLoader: Loader = WKBWorkerLoader;\nexport const _typecheckWKBLoader: LoaderWithParser = WKBLoader;\n"],"mappings":";;;;;;;;;;AACA;AACA;AAAuC;AAAA;AAKhC,IAAMA,eAAe,GAAG;EAC7BC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,EAAE;EACbC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;;AAAC;AAKK,IAAMC,SAAS,mCACjBZ,eAAe;EAClBa,KAAK;IAAA,uEAAE,iBAAOC,WAAwB;MAAA;QAAA;UAAA;YAAA;cAAA,iCAAK,IAAAC,iBAAQ,EAACD,WAAW,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAChEE,SAAS,EAAED;AAAQ,EACpB;AAAC;AAEK,IAAME,yBAAiC,GAAGjB,eAAe;AAAC;AAC1D,IAAMkB,mBAAqC,GAAGN,SAAS;AAAC"}
1
+ {"version":3,"file":"wkb-loader.js","names":["_version","require","_parseWkb","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","WKBWorkerLoader","name","id","module","version","VERSION","worker","category","extensions","mimeTypes","options","wkb","exports","WKBLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","abrupt","parseWKB","stop","_x","parseSync","_typecheckWKBWorkerLoader","_typecheckWKBLoader"],"sources":["../../src/wkb-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport parseWKB from './lib/parse-wkb';\n\n/**\n * Worker loader for WKB (Well-Known Binary)\n */\nexport const WKBWorkerLoader = {\n name: 'WKB',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n worker: true,\n category: 'geometry',\n extensions: ['wkb'],\n mimeTypes: [],\n options: {\n wkb: {}\n }\n};\n\n/**\n * Loader for WKB (Well-Known Binary)\n */\nexport const WKBLoader = {\n ...WKBWorkerLoader,\n parse: async (arrayBuffer: ArrayBuffer) => parseWKB(arrayBuffer),\n parseSync: parseWKB\n};\n\nexport const _typecheckWKBWorkerLoader: Loader = WKBWorkerLoader;\nexport const _typecheckWKBLoader: LoaderWithParser = WKBLoader;\n"],"mappings":";;;;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAG,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAKhC,IAAMY,eAAe,GAAG;EAC7BC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,EAAE;EACbC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAACC,OAAA,CAAAZ,eAAA,GAAAA,eAAA;AAKK,IAAMa,SAAS,GAAA1B,aAAA,CAAAA,aAAA,KACjBa,eAAe;EAClBc,KAAK;IAAA,IAAAC,MAAA,OAAAC,kBAAA,CAAApB,OAAA,EAAAqB,YAAA,CAAArB,OAAA,CAAAsB,IAAA,CAAE,SAAAC,QAAOC,WAAwB;MAAA,OAAAH,YAAA,CAAArB,OAAA,CAAAyB,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WAAK,IAAAC,iBAAQ,EAACP,WAAW,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAK,IAAA;QAAA;MAAA,GAAAT,OAAA;IAAA;IAAA,SAAAL,MAAAe,EAAA;MAAA,OAAAd,MAAA,CAAA7B,KAAA,OAAAI,SAAA;IAAA;IAAA,OAAAwB,KAAA;EAAA;EAChEgB,SAAS,EAAEH;AAAQ,EACpB;AAACf,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAEK,IAAMkB,yBAAiC,GAAG/B,eAAe;AAACY,OAAA,CAAAmB,yBAAA,GAAAA,yBAAA;AAC1D,IAAMC,mBAAqC,GAAGnB,SAAS;AAACD,OAAA,CAAAoB,mBAAA,GAAAA,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"wkb-writer.js","names":["WKBWriter","name","id","module","version","VERSION","extensions","encodeSync","encodeWKB","options","wkb","hasZ","hasM"],"sources":["../../src/wkb-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport encodeWKB from './lib/encode-wkb';\n\n/**\n * WKB exporter\n */\nexport const WKBWriter: Writer = {\n name: 'WKB (Well Known Binary)',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkb'],\n // @ts-ignore\n encodeSync: encodeWKB,\n options: {\n wkb: {\n hasZ: false,\n hasM: false\n }\n }\n};\n"],"mappings":";;;;;;;AACA;AACA;AAKO,IAAMA,SAAiB,GAAG;EAC/BC,IAAI,EAAE,yBAAyB;EAC/BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,UAAU,EAAEC,kBAAS;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE;MACHC,IAAI,EAAE,KAAK;MACXC,IAAI,EAAE;IACR;EACF;AACF,CAAC;AAAC"}
1
+ {"version":3,"file":"wkb-writer.js","names":["_version","require","_encodeWkb","_interopRequireDefault","WKBWriter","name","id","module","version","VERSION","extensions","encodeSync","encodeWKB","options","wkb","hasZ","hasM","exports"],"sources":["../../src/wkb-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport encodeWKB from './lib/encode-wkb';\n\n/**\n * WKB exporter\n */\nexport const WKBWriter: Writer = {\n name: 'WKB (Well Known Binary)',\n id: 'wkb',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkb'],\n // @ts-ignore\n encodeSync: encodeWKB,\n options: {\n wkb: {\n hasZ: false,\n hasM: false\n }\n }\n};\n"],"mappings":";;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKO,IAAMG,SAAiB,GAAG;EAC/BC,IAAI,EAAE,yBAAyB;EAC/BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,UAAU,EAAEC,kBAAS;EACrBC,OAAO,EAAE;IACPC,GAAG,EAAE;MACHC,IAAI,EAAE,KAAK;MACXC,IAAI,EAAE;IACR;EACF;AACF,CAAC;AAACC,OAAA,CAAAb,SAAA,GAAAA,SAAA"}
@@ -26,20 +26,17 @@ var WKTWorkerLoader = {
26
26
  wkt: {}
27
27
  }
28
28
  };
29
-
30
29
  exports.WKTWorkerLoader = WKTWorkerLoader;
31
30
  var WKTLoader = _objectSpread(_objectSpread({}, WKTWorkerLoader), {}, {
32
31
  parse: function () {
33
32
  var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer) {
34
33
  return _regenerator.default.wrap(function _callee$(_context) {
35
- while (1) {
36
- switch (_context.prev = _context.next) {
37
- case 0:
38
- return _context.abrupt("return", (0, _parseWkt.default)(new TextDecoder().decode(arrayBuffer)));
39
- case 1:
40
- case "end":
41
- return _context.stop();
42
- }
34
+ while (1) switch (_context.prev = _context.next) {
35
+ case 0:
36
+ return _context.abrupt("return", (0, _parseWkt.default)(new TextDecoder().decode(arrayBuffer)));
37
+ case 1:
38
+ case "end":
39
+ return _context.stop();
43
40
  }
44
41
  }, _callee);
45
42
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"wkt-loader.js","names":["WKTWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","category","text","options","wkt","WKTLoader","parse","arrayBuffer","parseWKT","TextDecoder","decode","parseTextSync"],"sources":["../../src/wkt-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport parseWKT from './lib/parse-wkt';\n\n/**\n * Well-Known text loader\n */\nexport const WKTWorkerLoader: Loader = {\n name: 'WKT (Well-Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n worker: true,\n extensions: ['wkt'],\n mimeTypes: ['text/plain'],\n category: 'geometry',\n text: true,\n options: {\n wkt: {}\n }\n};\n\n/**\n * Well-Known text loader\n */\nexport const WKTLoader: LoaderWithParser = {\n ...WKTWorkerLoader,\n parse: async (arrayBuffer) => parseWKT(new TextDecoder().decode(arrayBuffer)),\n parseTextSync: parseWKT\n};\n"],"mappings":";;;;;;;;;;AACA;AACA;AAAuC;AAAA;AAKhC,IAAMA,eAAuB,GAAG;EACrCC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,YAAY,CAAC;EACzBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;;AAAC;AAKK,IAAMC,SAA2B,mCACnCb,eAAe;EAClBc,KAAK;IAAA,uEAAE,iBAAOC,WAAW;MAAA;QAAA;UAAA;YAAA;cAAA,iCAAK,IAAAC,iBAAQ,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACH,WAAW,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EAC7EI,aAAa,EAAEH;AAAQ,EACxB;AAAC"}
1
+ {"version":3,"file":"wkt-loader.js","names":["_version","require","_parseWkt","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","WKTWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","category","text","options","wkt","exports","WKTLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","abrupt","parseWKT","TextDecoder","decode","stop","_x","parseTextSync"],"sources":["../../src/wkt-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport parseWKT from './lib/parse-wkt';\n\n/**\n * Well-Known text loader\n */\nexport const WKTWorkerLoader: Loader = {\n name: 'WKT (Well-Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n worker: true,\n extensions: ['wkt'],\n mimeTypes: ['text/plain'],\n category: 'geometry',\n text: true,\n options: {\n wkt: {}\n }\n};\n\n/**\n * Well-Known text loader\n */\nexport const WKTLoader: LoaderWithParser = {\n ...WKTWorkerLoader,\n parse: async (arrayBuffer) => parseWKT(new TextDecoder().decode(arrayBuffer)),\n parseTextSync: parseWKT\n};\n"],"mappings":";;;;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAG,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAKhC,IAAMY,eAAuB,GAAG;EACrCC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,YAAY,CAAC;EACzBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAACC,OAAA,CAAAb,eAAA,GAAAA,eAAA;AAKK,IAAMc,SAA2B,GAAA3B,aAAA,CAAAA,aAAA,KACnCa,eAAe;EAClBe,KAAK;IAAA,IAAAC,MAAA,OAAAC,kBAAA,CAAArB,OAAA,EAAAsB,YAAA,CAAAtB,OAAA,CAAAuB,IAAA,CAAE,SAAAC,QAAOC,WAAW;MAAA,OAAAH,YAAA,CAAAtB,OAAA,CAAA0B,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WAAK,IAAAC,iBAAQ,EAAC,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACT,WAAW,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAO,IAAA;QAAA;MAAA,GAAAX,OAAA;IAAA;IAAA,SAAAL,MAAAiB,EAAA;MAAA,OAAAhB,MAAA,CAAA9B,KAAA,OAAAI,SAAA;IAAA;IAAA,OAAAyB,KAAA;EAAA;EAC7EkB,aAAa,EAAEL;AAAQ,EACxB;AAACf,OAAA,CAAAC,SAAA,GAAAA,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"wkt-writer.js","names":["WKTWriter","name","id","module","version","VERSION","extensions","encode","encodeWKT","options","wkt"],"sources":["../../src/wkt-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport encodeWKT from './lib/encode-wkt';\n\n/**\n * WKT exporter\n */\nexport const WKTWriter: Writer = {\n name: 'WKT (Well Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkt'],\n // @ts-ignore\n encode: encodeWKT,\n options: {\n wkt: {}\n }\n};\n"],"mappings":";;;;;;;AACA;AACA;AAKO,IAAMA,SAAiB,GAAG;EAC/BC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,MAAM,EAAEC,kBAAS;EACjBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAAC"}
1
+ {"version":3,"file":"wkt-writer.js","names":["_version","require","_encodeWkt","_interopRequireDefault","WKTWriter","name","id","module","version","VERSION","extensions","encode","encodeWKT","options","wkt","exports"],"sources":["../../src/wkt-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport encodeWKT from './lib/encode-wkt';\n\n/**\n * WKT exporter\n */\nexport const WKTWriter: Writer = {\n name: 'WKT (Well Known Text)',\n id: 'wkt',\n module: 'wkt',\n version: VERSION,\n extensions: ['wkt'],\n // @ts-ignore\n encode: encodeWKT,\n options: {\n wkt: {}\n }\n};\n"],"mappings":";;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKO,IAAMG,SAAiB,GAAG;EAC/BC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,MAAM,EAAEC,kBAAS;EACjBC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAACC,OAAA,CAAAX,SAAA,GAAAA,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"wkb-worker.js","names":["createLoaderWorker","WKBLoader"],"sources":["../../../src/workers/wkb-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {WKBLoader} from '../wkb-loader';\n\ncreateLoaderWorker(WKBLoader);\n"],"mappings":";;AAAA;AACA;AAEA,IAAAA,+BAAkB,EAACC,oBAAS,CAAC"}
1
+ {"version":3,"file":"wkb-worker.js","names":["_loaderUtils","require","_wkbLoader","createLoaderWorker","WKBLoader"],"sources":["../../../src/workers/wkb-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {WKBLoader} from '../wkb-loader';\n\ncreateLoaderWorker(WKBLoader);\n"],"mappings":";;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,+BAAkB,EAACC,oBAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wkt-worker.js","names":["createLoaderWorker","WKTLoader"],"sources":["../../../src/workers/wkt-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {WKTLoader} from '../wkt-loader';\n\ncreateLoaderWorker(WKTLoader);\n"],"mappings":";;AAAA;AACA;AAEA,IAAAA,+BAAkB,EAACC,oBAAS,CAAC"}
1
+ {"version":3,"file":"wkt-worker.js","names":["_loaderUtils","require","_wktLoader","createLoaderWorker","WKTLoader"],"sources":["../../../src/workers/wkt-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {WKTLoader} from '../wkt-loader';\n\ncreateLoaderWorker(WKTLoader);\n"],"mappings":";;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,+BAAkB,EAACC,oBAAS,CAAC"}
@@ -1,4 +1,3 @@
1
-
2
1
  const moduleExports = require('./index');
3
2
  globalThis.loaders = globalThis.loaders || {};
4
3
  module.exports = Object.assign(globalThis.loaders, moduleExports);
@@ -1 +1 @@
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,MAAMA,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"}
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,MAAMA,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"}
@@ -1,9 +1,5 @@
1
-
2
-
3
1
  import BinaryWriter from './utils/binary-writer';
4
-
5
- var WKB;
6
- (function (WKB) {
2
+ var WKB = function (WKB) {
7
3
  WKB[WKB["Point"] = 1] = "Point";
8
4
  WKB[WKB["LineString"] = 2] = "LineString";
9
5
  WKB[WKB["Polygon"] = 3] = "Polygon";
@@ -11,12 +7,12 @@ var WKB;
11
7
  WKB[WKB["MultiLineString"] = 5] = "MultiLineString";
12
8
  WKB[WKB["MultiPolygon"] = 6] = "MultiPolygon";
13
9
  WKB[WKB["GeometryCollection"] = 7] = "GeometryCollection";
14
- })(WKB || (WKB = {}));
10
+ return WKB;
11
+ }(WKB || {});
15
12
  export default function encodeWKB(geometry, options) {
16
13
  if (geometry.type === 'Feature') {
17
14
  geometry = geometry.geometry;
18
15
  }
19
-
20
16
  if ('wkb' in options) {
21
17
  options = options.wkb;
22
18
  }
@@ -40,7 +36,6 @@ export default function encodeWKB(geometry, options) {
40
36
  throw new Error("Unhandled case: ".concat(exhaustiveCheck));
41
37
  }
42
38
  }
43
-
44
39
  function getGeometrySize(geometry, options) {
45
40
  switch (geometry.type) {
46
41
  case 'Point':
@@ -62,12 +57,10 @@ function getGeometrySize(geometry, options) {
62
57
  throw new Error("Unhandled case: ".concat(exhaustiveCheck));
63
58
  }
64
59
  }
65
-
66
60
  function encodePoint(coordinates, options) {
67
61
  const writer = new BinaryWriter(getPointSize(options));
68
62
  writer.writeInt8(1);
69
63
  writeWkbType(writer, WKB.Point, options);
70
-
71
64
  if (typeof coordinates[0] === 'undefined' && typeof coordinates[1] === 'undefined') {
72
65
  writer.writeDoubleLE(NaN);
73
66
  writer.writeDoubleLE(NaN);
@@ -82,7 +75,6 @@ function encodePoint(coordinates, options) {
82
75
  }
83
76
  return writer.arrayBuffer;
84
77
  }
85
-
86
78
  function writeCoordinate(writer, coordinate, options) {
87
79
  writer.writeDoubleLE(coordinate[0]);
88
80
  writer.writeDoubleLE(coordinate[1]);
@@ -93,12 +85,10 @@ function writeCoordinate(writer, coordinate, options) {
93
85
  writer.writeDoubleLE(coordinate[3]);
94
86
  }
95
87
  }
96
-
97
88
  function getPointSize(options) {
98
89
  const coordinateSize = getCoordinateSize(options);
99
90
  return 1 + 4 + coordinateSize;
100
91
  }
101
-
102
92
  function encodeLineString(coordinates, options) {
103
93
  const size = getLineStringSize(coordinates, options);
104
94
  const writer = new BinaryWriter(size);
@@ -110,12 +100,10 @@ function encodeLineString(coordinates, options) {
110
100
  }
111
101
  return writer.arrayBuffer;
112
102
  }
113
-
114
103
  function getLineStringSize(coordinates, options) {
115
104
  const coordinateSize = getCoordinateSize(options);
116
105
  return 1 + 4 + 4 + coordinates.length * coordinateSize;
117
106
  }
118
-
119
107
  function encodePolygon(coordinates, options) {
120
108
  const writer = new BinaryWriter(getPolygonSize(coordinates, options));
121
109
  writer.writeInt8(1);
@@ -138,7 +126,6 @@ function encodePolygon(coordinates, options) {
138
126
  }
139
127
  return writer.arrayBuffer;
140
128
  }
141
-
142
129
  function getPolygonSize(coordinates, options) {
143
130
  const coordinateSize = getCoordinateSize(options);
144
131
  const [exteriorRing, ...interiorRings] = coordinates;
@@ -151,7 +138,6 @@ function getPolygonSize(coordinates, options) {
151
138
  }
152
139
  return size;
153
140
  }
154
-
155
141
  function encodeMultiPoint(multiPoint, options) {
156
142
  const writer = new BinaryWriter(getMultiPointSize(multiPoint, options));
157
143
  const points = multiPoint.coordinates;
@@ -164,15 +150,12 @@ function encodeMultiPoint(multiPoint, options) {
164
150
  }
165
151
  return writer.arrayBuffer;
166
152
  }
167
-
168
153
  function getMultiPointSize(multiPoint, options) {
169
154
  let coordinateSize = getCoordinateSize(options);
170
155
  const points = multiPoint.coordinates;
171
-
172
156
  coordinateSize += 5;
173
157
  return 1 + 4 + 4 + points.length * coordinateSize;
174
158
  }
175
-
176
159
  function encodeMultiLineString(multiLineString, options) {
177
160
  const writer = new BinaryWriter(getMultiLineStringSize(multiLineString, options));
178
161
  const lineStrings = multiLineString.coordinates;
@@ -185,7 +168,6 @@ function encodeMultiLineString(multiLineString, options) {
185
168
  }
186
169
  return writer.arrayBuffer;
187
170
  }
188
-
189
171
  function getMultiLineStringSize(multiLineString, options) {
190
172
  let size = 1 + 4 + 4;
191
173
  const lineStrings = multiLineString.coordinates;
@@ -232,7 +214,6 @@ function getGeometryCollectionSize(collection, options) {
232
214
  }
233
215
  return size;
234
216
  }
235
-
236
217
  function writeWkbType(writer, geometryType, options) {
237
218
  const {
238
219
  hasZ,
@@ -258,7 +239,6 @@ function writeWkbType(writer, geometryType, options) {
258
239
  }
259
240
  writer.writeUInt32LE(dimensionType + geometryType >>> 0);
260
241
  }
261
-
262
242
  function getCoordinateSize(options) {
263
243
  let coordinateSize = 16;
264
244
  if (options.hasZ) {
@@ -1 +1 @@
1
- {"version":3,"file":"encode-wkb.js","names":["BinaryWriter","WKB","encodeWKB","geometry","options","type","wkb","encodePoint","coordinates","encodeLineString","encodePolygon","encodeMultiPoint","encodeMultiPolygon","encodeMultiLineString","encodeGeometryCollection","exhaustiveCheck","Error","getGeometrySize","getPointSize","getLineStringSize","getPolygonSize","getMultiPointSize","getMultiPolygonSize","getMultiLineStringSize","getGeometryCollectionSize","writer","writeInt8","writeWkbType","Point","writeDoubleLE","NaN","hasZ","hasM","writeCoordinate","arrayBuffer","coordinate","coordinateSize","getCoordinateSize","size","LineString","writeUInt32LE","length","Polygon","exteriorRing","interiorRings","interiorRing","multiPoint","points","MultiPoint","point","writeBuffer","multiLineString","lineStrings","MultiLineString","lineString","encodedLineString","multiPolygon","polygons","MultiPolygon","polygon","encodedPolygon","collection","GeometryCollection","geometries","geometryType","srid","dimensionType"],"sources":["../../../src/lib/encode-wkb.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n// Reference: https://www.ogc.org/standards/sfa\n\nimport type {\n Feature,\n Geometry,\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeometryCollection\n} from '@loaders.gl/schema';\n\nimport BinaryWriter from './utils/binary-writer';\n\n/**\n * Integer code for geometry type\n * Reference: https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well-known_binary\n */\nenum WKB {\n Point = 1,\n LineString = 2,\n Polygon = 3,\n MultiPoint = 4,\n MultiLineString = 5,\n MultiPolygon = 6,\n GeometryCollection = 7\n}\n\n/**\n * Options for encodeWKB\n */\ninterface WKBOptions {\n /** Does the GeoJSON input have Z values? */\n hasZ?: boolean;\n\n /** Does the GeoJSON input have M values? */\n hasM?: boolean;\n\n /** Spatial reference for input GeoJSON */\n srid?: any;\n}\n\n/**\n * Encodes a GeoJSON object into WKB\n * @param geojson A GeoJSON Feature or Geometry\n * @returns string\n */\nexport default function encodeWKB(\n geometry: Geometry | Feature,\n options: WKBOptions | {wkb: WKBOptions}\n): ArrayBuffer {\n if (geometry.type === 'Feature') {\n geometry = geometry.geometry;\n }\n\n // Options should be wrapped in a `wkb` key, but we allow top-level options here for backwards\n // compatibility\n if ('wkb' in options) {\n options = options.wkb;\n }\n\n switch (geometry.type) {\n case 'Point':\n return encodePoint(geometry.coordinates, options);\n case 'LineString':\n return encodeLineString(geometry.coordinates, options);\n case 'Polygon':\n return encodePolygon(geometry.coordinates, options);\n case 'MultiPoint':\n return encodeMultiPoint(geometry, options);\n case 'MultiPolygon':\n return encodeMultiPolygon(geometry, options);\n case 'MultiLineString':\n return encodeMultiLineString(geometry, options);\n case 'GeometryCollection':\n return encodeGeometryCollection(geometry, options);\n default:\n const exhaustiveCheck: never = geometry;\n throw new Error(`Unhandled case: ${exhaustiveCheck}`);\n }\n}\n\n/** Calculate the binary size (in the WKB encoding) of a specific GeoJSON geometry */\nfunction getGeometrySize(geometry: Geometry, options: WKBOptions): number {\n switch (geometry.type) {\n case 'Point':\n return getPointSize(options);\n case 'LineString':\n return getLineStringSize(geometry.coordinates, options);\n case 'Polygon':\n return getPolygonSize(geometry.coordinates, options);\n case 'MultiPoint':\n return getMultiPointSize(geometry, options);\n case 'MultiPolygon':\n return getMultiPolygonSize(geometry, options);\n case 'MultiLineString':\n return getMultiLineStringSize(geometry, options);\n case 'GeometryCollection':\n return getGeometryCollectionSize(geometry, options);\n default:\n const exhaustiveCheck: never = geometry;\n throw new Error(`Unhandled case: ${exhaustiveCheck}`);\n }\n}\n\n/** Encode Point geometry as WKB ArrayBuffer */\nfunction encodePoint(coordinates: Point['coordinates'], options: WKBOptions): ArrayBuffer {\n const writer = new BinaryWriter(getPointSize(options));\n\n writer.writeInt8(1);\n writeWkbType(writer, WKB.Point, options);\n\n // I believe this special case is to handle writing Point(NaN, NaN) correctly\n if (typeof coordinates[0] === 'undefined' && typeof coordinates[1] === 'undefined') {\n writer.writeDoubleLE(NaN);\n writer.writeDoubleLE(NaN);\n\n if (options.hasZ) {\n writer.writeDoubleLE(NaN);\n }\n if (options.hasM) {\n writer.writeDoubleLE(NaN);\n }\n } else {\n writeCoordinate(writer, coordinates, options);\n }\n\n return writer.arrayBuffer;\n}\n\n/** Write coordinate to buffer */\nfunction writeCoordinate(\n writer: BinaryWriter,\n coordinate: Point['coordinates'],\n options: WKBOptions\n): void {\n writer.writeDoubleLE(coordinate[0]);\n writer.writeDoubleLE(coordinate[1]);\n\n if (options.hasZ) {\n writer.writeDoubleLE(coordinate[2]);\n }\n if (options.hasM) {\n writer.writeDoubleLE(coordinate[3]);\n }\n}\n\n/** Get encoded size of Point geometry */\nfunction getPointSize(options: WKBOptions): number {\n const coordinateSize = getCoordinateSize(options);\n return 1 + 4 + coordinateSize;\n}\n\n/** Encode LineString geometry as WKB ArrayBuffer */\nfunction encodeLineString(\n coordinates: LineString['coordinates'],\n options: WKBOptions\n): ArrayBuffer {\n const size = getLineStringSize(coordinates, options);\n\n const writer = new BinaryWriter(size);\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.LineString, options);\n writer.writeUInt32LE(coordinates.length);\n\n for (const coordinate of coordinates) {\n writeCoordinate(writer, coordinate, options);\n }\n\n return writer.arrayBuffer;\n}\n\n/** Get encoded size of LineString geometry */\nfunction getLineStringSize(coordinates: LineString['coordinates'], options: WKBOptions): number {\n const coordinateSize = getCoordinateSize(options);\n\n return 1 + 4 + 4 + coordinates.length * coordinateSize;\n}\n\n/** Encode Polygon geometry as WKB ArrayBuffer */\nfunction encodePolygon(coordinates: Polygon['coordinates'], options: WKBOptions): ArrayBuffer {\n const writer = new BinaryWriter(getPolygonSize(coordinates, options));\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.Polygon, options);\n const [exteriorRing, ...interiorRings] = coordinates;\n\n if (exteriorRing.length > 0) {\n writer.writeUInt32LE(1 + interiorRings.length);\n writer.writeUInt32LE(exteriorRing.length);\n } else {\n writer.writeUInt32LE(0);\n }\n\n for (const coordinate of exteriorRing) {\n writeCoordinate(writer, coordinate, options);\n }\n\n for (const interiorRing of interiorRings) {\n writer.writeUInt32LE(interiorRing.length);\n\n for (const coordinate of interiorRing) {\n writeCoordinate(writer, coordinate, options);\n }\n }\n\n return writer.arrayBuffer;\n}\n\n/** Get encoded size of Polygon geometry */\nfunction getPolygonSize(coordinates: Polygon['coordinates'], options: WKBOptions): number {\n const coordinateSize = getCoordinateSize(options);\n const [exteriorRing, ...interiorRings] = coordinates;\n\n let size = 1 + 4 + 4;\n\n if (exteriorRing.length > 0) {\n size += 4 + exteriorRing.length * coordinateSize;\n }\n\n for (const interiorRing of interiorRings) {\n size += 4 + interiorRing.length * coordinateSize;\n }\n\n return size;\n}\n\n/** Encode MultiPoint geometry as WKB ArrayBufer */\nfunction encodeMultiPoint(multiPoint: MultiPoint, options: WKBOptions) {\n const writer = new BinaryWriter(getMultiPointSize(multiPoint, options));\n const points = multiPoint.coordinates;\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.MultiPoint, options);\n writer.writeUInt32LE(points.length);\n\n for (const point of points) {\n // TODO: add srid to this options object? {srid: multiPoint.srid}\n const arrayBuffer = encodePoint(point, options);\n writer.writeBuffer(arrayBuffer);\n }\n\n return writer.arrayBuffer;\n}\n\n/** Get encoded size of MultiPoint geometry */\nfunction getMultiPointSize(multiPoint: MultiPoint, options: WKBOptions) {\n let coordinateSize = getCoordinateSize(options);\n const points = multiPoint.coordinates;\n\n // This is because each point has a 5-byte header?\n coordinateSize += 5;\n\n return 1 + 4 + 4 + points.length * coordinateSize;\n}\n\n/** Encode MultiLineString geometry as WKB ArrayBufer */\nfunction encodeMultiLineString(multiLineString: MultiLineString, options: WKBOptions) {\n const writer = new BinaryWriter(getMultiLineStringSize(multiLineString, options));\n const lineStrings = multiLineString.coordinates;\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.MultiLineString, options);\n writer.writeUInt32LE(lineStrings.length);\n\n for (const lineString of lineStrings) {\n // TODO: Handle srid?\n const encodedLineString = encodeLineString(lineString, options);\n writer.writeBuffer(encodedLineString);\n }\n\n return writer.arrayBuffer;\n}\n\n/** Get encoded size of MultiLineString geometry */\nfunction getMultiLineStringSize(multiLineString: MultiLineString, options: WKBOptions): number {\n let size = 1 + 4 + 4;\n const lineStrings = multiLineString.coordinates;\n\n for (const lineString of lineStrings) {\n size += getLineStringSize(lineString, options);\n }\n\n return size;\n}\n\nfunction encodeMultiPolygon(multiPolygon: MultiPolygon, options: WKBOptions): ArrayBuffer {\n const writer = new BinaryWriter(getMultiPolygonSize(multiPolygon, options));\n const polygons = multiPolygon.coordinates;\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.MultiPolygon, options);\n writer.writeUInt32LE(polygons.length);\n\n for (const polygon of polygons) {\n const encodedPolygon = encodePolygon(polygon, options);\n writer.writeBuffer(encodedPolygon);\n }\n\n return writer.arrayBuffer;\n}\n\nfunction getMultiPolygonSize(multiPolygon: MultiPolygon, options: WKBOptions): number {\n let size = 1 + 4 + 4;\n const polygons = multiPolygon.coordinates;\n\n for (const polygon of polygons) {\n size += getPolygonSize(polygon, options);\n }\n\n return size;\n}\n\nfunction encodeGeometryCollection(\n collection: GeometryCollection,\n options: WKBOptions\n): ArrayBuffer {\n const writer = new BinaryWriter(getGeometryCollectionSize(collection, options));\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.GeometryCollection, options);\n writer.writeUInt32LE(collection.geometries.length);\n\n for (const geometry of collection.geometries) {\n // TODO: handle srid? {srid: collection.srid}\n const arrayBuffer = encodeWKB(geometry, options);\n writer.writeBuffer(arrayBuffer);\n }\n\n return writer.arrayBuffer;\n}\n\nfunction getGeometryCollectionSize(collection: GeometryCollection, options: WKBOptions): number {\n let size = 1 + 4 + 4;\n\n for (const geometry of collection.geometries) {\n size += getGeometrySize(geometry, options);\n }\n\n return size;\n}\n\n// HELPERS\n\n/**\n * Construct and write WKB integer code\n * Reference: https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well-known_binary\n */\nfunction writeWkbType(writer: BinaryWriter, geometryType: number, options: WKBOptions): void {\n const {hasZ, hasM, srid} = options;\n\n let dimensionType = 0;\n\n if (!srid) {\n if (hasZ && hasM) {\n dimensionType += 3000;\n } else if (hasZ) {\n dimensionType += 1000;\n } else if (hasM) {\n dimensionType += 2000;\n }\n } else {\n if (hasZ) {\n dimensionType |= 0x80000000;\n }\n if (hasM) {\n dimensionType |= 0x40000000;\n }\n }\n\n writer.writeUInt32LE((dimensionType + geometryType) >>> 0);\n}\n\n/** Get coordinate size given Z/M dimensions */\nfunction getCoordinateSize(options: WKBOptions): number {\n let coordinateSize = 16;\n\n if (options.hasZ) {\n coordinateSize += 8;\n }\n if (options.hasM) {\n coordinateSize += 8;\n }\n\n return coordinateSize;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"encode-wkb.js","names":["BinaryWriter","WKB","encodeWKB","geometry","options","type","wkb","encodePoint","coordinates","encodeLineString","encodePolygon","encodeMultiPoint","encodeMultiPolygon","encodeMultiLineString","encodeGeometryCollection","exhaustiveCheck","Error","concat","getGeometrySize","getPointSize","getLineStringSize","getPolygonSize","getMultiPointSize","getMultiPolygonSize","getMultiLineStringSize","getGeometryCollectionSize","writer","writeInt8","writeWkbType","Point","writeDoubleLE","NaN","hasZ","hasM","writeCoordinate","arrayBuffer","coordinate","coordinateSize","getCoordinateSize","size","LineString","writeUInt32LE","length","Polygon","exteriorRing","interiorRings","interiorRing","multiPoint","points","MultiPoint","point","writeBuffer","multiLineString","lineStrings","MultiLineString","lineString","encodedLineString","multiPolygon","polygons","MultiPolygon","polygon","encodedPolygon","collection","GeometryCollection","geometries","geometryType","srid","dimensionType"],"sources":["../../../src/lib/encode-wkb.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n// Reference: https://www.ogc.org/standards/sfa\n\nimport type {\n Feature,\n Geometry,\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeometryCollection\n} from '@loaders.gl/schema';\n\nimport BinaryWriter from './utils/binary-writer';\n\n/**\n * Integer code for geometry type\n * Reference: https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well-known_binary\n */\nenum WKB {\n Point = 1,\n LineString = 2,\n Polygon = 3,\n MultiPoint = 4,\n MultiLineString = 5,\n MultiPolygon = 6,\n GeometryCollection = 7\n}\n\n/**\n * Options for encodeWKB\n */\ninterface WKBOptions {\n /** Does the GeoJSON input have Z values? */\n hasZ?: boolean;\n\n /** Does the GeoJSON input have M values? */\n hasM?: boolean;\n\n /** Spatial reference for input GeoJSON */\n srid?: any;\n}\n\n/**\n * Encodes a GeoJSON object into WKB\n * @param geojson A GeoJSON Feature or Geometry\n * @returns string\n */\nexport default function encodeWKB(\n geometry: Geometry | Feature,\n options: WKBOptions | {wkb: WKBOptions}\n): ArrayBuffer {\n if (geometry.type === 'Feature') {\n geometry = geometry.geometry;\n }\n\n // Options should be wrapped in a `wkb` key, but we allow top-level options here for backwards\n // compatibility\n if ('wkb' in options) {\n options = options.wkb;\n }\n\n switch (geometry.type) {\n case 'Point':\n return encodePoint(geometry.coordinates, options);\n case 'LineString':\n return encodeLineString(geometry.coordinates, options);\n case 'Polygon':\n return encodePolygon(geometry.coordinates, options);\n case 'MultiPoint':\n return encodeMultiPoint(geometry, options);\n case 'MultiPolygon':\n return encodeMultiPolygon(geometry, options);\n case 'MultiLineString':\n return encodeMultiLineString(geometry, options);\n case 'GeometryCollection':\n return encodeGeometryCollection(geometry, options);\n default:\n const exhaustiveCheck: never = geometry;\n throw new Error(`Unhandled case: ${exhaustiveCheck}`);\n }\n}\n\n/** Calculate the binary size (in the WKB encoding) of a specific GeoJSON geometry */\nfunction getGeometrySize(geometry: Geometry, options: WKBOptions): number {\n switch (geometry.type) {\n case 'Point':\n return getPointSize(options);\n case 'LineString':\n return getLineStringSize(geometry.coordinates, options);\n case 'Polygon':\n return getPolygonSize(geometry.coordinates, options);\n case 'MultiPoint':\n return getMultiPointSize(geometry, options);\n case 'MultiPolygon':\n return getMultiPolygonSize(geometry, options);\n case 'MultiLineString':\n return getMultiLineStringSize(geometry, options);\n case 'GeometryCollection':\n return getGeometryCollectionSize(geometry, options);\n default:\n const exhaustiveCheck: never = geometry;\n throw new Error(`Unhandled case: ${exhaustiveCheck}`);\n }\n}\n\n/** Encode Point geometry as WKB ArrayBuffer */\nfunction encodePoint(coordinates: Point['coordinates'], options: WKBOptions): ArrayBuffer {\n const writer = new BinaryWriter(getPointSize(options));\n\n writer.writeInt8(1);\n writeWkbType(writer, WKB.Point, options);\n\n // I believe this special case is to handle writing Point(NaN, NaN) correctly\n if (typeof coordinates[0] === 'undefined' && typeof coordinates[1] === 'undefined') {\n writer.writeDoubleLE(NaN);\n writer.writeDoubleLE(NaN);\n\n if (options.hasZ) {\n writer.writeDoubleLE(NaN);\n }\n if (options.hasM) {\n writer.writeDoubleLE(NaN);\n }\n } else {\n writeCoordinate(writer, coordinates, options);\n }\n\n return writer.arrayBuffer;\n}\n\n/** Write coordinate to buffer */\nfunction writeCoordinate(\n writer: BinaryWriter,\n coordinate: Point['coordinates'],\n options: WKBOptions\n): void {\n writer.writeDoubleLE(coordinate[0]);\n writer.writeDoubleLE(coordinate[1]);\n\n if (options.hasZ) {\n writer.writeDoubleLE(coordinate[2]);\n }\n if (options.hasM) {\n writer.writeDoubleLE(coordinate[3]);\n }\n}\n\n/** Get encoded size of Point geometry */\nfunction getPointSize(options: WKBOptions): number {\n const coordinateSize = getCoordinateSize(options);\n return 1 + 4 + coordinateSize;\n}\n\n/** Encode LineString geometry as WKB ArrayBuffer */\nfunction encodeLineString(\n coordinates: LineString['coordinates'],\n options: WKBOptions\n): ArrayBuffer {\n const size = getLineStringSize(coordinates, options);\n\n const writer = new BinaryWriter(size);\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.LineString, options);\n writer.writeUInt32LE(coordinates.length);\n\n for (const coordinate of coordinates) {\n writeCoordinate(writer, coordinate, options);\n }\n\n return writer.arrayBuffer;\n}\n\n/** Get encoded size of LineString geometry */\nfunction getLineStringSize(coordinates: LineString['coordinates'], options: WKBOptions): number {\n const coordinateSize = getCoordinateSize(options);\n\n return 1 + 4 + 4 + coordinates.length * coordinateSize;\n}\n\n/** Encode Polygon geometry as WKB ArrayBuffer */\nfunction encodePolygon(coordinates: Polygon['coordinates'], options: WKBOptions): ArrayBuffer {\n const writer = new BinaryWriter(getPolygonSize(coordinates, options));\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.Polygon, options);\n const [exteriorRing, ...interiorRings] = coordinates;\n\n if (exteriorRing.length > 0) {\n writer.writeUInt32LE(1 + interiorRings.length);\n writer.writeUInt32LE(exteriorRing.length);\n } else {\n writer.writeUInt32LE(0);\n }\n\n for (const coordinate of exteriorRing) {\n writeCoordinate(writer, coordinate, options);\n }\n\n for (const interiorRing of interiorRings) {\n writer.writeUInt32LE(interiorRing.length);\n\n for (const coordinate of interiorRing) {\n writeCoordinate(writer, coordinate, options);\n }\n }\n\n return writer.arrayBuffer;\n}\n\n/** Get encoded size of Polygon geometry */\nfunction getPolygonSize(coordinates: Polygon['coordinates'], options: WKBOptions): number {\n const coordinateSize = getCoordinateSize(options);\n const [exteriorRing, ...interiorRings] = coordinates;\n\n let size = 1 + 4 + 4;\n\n if (exteriorRing.length > 0) {\n size += 4 + exteriorRing.length * coordinateSize;\n }\n\n for (const interiorRing of interiorRings) {\n size += 4 + interiorRing.length * coordinateSize;\n }\n\n return size;\n}\n\n/** Encode MultiPoint geometry as WKB ArrayBufer */\nfunction encodeMultiPoint(multiPoint: MultiPoint, options: WKBOptions) {\n const writer = new BinaryWriter(getMultiPointSize(multiPoint, options));\n const points = multiPoint.coordinates;\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.MultiPoint, options);\n writer.writeUInt32LE(points.length);\n\n for (const point of points) {\n // TODO: add srid to this options object? {srid: multiPoint.srid}\n const arrayBuffer = encodePoint(point, options);\n writer.writeBuffer(arrayBuffer);\n }\n\n return writer.arrayBuffer;\n}\n\n/** Get encoded size of MultiPoint geometry */\nfunction getMultiPointSize(multiPoint: MultiPoint, options: WKBOptions) {\n let coordinateSize = getCoordinateSize(options);\n const points = multiPoint.coordinates;\n\n // This is because each point has a 5-byte header?\n coordinateSize += 5;\n\n return 1 + 4 + 4 + points.length * coordinateSize;\n}\n\n/** Encode MultiLineString geometry as WKB ArrayBufer */\nfunction encodeMultiLineString(multiLineString: MultiLineString, options: WKBOptions) {\n const writer = new BinaryWriter(getMultiLineStringSize(multiLineString, options));\n const lineStrings = multiLineString.coordinates;\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.MultiLineString, options);\n writer.writeUInt32LE(lineStrings.length);\n\n for (const lineString of lineStrings) {\n // TODO: Handle srid?\n const encodedLineString = encodeLineString(lineString, options);\n writer.writeBuffer(encodedLineString);\n }\n\n return writer.arrayBuffer;\n}\n\n/** Get encoded size of MultiLineString geometry */\nfunction getMultiLineStringSize(multiLineString: MultiLineString, options: WKBOptions): number {\n let size = 1 + 4 + 4;\n const lineStrings = multiLineString.coordinates;\n\n for (const lineString of lineStrings) {\n size += getLineStringSize(lineString, options);\n }\n\n return size;\n}\n\nfunction encodeMultiPolygon(multiPolygon: MultiPolygon, options: WKBOptions): ArrayBuffer {\n const writer = new BinaryWriter(getMultiPolygonSize(multiPolygon, options));\n const polygons = multiPolygon.coordinates;\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.MultiPolygon, options);\n writer.writeUInt32LE(polygons.length);\n\n for (const polygon of polygons) {\n const encodedPolygon = encodePolygon(polygon, options);\n writer.writeBuffer(encodedPolygon);\n }\n\n return writer.arrayBuffer;\n}\n\nfunction getMultiPolygonSize(multiPolygon: MultiPolygon, options: WKBOptions): number {\n let size = 1 + 4 + 4;\n const polygons = multiPolygon.coordinates;\n\n for (const polygon of polygons) {\n size += getPolygonSize(polygon, options);\n }\n\n return size;\n}\n\nfunction encodeGeometryCollection(\n collection: GeometryCollection,\n options: WKBOptions\n): ArrayBuffer {\n const writer = new BinaryWriter(getGeometryCollectionSize(collection, options));\n\n writer.writeInt8(1);\n\n writeWkbType(writer, WKB.GeometryCollection, options);\n writer.writeUInt32LE(collection.geometries.length);\n\n for (const geometry of collection.geometries) {\n // TODO: handle srid? {srid: collection.srid}\n const arrayBuffer = encodeWKB(geometry, options);\n writer.writeBuffer(arrayBuffer);\n }\n\n return writer.arrayBuffer;\n}\n\nfunction getGeometryCollectionSize(collection: GeometryCollection, options: WKBOptions): number {\n let size = 1 + 4 + 4;\n\n for (const geometry of collection.geometries) {\n size += getGeometrySize(geometry, options);\n }\n\n return size;\n}\n\n// HELPERS\n\n/**\n * Construct and write WKB integer code\n * Reference: https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well-known_binary\n */\nfunction writeWkbType(writer: BinaryWriter, geometryType: number, options: WKBOptions): void {\n const {hasZ, hasM, srid} = options;\n\n let dimensionType = 0;\n\n if (!srid) {\n if (hasZ && hasM) {\n dimensionType += 3000;\n } else if (hasZ) {\n dimensionType += 1000;\n } else if (hasM) {\n dimensionType += 2000;\n }\n } else {\n if (hasZ) {\n dimensionType |= 0x80000000;\n }\n if (hasM) {\n dimensionType |= 0x40000000;\n }\n }\n\n writer.writeUInt32LE((dimensionType + geometryType) >>> 0);\n}\n\n/** Get coordinate size given Z/M dimensions */\nfunction getCoordinateSize(options: WKBOptions): number {\n let coordinateSize = 16;\n\n if (options.hasZ) {\n coordinateSize += 8;\n }\n if (options.hasM) {\n coordinateSize += 8;\n }\n\n return coordinateSize;\n}\n"],"mappings":"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"}
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  export default function encodeWKT(geometry) {
4
2
  if (geometry.type === 'Feature') {
5
3
  geometry = geometry.geometry;
@@ -1 +1 @@
1
- {"version":3,"file":"encode-wkt.js","names":["encodeWKT","geometry","type","wrapParens","pairWKT","coordinates","ringWKT","ringsWKT","multiRingsWKT","geometries","map","join","Error","c","r","s"],"sources":["../../../src/lib/encode-wkt.ts"],"sourcesContent":["// Fork of https://github.com/mapbox/wellknown under ISC license (MIT/BSD-2-clause equivalent)\n// eslint-disable-next-line import/no-unresolved\nimport type {Feature, Geometry} from '@loaders.gl/schema';\n\n/**\n * Stringifies a GeoJSON object into WKT\n * @param geojson\n * @returns string\n */\nexport default function encodeWKT(geometry: Geometry | Feature): string {\n if (geometry.type === 'Feature') {\n geometry = geometry.geometry;\n }\n\n switch (geometry.type) {\n case 'Point':\n return `POINT ${wrapParens(pairWKT(geometry.coordinates))}`;\n case 'LineString':\n return `LINESTRING ${wrapParens(ringWKT(geometry.coordinates))}`;\n case 'Polygon':\n return `POLYGON ${wrapParens(ringsWKT(geometry.coordinates))}`;\n case 'MultiPoint':\n return `MULTIPOINT ${wrapParens(ringWKT(geometry.coordinates))}`;\n case 'MultiPolygon':\n return `MULTIPOLYGON ${wrapParens(multiRingsWKT(geometry.coordinates))}`;\n case 'MultiLineString':\n return `MULTILINESTRING ${wrapParens(ringsWKT(geometry.coordinates))}`;\n case 'GeometryCollection':\n return `GEOMETRYCOLLECTION ${wrapParens(geometry.geometries.map(encodeWKT).join(', '))}`;\n default:\n throw new Error('stringify requires a valid GeoJSON Feature or geometry object as input');\n }\n}\n\nfunction pairWKT(c: number[]): string {\n return c.join(' ');\n}\n\nfunction ringWKT(r: number[][]): string {\n return r.map(pairWKT).join(', ');\n}\n\nfunction ringsWKT(r: number[][][]): string {\n return r.map(ringWKT).map(wrapParens).join(', ');\n}\n\nfunction multiRingsWKT(r: number[][][][]): string {\n return r.map(ringsWKT).map(wrapParens).join(', ');\n}\n\nfunction wrapParens(s: string): string {\n return `(${s})`;\n}\n"],"mappings":";;AASA,eAAe,SAASA,SAAS,CAACC,QAA4B,EAAU;EACtE,IAAIA,QAAQ,CAACC,IAAI,KAAK,SAAS,EAAE;IAC/BD,QAAQ,GAAGA,QAAQ,CAACA,QAAQ;EAC9B;EAEA,QAAQA,QAAQ,CAACC,IAAI;IACnB,KAAK,OAAO;MACV,uBAAgBC,UAAU,CAACC,OAAO,CAACH,QAAQ,CAACI,WAAW,CAAC,CAAC;IAC3D,KAAK,YAAY;MACf,4BAAqBF,UAAU,CAACG,OAAO,CAACL,QAAQ,CAACI,WAAW,CAAC,CAAC;IAChE,KAAK,SAAS;MACZ,yBAAkBF,UAAU,CAACI,QAAQ,CAACN,QAAQ,CAACI,WAAW,CAAC,CAAC;IAC9D,KAAK,YAAY;MACf,4BAAqBF,UAAU,CAACG,OAAO,CAACL,QAAQ,CAACI,WAAW,CAAC,CAAC;IAChE,KAAK,cAAc;MACjB,8BAAuBF,UAAU,CAACK,aAAa,CAACP,QAAQ,CAACI,WAAW,CAAC,CAAC;IACxE,KAAK,iBAAiB;MACpB,iCAA0BF,UAAU,CAACI,QAAQ,CAACN,QAAQ,CAACI,WAAW,CAAC,CAAC;IACtE,KAAK,oBAAoB;MACvB,oCAA6BF,UAAU,CAACF,QAAQ,CAACQ,UAAU,CAACC,GAAG,CAACV,SAAS,CAAC,CAACW,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF;MACE,MAAM,IAAIC,KAAK,CAAC,wEAAwE,CAAC;EAAC;AAEhG;AAEA,SAASR,OAAO,CAACS,CAAW,EAAU;EACpC,OAAOA,CAAC,CAACF,IAAI,CAAC,GAAG,CAAC;AACpB;AAEA,SAASL,OAAO,CAACQ,CAAa,EAAU;EACtC,OAAOA,CAAC,CAACJ,GAAG,CAACN,OAAO,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC;AAClC;AAEA,SAASJ,QAAQ,CAACO,CAAe,EAAU;EACzC,OAAOA,CAAC,CAACJ,GAAG,CAACJ,OAAO,CAAC,CAACI,GAAG,CAACP,UAAU,CAAC,CAACQ,IAAI,CAAC,IAAI,CAAC;AAClD;AAEA,SAASH,aAAa,CAACM,CAAiB,EAAU;EAChD,OAAOA,CAAC,CAACJ,GAAG,CAACH,QAAQ,CAAC,CAACG,GAAG,CAACP,UAAU,CAAC,CAACQ,IAAI,CAAC,IAAI,CAAC;AACnD;AAEA,SAASR,UAAU,CAACY,CAAS,EAAU;EACrC,kBAAWA,CAAC;AACd"}
1
+ {"version":3,"file":"encode-wkt.js","names":["encodeWKT","geometry","type","concat","wrapParens","pairWKT","coordinates","ringWKT","ringsWKT","multiRingsWKT","geometries","map","join","Error","c","r","s"],"sources":["../../../src/lib/encode-wkt.ts"],"sourcesContent":["// Fork of https://github.com/mapbox/wellknown under ISC license (MIT/BSD-2-clause equivalent)\n// eslint-disable-next-line import/no-unresolved\nimport type {Feature, Geometry} from '@loaders.gl/schema';\n\n/**\n * Stringifies a GeoJSON object into WKT\n * @param geojson\n * @returns string\n */\nexport default function encodeWKT(geometry: Geometry | Feature): string {\n if (geometry.type === 'Feature') {\n geometry = geometry.geometry;\n }\n\n switch (geometry.type) {\n case 'Point':\n return `POINT ${wrapParens(pairWKT(geometry.coordinates))}`;\n case 'LineString':\n return `LINESTRING ${wrapParens(ringWKT(geometry.coordinates))}`;\n case 'Polygon':\n return `POLYGON ${wrapParens(ringsWKT(geometry.coordinates))}`;\n case 'MultiPoint':\n return `MULTIPOINT ${wrapParens(ringWKT(geometry.coordinates))}`;\n case 'MultiPolygon':\n return `MULTIPOLYGON ${wrapParens(multiRingsWKT(geometry.coordinates))}`;\n case 'MultiLineString':\n return `MULTILINESTRING ${wrapParens(ringsWKT(geometry.coordinates))}`;\n case 'GeometryCollection':\n return `GEOMETRYCOLLECTION ${wrapParens(geometry.geometries.map(encodeWKT).join(', '))}`;\n default:\n throw new Error('stringify requires a valid GeoJSON Feature or geometry object as input');\n }\n}\n\nfunction pairWKT(c: number[]): string {\n return c.join(' ');\n}\n\nfunction ringWKT(r: number[][]): string {\n return r.map(pairWKT).join(', ');\n}\n\nfunction ringsWKT(r: number[][][]): string {\n return r.map(ringWKT).map(wrapParens).join(', ');\n}\n\nfunction multiRingsWKT(r: number[][][][]): string {\n return r.map(ringsWKT).map(wrapParens).join(', ');\n}\n\nfunction wrapParens(s: string): string {\n return `(${s})`;\n}\n"],"mappings":"AASA,eAAe,SAASA,SAASA,CAACC,QAA4B,EAAU;EACtE,IAAIA,QAAQ,CAACC,IAAI,KAAK,SAAS,EAAE;IAC/BD,QAAQ,GAAGA,QAAQ,CAACA,QAAQ;EAC9B;EAEA,QAAQA,QAAQ,CAACC,IAAI;IACnB,KAAK,OAAO;MACV,gBAAAC,MAAA,CAAgBC,UAAU,CAACC,OAAO,CAACJ,QAAQ,CAACK,WAAW,CAAC,CAAC;IAC3D,KAAK,YAAY;MACf,qBAAAH,MAAA,CAAqBC,UAAU,CAACG,OAAO,CAACN,QAAQ,CAACK,WAAW,CAAC,CAAC;IAChE,KAAK,SAAS;MACZ,kBAAAH,MAAA,CAAkBC,UAAU,CAACI,QAAQ,CAACP,QAAQ,CAACK,WAAW,CAAC,CAAC;IAC9D,KAAK,YAAY;MACf,qBAAAH,MAAA,CAAqBC,UAAU,CAACG,OAAO,CAACN,QAAQ,CAACK,WAAW,CAAC,CAAC;IAChE,KAAK,cAAc;MACjB,uBAAAH,MAAA,CAAuBC,UAAU,CAACK,aAAa,CAACR,QAAQ,CAACK,WAAW,CAAC,CAAC;IACxE,KAAK,iBAAiB;MACpB,0BAAAH,MAAA,CAA0BC,UAAU,CAACI,QAAQ,CAACP,QAAQ,CAACK,WAAW,CAAC,CAAC;IACtE,KAAK,oBAAoB;MACvB,6BAAAH,MAAA,CAA6BC,UAAU,CAACH,QAAQ,CAACS,UAAU,CAACC,GAAG,CAACX,SAAS,CAAC,CAACY,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF;MACE,MAAM,IAAIC,KAAK,CAAC,wEAAwE,CAAC;EAAC;AAEhG;AAEA,SAASR,OAAOA,CAACS,CAAW,EAAU;EACpC,OAAOA,CAAC,CAACF,IAAI,CAAC,GAAG,CAAC;AACpB;AAEA,SAASL,OAAOA,CAACQ,CAAa,EAAU;EACtC,OAAOA,CAAC,CAACJ,GAAG,CAACN,OAAO,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC;AAClC;AAEA,SAASJ,QAAQA,CAACO,CAAe,EAAU;EACzC,OAAOA,CAAC,CAACJ,GAAG,CAACJ,OAAO,CAAC,CAACI,GAAG,CAACP,UAAU,CAAC,CAACQ,IAAI,CAAC,IAAI,CAAC;AAClD;AAEA,SAASH,aAAaA,CAACM,CAAiB,EAAU;EAChD,OAAOA,CAAC,CAACJ,GAAG,CAACH,QAAQ,CAAC,CAACG,GAAG,CAACP,UAAU,CAAC,CAACQ,IAAI,CAAC,IAAI,CAAC;AACnD;AAEA,SAASR,UAAUA,CAACY,CAAS,EAAU;EACrC,WAAAb,MAAA,CAAWa,CAAC;AACd"}
@@ -4,14 +4,11 @@ const NUM_DIMENSIONS = {
4
4
  2: 3,
5
5
  3: 4
6
6
  };
7
-
8
7
  export default function parseWKB(arrayBuffer) {
9
8
  const view = new DataView(arrayBuffer);
10
9
  let offset = 0;
11
-
12
10
  const littleEndian = view.getUint8(offset) === 1;
13
11
  offset++;
14
-
15
12
  const geometryCode = view.getUint32(offset, littleEndian);
16
13
  offset += 4;
17
14
  const geometryType = geometryCode % 1000;
@@ -43,7 +40,6 @@ export default function parseWKB(arrayBuffer) {
43
40
  throw new Error("WKB: Unsupported geometry type: ".concat(geometryType));
44
41
  }
45
42
  }
46
-
47
43
  function parsePoint(view, offset, dimension, littleEndian) {
48
44
  const positions = new Float64Array(dimension);
49
45
  for (let i = 0; i < dimension; i++) {
@@ -64,7 +60,6 @@ function parsePoint(view, offset, dimension, littleEndian) {
64
60
  function parseLineString(view, offset, dimension, littleEndian) {
65
61
  const nPoints = view.getUint32(offset, littleEndian);
66
62
  offset += 4;
67
-
68
63
  const positions = new Float64Array(nPoints * dimension);
69
64
  for (let i = 0; i < nPoints * dimension; i++) {
70
65
  positions[i] = view.getFloat64(offset, littleEndian);
@@ -89,7 +84,6 @@ function parseLineString(view, offset, dimension, littleEndian) {
89
84
  offset
90
85
  };
91
86
  }
92
-
93
87
  const cumulativeSum = sum => value => sum += value;
94
88
  function parsePolygon(view, offset, dimension, littleEndian) {
95
89
  const nRings = view.getUint32(offset, littleEndian);
@@ -136,7 +130,6 @@ function parseMultiPoint(view, offset, dimension, littleEndian) {
136
130
  for (let i = 0; i < nPoints; i++) {
137
131
  const littleEndianPoint = view.getUint8(offset) === 1;
138
132
  offset++;
139
-
140
133
  if (view.getUint32(offset, littleEndianPoint) % 1000 !== 1) {
141
134
  throw new Error('WKB: Inner geometries of MultiPoint not of type Point');
142
135
  }
@@ -154,7 +147,6 @@ function parseMultiLineString(view, offset, dimension, littleEndian) {
154
147
  for (let i = 0; i < nLines; i++) {
155
148
  const littleEndianLine = view.getUint8(offset) === 1;
156
149
  offset++;
157
-
158
150
  if (view.getUint32(offset, littleEndianLine) % 1000 !== 2) {
159
151
  throw new Error('WKB: Inner geometries of MultiLineString not of type LineString');
160
152
  }
@@ -172,7 +164,6 @@ function parseMultiPolygon(view, offset, dimension, littleEndian) {
172
164
  for (let i = 0; i < nPolygons; i++) {
173
165
  const littleEndianPolygon = view.getUint8(offset) === 1;
174
166
  offset++;
175
-
176
167
  if (view.getUint32(offset, littleEndianPolygon) % 1000 !== 3) {
177
168
  throw new Error('WKB: Inner geometries of MultiPolygon not of type Polygon');
178
169
  }
@@ -183,7 +174,6 @@ function parseMultiPolygon(view, offset, dimension, littleEndian) {
183
174
  }
184
175
  return concatenateBinaryPolygonGeometries(binaryPolygonGeometries, dimension);
185
176
  }
186
-
187
177
  function concatenateBinaryPointGeometries(binaryPointGeometries, dimension) {
188
178
  const positions = binaryPointGeometries.map(geometry => geometry.positions.value);
189
179
  const concatenatedPositions = new Float64Array(concatTypedArrays(positions).buffer);
@@ -226,7 +216,6 @@ function concatenateBinaryPolygonGeometries(binaryPolygonGeometries, dimension)
226
216
  const concatenatedPositions = new Float64Array(concatTypedArrays(polygons).buffer);
227
217
  const polygonIndices = polygons.map(p => p.length / dimension).map(cumulativeSum(0));
228
218
  polygonIndices.unshift(0);
229
-
230
219
  const primitivePolygonIndices = [0];
231
220
  for (const primitivePolygon of primitivePolygons) {
232
221
  primitivePolygonIndices.push(...primitivePolygon.filter(x => x > 0).map(x => x + primitivePolygonIndices[primitivePolygonIndices.length - 1]));
@@ -247,7 +236,6 @@ function concatenateBinaryPolygonGeometries(binaryPolygonGeometries, dimension)
247
236
  }
248
237
  };
249
238
  }
250
-
251
239
  function concatTypedArrays(arrays) {
252
240
  let byteLength = 0;
253
241
  for (let i = 0; i < arrays.length; ++i) {