@loaders.gl/arrow 4.1.0-alpha.1 → 4.1.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.
- package/dist/arrow-loader.d.ts.map +1 -1
- package/dist/arrow-loader.js +1 -1
- package/dist/arrow-loader.js.map +1 -1
- package/dist/arrow-worker.js +1 -1
- package/dist/arrow-writer.js +1 -1
- package/dist/arrow-writer.js.map +1 -1
- package/dist/dist.dev.js +113 -49
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts +4 -2
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js +25 -23
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson-geometry.d.ts.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson-geometry.js.map +1 -1
- package/dist/geoarrow/get-arrow-bounds.d.ts.map +1 -1
- package/dist/geoarrow/get-arrow-bounds.js.map +1 -1
- package/dist/geoarrow-loader.d.ts.map +1 -1
- package/dist/geoarrow-loader.js.map +1 -1
- package/dist/geoarrow-writer.js +1 -1
- package/dist/geoarrow-writer.js.map +1 -1
- package/dist/index.cjs +69 -16
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/arrow-table-batch.d.ts.map +1 -1
- package/dist/lib/arrow-table-batch.js.map +1 -1
- package/dist/lib/arrow-table.d.ts.map +1 -1
- package/dist/lib/arrow-table.js.map +1 -1
- package/dist/lib/encode-arrow.d.ts.map +1 -1
- package/dist/lib/encode-arrow.js.map +1 -1
- package/dist/lib/encode-geoarrow.d.ts.map +1 -1
- package/dist/lib/encode-geoarrow.js.map +1 -1
- package/dist/parsers/parse-arrow-in-batches.d.ts.map +1 -1
- package/dist/parsers/parse-arrow-in-batches.js.map +1 -1
- package/dist/parsers/parse-arrow-sync.d.ts.map +1 -1
- package/dist/parsers/parse-arrow-sync.js.map +1 -1
- package/dist/parsers/parse-geoarrow-in-batches.d.ts.map +1 -1
- package/dist/parsers/parse-geoarrow-in-batches.js.map +1 -1
- package/dist/parsers/parse-geoarrow-sync.d.ts.map +1 -1
- package/dist/parsers/parse-geoarrow-sync.js.map +1 -1
- package/dist/schema/arrow-type-utils.d.ts.map +1 -1
- package/dist/schema/arrow-type-utils.js.map +1 -1
- package/dist/schema/convert-arrow-schema.d.ts.map +1 -1
- package/dist/schema/convert-arrow-schema.js.map +1 -1
- package/dist/tables/convert-arrow-to-columnar-table.d.ts.map +1 -1
- package/dist/tables/convert-arrow-to-columnar-table.js.map +1 -1
- package/dist/tables/convert-arrow-to-geojson-table.d.ts.map +1 -1
- package/dist/tables/convert-arrow-to-geojson-table.js.map +1 -1
- package/dist/tables/convert-columnar-to-row-table.d.ts.map +1 -1
- package/dist/tables/convert-columnar-to-row-table.js.map +1 -1
- package/dist/tables/convert-table-to-arrow.d.ts.map +1 -1
- package/dist/tables/convert-table-to-arrow.js.map +1 -1
- package/dist/triangulate-on-worker.d.ts +39 -5
- package/dist/triangulate-on-worker.d.ts.map +1 -1
- package/dist/triangulate-on-worker.js +12 -2
- package/dist/triangulate-on-worker.js.map +1 -1
- package/dist/triangulation-worker.js +11672 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/workers/arrow-worker.js.map +1 -1
- package/dist/workers/hard-clone.d.ts +23 -0
- package/dist/workers/hard-clone.d.ts.map +1 -0
- package/dist/workers/hard-clone.js +57 -0
- package/dist/workers/hard-clone.js.map +1 -0
- package/dist/workers/triangulation-worker-node.d.ts.map +1 -1
- package/dist/workers/triangulation-worker-node.js.map +1 -1
- package/dist/workers/triangulation-worker.js +34 -1
- package/dist/workers/triangulation-worker.js.map +1 -1
- package/package.json +6 -6
- package/src/arrow-loader.ts +2 -1
- package/src/geoarrow/convert-geoarrow-to-binary-geometry.ts +28 -20
- package/src/geoarrow/convert-geoarrow-to-geojson-geometry.ts +2 -1
- package/src/geoarrow/get-arrow-bounds.ts +2 -1
- package/src/geoarrow-loader.ts +2 -1
- package/src/index.ts +10 -3
- package/src/lib/arrow-table-batch.ts +2 -1
- package/src/lib/arrow-table.ts +2 -1
- package/src/lib/encode-arrow.ts +2 -1
- package/src/lib/encode-geoarrow.ts +2 -1
- package/src/parsers/parse-arrow-in-batches.ts +2 -1
- package/src/parsers/parse-arrow-sync.ts +2 -1
- package/src/parsers/parse-geoarrow-in-batches.ts +2 -1
- package/src/parsers/parse-geoarrow-sync.ts +2 -1
- package/src/schema/arrow-type-utils.ts +2 -1
- package/src/schema/convert-arrow-schema.ts +2 -1
- package/src/tables/convert-arrow-to-columnar-table.ts +2 -1
- package/src/tables/convert-arrow-to-geojson-table.ts +2 -1
- package/src/tables/convert-columnar-to-row-table.ts +2 -1
- package/src/tables/convert-table-to-arrow.ts +2 -1
- package/src/triangulate-on-worker.ts +52 -8
- package/src/types.ts +2 -1
- package/src/workers/arrow-worker.ts +2 -1
- package/src/workers/hard-clone.ts +162 -0
- package/src/workers/triangulation-worker-node.ts +2 -1
- package/src/workers/triangulation-worker.ts +58 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-geoarrow.js","names":["arrow","VECTOR_TYPES","encodeGeoArrowSync","data","vectors","arrayData","arrayVector","createVector","array","type","name","table","Table","arrowBuffer","tableToIPC","DATE","vectorFromArray","FLOAT"],"sources":["../../src/lib/encode-geoarrow.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"encode-geoarrow.js","names":["arrow","VECTOR_TYPES","encodeGeoArrowSync","data","vectors","arrayData","arrayVector","createVector","array","type","name","table","Table","arrowBuffer","tableToIPC","DATE","vectorFromArray","FLOAT"],"sources":["../../src/lib/encode-geoarrow.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport * as arrow from 'apache-arrow';\nimport {AnyArrayType, VECTOR_TYPES} from '../types';\n\nexport type ColumnarTable = {\n name: string;\n array: AnyArrayType;\n type: number;\n}[];\n\n/**\n * Encodes set of arrays into the Apache Arrow columnar format\n * https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format\n * @param data - columns data\n * @param options - the writer options\n * @returns - encoded ArrayBuffer\n */\nexport function encodeGeoArrowSync(data: ColumnarTable): ArrayBuffer {\n const vectors: Record<string, arrow.Vector> = {};\n for (const arrayData of data) {\n const arrayVector = createVector(arrayData.array, arrayData.type);\n vectors[arrayData.name] = arrayVector;\n }\n const table = new arrow.Table(vectors);\n const arrowBuffer = arrow.tableToIPC(table);\n return arrowBuffer;\n}\n\n/**\n * Create Arrow arrow.Vector from given data and vector type\n * @param array {import('../types').AnyArrayType} - columns data\n * @param type {number} - the writer options\n * @return a vector of one of vector's types defined in the Apache Arrow library\n */\nfunction createVector(array, type): arrow.Vector {\n switch (type) {\n case VECTOR_TYPES.DATE:\n return arrow.vectorFromArray(array);\n case VECTOR_TYPES.FLOAT:\n default:\n return arrow.vectorFromArray(array);\n }\n}\n"],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAAC,SAChBC,YAAY;AAelC,OAAO,SAASC,kBAAkBA,CAACC,IAAmB,EAAe;EACnE,MAAMC,OAAqC,GAAG,CAAC,CAAC;EAChD,KAAK,MAAMC,SAAS,IAAIF,IAAI,EAAE;IAC5B,MAAMG,WAAW,GAAGC,YAAY,CAACF,SAAS,CAACG,KAAK,EAAEH,SAAS,CAACI,IAAI,CAAC;IACjEL,OAAO,CAACC,SAAS,CAACK,IAAI,CAAC,GAAGJ,WAAW;EACvC;EACA,MAAMK,KAAK,GAAG,IAAIX,KAAK,CAACY,KAAK,CAACR,OAAO,CAAC;EACtC,MAAMS,WAAW,GAAGb,KAAK,CAACc,UAAU,CAACH,KAAK,CAAC;EAC3C,OAAOE,WAAW;AACpB;AAQA,SAASN,YAAYA,CAACC,KAAK,EAAEC,IAAI,EAAgB;EAC/C,QAAQA,IAAI;IACV,KAAKR,YAAY,CAACc,IAAI;MACpB,OAAOf,KAAK,CAACgB,eAAe,CAACR,KAAK,CAAC;IACrC,KAAKP,YAAY,CAACgB,KAAK;IACvB;MACE,OAAOjB,KAAK,CAACgB,eAAe,CAACR,KAAK,CAAC;EACvC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-in-batches.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-arrow-in-batches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-arrow-in-batches.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-arrow-in-batches.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAIxD;GACG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAChE,aAAa,CAAC,eAAe,CAAC,CAsChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-in-batches.js","names":["arrow","parseArrowInBatches","asyncIterator","makeArrowAsyncIterator","readers","RecordBatchReader","readAll","reader","recordBatch","arrowTabledBatch","shape","batchType","data","Table","length"],"sources":["../../src/parsers/parse-arrow-in-batches.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"parse-arrow-in-batches.js","names":["arrow","parseArrowInBatches","asyncIterator","makeArrowAsyncIterator","readers","RecordBatchReader","readAll","reader","recordBatch","arrowTabledBatch","shape","batchType","data","Table","length"],"sources":["../../src/parsers/parse-arrow-in-batches.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ArrowTableBatch} from '../lib/arrow-table';\nimport * as arrow from 'apache-arrow';\n// import {isIterable} from '@loaders.gl/core';\n\n/**\n */\nexport function parseArrowInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): AsyncIterable<ArrowTableBatch> {\n // Creates the appropriate arrow.RecordBatchReader subclasses from the input\n // This will also close the underlying source in case of early termination or errors\n\n // As an optimization, return a non-async iterator\n /*\n if (isIterable(readers)) {\n function* makeArrowIterator() {\n for (const reader of readers) {\n for (const batch of reader) {\n yield processBatch(batch, reader);\n }\n break; // only processing one stream of batches\n }\n }\n const arrowIterator = makeArrowIterator();\n }\n */\n\n async function* makeArrowAsyncIterator(): AsyncIterator<ArrowTableBatch> {\n // @ts-ignore\n const readers = arrow.RecordBatchReader.readAll(asyncIterator);\n for await (const reader of readers) {\n for await (const recordBatch of reader) {\n const arrowTabledBatch: ArrowTableBatch = {\n shape: 'arrow-table',\n batchType: 'data',\n data: new arrow.Table([recordBatch]),\n length: recordBatch.data.length\n };\n // processBatch(recordBatch);\n yield arrowTabledBatch;\n }\n break; // only processing one stream of batches\n }\n }\n\n return makeArrowAsyncIterator() as any; // as AsyncIterator<ArrowTableBatch>;\n}\n\n// function processBatch(batch: RecordBatch): ArrowTableBatch {\n// const values = {};\n// batch.schema.fields.forEach(({name}, index) => {\n// values[name] = batch.getChildAt(index)?.toArray();\n// });\n// return {\n// };\n// }\n"],"mappings":"AAKA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAKrC,OAAO,SAASC,mBAAmBA,CACjCC,aAAiE,EACjC;EAmBhC,gBAAgBC,sBAAsBA,CAAA,EAAmC;IAEvE,MAAMC,OAAO,GAAGJ,KAAK,CAACK,iBAAiB,CAACC,OAAO,CAACJ,aAAa,CAAC;IAC9D,WAAW,MAAMK,MAAM,IAAIH,OAAO,EAAE;MAClC,WAAW,MAAMI,WAAW,IAAID,MAAM,EAAE;QACtC,MAAME,gBAAiC,GAAG;UACxCC,KAAK,EAAE,aAAa;UACpBC,SAAS,EAAE,MAAM;UACjBC,IAAI,EAAE,IAAIZ,KAAK,CAACa,KAAK,CAAC,CAACL,WAAW,CAAC,CAAC;UACpCM,MAAM,EAAEN,WAAW,CAACI,IAAI,CAACE;QAC3B,CAAC;QAED,MAAML,gBAAgB;MACxB;MACA;IACF;EACF;EAEA,OAAON,sBAAsB,CAAC,CAAC;AACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-sync.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-arrow-sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-arrow-sync.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-arrow-sync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAOnD,wBAAgB,cAAc,CAC5B,WAAW,KAAA,EACX,OAAO,CAAC,EAAE;IAAC,KAAK,CAAC,EAAE,aAAa,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,iBAAiB,CAAA;CAAC,GAC5F,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,aAAa,CA4B7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-sync.js","names":["convertTable","arrow","convertArrowToColumnarTable","serializeArrowSchema","parseArrowSync","arrayBuffer","options","apacheArrowTable","tableFromIPC","Uint8Array","arrowTable","shape","schema","data","columnarTable","Error"],"sources":["../../src/parsers/parse-arrow-sync.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"parse-arrow-sync.js","names":["convertTable","arrow","convertArrowToColumnarTable","serializeArrowSchema","parseArrowSync","arrayBuffer","options","apacheArrowTable","tableFromIPC","Uint8Array","arrowTable","shape","schema","data","columnarTable","Error"],"sources":["../../src/parsers/parse-arrow-sync.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ArrayRowTable, ColumnarTable, ObjectRowTable} from '@loaders.gl/schema';\nimport type {ArrowTable} from '../lib/arrow-table';\nimport {convertTable} from '@loaders.gl/schema';\nimport * as arrow from 'apache-arrow';\nimport {convertArrowToColumnarTable} from '../tables/convert-arrow-to-columnar-table';\nimport {serializeArrowSchema} from '../schema/convert-arrow-schema';\n\n// Parses arrow to a columnar table\nexport function parseArrowSync(\n arrayBuffer,\n options?: {shape?: 'arrow-table' | 'columnar-table' | 'object-row-table' | 'array-row-table'}\n): ArrowTable | ColumnarTable | ObjectRowTable | ArrayRowTable {\n const apacheArrowTable = arrow.tableFromIPC([new Uint8Array(arrayBuffer)]);\n const arrowTable: ArrowTable = {\n shape: 'arrow-table',\n schema: serializeArrowSchema(apacheArrowTable.schema),\n data: apacheArrowTable\n };\n\n const shape = options?.shape || 'arrow-table';\n switch (shape) {\n case 'arrow-table':\n return arrowTable;\n\n case 'columnar-table':\n return convertArrowToColumnarTable(arrowTable);\n\n case 'object-row-table':\n let columnarTable = convertArrowToColumnarTable(arrowTable);\n return convertTable(columnarTable, 'object-row-table');\n\n case 'array-row-table':\n columnarTable = convertArrowToColumnarTable(arrowTable);\n return convertTable(columnarTable, 'array-row-table');\n\n default:\n // TODO\n throw new Error(shape);\n }\n}\n"],"mappings":"AAMA,SAAQA,YAAY,QAAO,oBAAoB;AAC/C,OAAO,KAAKC,KAAK,MAAM,cAAc;AAAC,SAC9BC,2BAA2B;AAAA,SAC3BC,oBAAoB;AAG5B,OAAO,SAASC,cAAcA,CAC5BC,WAAW,EACXC,OAA6F,EAChC;EAC7D,MAAMC,gBAAgB,GAAGN,KAAK,CAACO,YAAY,CAAC,CAAC,IAAIC,UAAU,CAACJ,WAAW,CAAC,CAAC,CAAC;EAC1E,MAAMK,UAAsB,GAAG;IAC7BC,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAET,oBAAoB,CAACI,gBAAgB,CAACK,MAAM,CAAC;IACrDC,IAAI,EAAEN;EACR,CAAC;EAED,MAAMI,KAAK,GAAG,CAAAL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,KAAK,KAAI,aAAa;EAC7C,QAAQA,KAAK;IACX,KAAK,aAAa;MAChB,OAAOD,UAAU;IAEnB,KAAK,gBAAgB;MACnB,OAAOR,2BAA2B,CAACQ,UAAU,CAAC;IAEhD,KAAK,kBAAkB;MACrB,IAAII,aAAa,GAAGZ,2BAA2B,CAACQ,UAAU,CAAC;MAC3D,OAAOV,YAAY,CAACc,aAAa,EAAE,kBAAkB,CAAC;IAExD,KAAK,iBAAiB;MACpBA,aAAa,GAAGZ,2BAA2B,CAACQ,UAAU,CAAC;MACvD,OAAOV,YAAY,CAACc,aAAa,EAAE,iBAAiB,CAAC;IAEvD;MAEE,MAAM,IAAIC,KAAK,CAACJ,KAAK,CAAC;EAC1B;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-geoarrow-in-batches.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-geoarrow-in-batches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-geoarrow-in-batches.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-geoarrow-in-batches.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAGxD;GACG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAChE,aAAa,CAAC,eAAe,GAAG,iBAAiB,CAAC,CAGpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-geoarrow-in-batches.js","names":["parseArrowInBatches","parseGeoArrowInBatches","asyncIterator"],"sources":["../../src/parsers/parse-geoarrow-in-batches.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"parse-geoarrow-in-batches.js","names":["parseArrowInBatches","parseGeoArrowInBatches","asyncIterator"],"sources":["../../src/parsers/parse-geoarrow-in-batches.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {GeoJSONTableBatch} from '@loaders.gl/schema';\nimport type {ArrowTableBatch} from '../lib/arrow-table';\nimport {parseArrowInBatches} from './parse-arrow-in-batches';\n\n/**\n */\nexport function parseGeoArrowInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): AsyncIterable<ArrowTableBatch | GeoJSONTableBatch> {\n // | BinaryGeometry\n return parseArrowInBatches(asyncIterator);\n}\n"],"mappings":"SAMQA,mBAAmB;AAI3B,OAAO,SAASC,sBAAsBA,CACpCC,aAAiE,EACb;EAEpD,OAAOF,mBAAmB,CAACE,aAAa,CAAC;AAC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-geoarrow-sync.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-geoarrow-sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-geoarrow-sync.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-geoarrow-sync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAKnD,wBAAgB,iBAAiB,CAC/B,WAAW,KAAA,EACX,OAAO,CAAC,EAAE;IAAC,KAAK,CAAC,EAAE,aAAa,GAAG,eAAe,GAAG,iBAAiB,CAAA;CAAC,GACtE,UAAU,GAAG,YAAY,CAS3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-geoarrow-sync.js","names":["parseArrowSync","convertArrowToGeoJSONTable","parseGeoArrowSync","arrayBuffer","options","table","shape"],"sources":["../../src/parsers/parse-geoarrow-sync.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"parse-geoarrow-sync.js","names":["parseArrowSync","convertArrowToGeoJSONTable","parseGeoArrowSync","arrayBuffer","options","table","shape"],"sources":["../../src/parsers/parse-geoarrow-sync.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {GeoJSONTable} from '@loaders.gl/schema';\nimport type {ArrowTable} from '../lib/arrow-table';\nimport {parseArrowSync} from './parse-arrow-sync';\nimport {convertArrowToGeoJSONTable} from '../tables/convert-arrow-to-geojson-table';\n\n// Parses arrow to a columnar table\nexport function parseGeoArrowSync(\n arrayBuffer,\n options?: {shape?: 'arrow-table' | 'geojson-table' | 'binary-geometry'}\n): ArrowTable | GeoJSONTable {\n // | BinaryGeometry\n const table = parseArrowSync(arrayBuffer, {shape: 'arrow-table'}) as ArrowTable;\n switch (options?.shape) {\n case 'geojson-table':\n return convertArrowToGeoJSONTable(table);\n default:\n return table;\n }\n}\n"],"mappings":"SAMQA,cAAc;AAAA,SACdC,0BAA0B;AAGlC,OAAO,SAASC,iBAAiBA,CAC/BC,WAAW,EACXC,OAAuE,EAC5C;EAE3B,MAAMC,KAAK,GAAGL,cAAc,CAACG,WAAW,EAAE;IAACG,KAAK,EAAE;EAAa,CAAC,CAAe;EAC/E,QAAQF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,KAAK;IACpB,KAAK,eAAe;MAClB,OAAOL,0BAA0B,CAACI,KAAK,CAAC;IAC1C;MACE,OAAOA,KAAK;EAChB;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-type-utils.d.ts","sourceRoot":"","sources":["../../src/schema/arrow-type-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arrow-type-utils.d.ts","sourceRoot":"","sources":["../../src/schema/arrow-type-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,oHAAoH;AACpH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,QAAQ,CAqB9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-type-utils.js","names":["arrow","getArrowType","array","constructor","Int8Array","Int8","Uint8Array","Uint8","Int16Array","Int16","Uint16Array","Uint16","Int32Array","Int32","Uint32Array","Uint32","Float32Array","Float32","Float64Array","Float64","Error"],"sources":["../../src/schema/arrow-type-utils.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"arrow-type-utils.js","names":["arrow","getArrowType","array","constructor","Int8Array","Int8","Uint8Array","Uint8","Int16Array","Int16","Uint16Array","Uint16","Int32Array","Int32","Uint32Array","Uint32","Float32Array","Float32","Float64Array","Float64","Error"],"sources":["../../src/schema/arrow-type-utils.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {TypedArray} from '@loaders.gl/schema';\nimport * as arrow from 'apache-arrow';\n\n/** Return an Apache Arrow Type instance that corresponds to the type of the elements in the supplied Typed Array */\nexport function getArrowType(array: TypedArray): arrow.DataType {\n switch (array.constructor) {\n case Int8Array:\n return new arrow.Int8();\n case Uint8Array:\n return new arrow.Uint8();\n case Int16Array:\n return new arrow.Int16();\n case Uint16Array:\n return new arrow.Uint16();\n case Int32Array:\n return new arrow.Int32();\n case Uint32Array:\n return new arrow.Uint32();\n case Float32Array:\n return new arrow.Float32();\n case Float64Array:\n return new arrow.Float64();\n default:\n throw new Error('array type not supported');\n }\n}\n\n/*\nexport function getArrowVector(array: TypedArray): AbstractVector {\n switch (array.constructor) {\n case Int8Array:\n return Int8Vector.from(array);\n case Uint8Array:\n return Uint8Vector.from(array);\n case Int16Array:\n return Int16Vector.from(array);\n case Uint16Array:\n return Uint16Vector.from(array);\n case Int32Array:\n return Int32Vector.from(array);\n case Uint32Array:\n return Uint32Vector.from(array);\n case Float32Array:\n return Float32Vector.from(array);\n case Float64Array:\n return Float64Vector.from(array);\n default:\n throw new Error('array type not supported');\n }\n}\n*/\n"],"mappings":"AAKA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAGrC,OAAO,SAASC,YAAYA,CAACC,KAAiB,EAAkB;EAC9D,QAAQA,KAAK,CAACC,WAAW;IACvB,KAAKC,SAAS;MACZ,OAAO,IAAIJ,KAAK,CAACK,IAAI,CAAC,CAAC;IACzB,KAAKC,UAAU;MACb,OAAO,IAAIN,KAAK,CAACO,KAAK,CAAC,CAAC;IAC1B,KAAKC,UAAU;MACb,OAAO,IAAIR,KAAK,CAACS,KAAK,CAAC,CAAC;IAC1B,KAAKC,WAAW;MACd,OAAO,IAAIV,KAAK,CAACW,MAAM,CAAC,CAAC;IAC3B,KAAKC,UAAU;MACb,OAAO,IAAIZ,KAAK,CAACa,KAAK,CAAC,CAAC;IAC1B,KAAKC,WAAW;MACd,OAAO,IAAId,KAAK,CAACe,MAAM,CAAC,CAAC;IAC3B,KAAKC,YAAY;MACf,OAAO,IAAIhB,KAAK,CAACiB,OAAO,CAAC,CAAC;IAC5B,KAAKC,YAAY;MACf,OAAO,IAAIlB,KAAK,CAACmB,OAAO,CAAC,CAAC;IAC5B;MACE,MAAM,IAAIC,KAAK,CAAC,0BAA0B,CAAC;EAC/C;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-arrow-schema.d.ts","sourceRoot":"","sources":["../../src/schema/convert-arrow-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert-arrow-schema.d.ts","sourceRoot":"","sources":["../../src/schema/convert-arrow-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAKtE;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAKnE;AAED,gHAAgH;AAChH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,cAAc,CAEzF;AAED,mHAAmH;AACnH,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvF;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAO7D;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAO/D;AAED,+EAA+E;AAE/E,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAuJtE;AAED,+EAA+E;AAE/E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAgFvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-arrow-schema.js","names":["arrow","serializeArrowSchema","arrowSchema","fields","map","arrowField","serializeArrowField","metadata","serializeArrowMetadata","deserializeArrowSchema","schema","Schema","field","deserializeArrowField","deserializeArrowMetadata","arrowMetadata","Object","fromEntries","Map","entries","name","type","serializeArrowType","nullable","Field","deserializeArrowType","arrowType","constructor","Null","Binary","Bool","Int","intType","isSigned","bitWidth","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Float","precision","Precision","HALF","SINGLE","DOUBLE","Float16","Float32","Float64","Utf8","Decimal","decimal","scale","Date_","dateUnit","unit","DateUnit","DAY","DateDay","DateMillisecond","Time","timeUnit","TimeUnit","SECOND","MILLISECOND","MICROSECOND","NANOSECOND","TimeMillisecond","TimeSecond","TimeMicrosecond","TimeNanosecond","Timestamp","timeStampUnit","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","Interval","intervalUnit","IntervalUnit","DAY_TIME","YEAR_MONTH","IntervalDayTime","IntervalYearMonth","Map_","mapType","keysSorted","children","List","listType","listField","valueField","FixedSizeList","fixedSizeList","listSize","Struct","structType","Error","dataType","child"],"sources":["../../src/schema/convert-arrow-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {DataType, Field, Schema, SchemaMetadata} from '@loaders.gl/schema';\nimport * as arrow from 'apache-arrow';\n\n/** Convert Apache Arrow Schema (class instance) to a serialized Schema (plain data) */\nexport function serializeArrowSchema(arrowSchema: arrow.Schema): Schema {\n return {\n fields: arrowSchema.fields.map((arrowField) => serializeArrowField(arrowField)),\n metadata: serializeArrowMetadata(arrowSchema.metadata)\n };\n}\n\n/** Convert a serialized Schema (plain data) to an Apache Arrow Schema (class instance) */\nexport function deserializeArrowSchema(schema: Schema): arrow.Schema {\n return new arrow.Schema(\n schema.fields.map((field) => deserializeArrowField(field)),\n deserializeArrowMetadata(schema.metadata)\n );\n}\n\n/** Convert Apache Arrow Schema metadata (Map<string, string>) to serialized metadata (Record<string, string> */\nexport function serializeArrowMetadata(arrowMetadata: Map<string, string>): SchemaMetadata {\n return Object.fromEntries(arrowMetadata);\n}\n\n/** Convert serialized metadata (Record<string, string> to Apache Arrow Schema metadata (Map<string, string>) to */\nexport function deserializeArrowMetadata(metadata?: SchemaMetadata): Map<string, string> {\n return metadata ? new Map(Object.entries(metadata)) : new Map<string, string>();\n}\n\n/** Convert Apache Arrow Field (class instance) to serialized Field (plain data) */\nexport function serializeArrowField(field: arrow.Field): Field {\n return {\n name: field.name,\n type: serializeArrowType(field.type),\n nullable: field.nullable,\n metadata: serializeArrowMetadata(field.metadata)\n };\n}\n\n/** Convert a serialized Field (plain data) to an Apache Arrow Field (class instance)*/\nexport function deserializeArrowField(field: Field): arrow.Field {\n return new arrow.Field(\n field.name,\n deserializeArrowType(field.type),\n field.nullable,\n deserializeArrowMetadata(field.metadata)\n );\n}\n\n/** Converts a serializable loaders.gl data type to hydrated arrow data type */\n// eslint-disable-next-line complexity\nexport function serializeArrowType(arrowType: arrow.DataType): DataType {\n switch (arrowType.constructor) {\n case arrow.Null:\n return 'null';\n case arrow.Binary:\n return 'binary';\n case arrow.Bool:\n return 'bool';\n case arrow.Int:\n const intType = arrowType as arrow.Int;\n return `${intType.isSigned ? 'u' : ''}int${intType.bitWidth}`;\n case arrow.Int8:\n return 'int8';\n case arrow.Int16:\n return 'int16';\n case arrow.Int32:\n return 'int32';\n case arrow.Int64:\n return 'int64';\n case arrow.Uint8:\n return 'uint8';\n case arrow.Uint16:\n return 'uint16';\n case arrow.Uint32:\n return 'uint32';\n case arrow.Uint64:\n return 'uint64';\n case arrow.Float:\n const precision = (arrowType as arrow.Float).precision;\n // return `float(precision + 1) * 16`;\n switch (precision) {\n case arrow.Precision.HALF:\n return 'float16';\n case arrow.Precision.SINGLE:\n return 'float32';\n case arrow.Precision.DOUBLE:\n return 'float64';\n default:\n return 'float16';\n }\n case arrow.Float16:\n return 'float16';\n case arrow.Float32:\n return 'float32';\n case arrow.Float64:\n return 'float64';\n case arrow.Utf8:\n return 'utf8';\n case arrow.Decimal:\n const decimal = arrowType as arrow.Decimal;\n return {\n type: 'decimal',\n bitWidth: decimal.bitWidth,\n precision: decimal.precision,\n scale: decimal.scale\n };\n case arrow.Date_:\n const dateUnit = (arrowType as arrow.Date_).unit;\n return dateUnit === arrow.DateUnit.DAY ? 'date-day' : 'date-millisecond';\n case arrow.DateDay:\n return 'date-day';\n case arrow.DateMillisecond:\n return 'date-millisecond';\n case arrow.Time:\n const timeUnit = (arrowType as arrow.Time).unit;\n switch (timeUnit) {\n case arrow.TimeUnit.SECOND:\n return 'time-second';\n case arrow.TimeUnit.MILLISECOND:\n return 'time-millisecond';\n case arrow.TimeUnit.MICROSECOND:\n return 'time-microsecond';\n case arrow.TimeUnit.NANOSECOND:\n return 'time-nanosecond';\n default:\n return 'time-second';\n }\n case arrow.TimeMillisecond:\n return 'time-millisecond';\n case arrow.TimeSecond:\n return 'time-second';\n case arrow.TimeMicrosecond:\n return 'time-microsecond';\n case arrow.TimeNanosecond:\n return 'time-nanosecond';\n case arrow.Timestamp:\n const timeStampUnit = (arrowType as arrow.Timestamp).unit;\n switch (timeStampUnit) {\n case arrow.TimeUnit.SECOND:\n return 'timestamp-second';\n case arrow.TimeUnit.MILLISECOND:\n return 'timestamp-millisecond';\n case arrow.TimeUnit.MICROSECOND:\n return 'timestamp-microsecond';\n case arrow.TimeUnit.NANOSECOND:\n return 'timestamp-nanosecond';\n default:\n return 'timestamp-second';\n }\n case arrow.TimestampSecond:\n return 'timestamp-second';\n case arrow.TimestampMillisecond:\n return 'timestamp-millisecond';\n case arrow.TimestampMicrosecond:\n return 'timestamp-microsecond';\n case arrow.TimestampNanosecond:\n return 'timestamp-nanosecond';\n case arrow.Interval:\n const intervalUnit = (arrowType as arrow.Interval).unit;\n switch (intervalUnit) {\n case arrow.IntervalUnit.DAY_TIME:\n return 'interval-daytime';\n case arrow.IntervalUnit.YEAR_MONTH:\n return 'interval-yearmonth';\n default:\n return 'interval-daytime';\n }\n case arrow.IntervalDayTime:\n return 'interval-daytime';\n case arrow.IntervalYearMonth:\n return 'interval-yearmonth';\n case arrow.Map_:\n const mapType = arrowType as arrow.Map_;\n return {\n type: 'map',\n keysSorted: mapType.keysSorted,\n children: mapType.children.map((arrowField) => serializeArrowField(arrowField))\n };\n case arrow.List:\n const listType = arrowType as arrow.List;\n const listField = listType.valueField;\n return {\n type: 'list',\n children: [serializeArrowField(listField)]\n };\n case arrow.FixedSizeList:\n const fixedSizeList = arrowType as arrow.FixedSizeList;\n return {\n type: 'fixed-size-list',\n listSize: fixedSizeList.listSize,\n children: [serializeArrowField(fixedSizeList.children[0])]\n };\n case arrow.Struct:\n const structType = arrowType as arrow.Struct;\n return {\n type: 'struct',\n children: structType.children.map((arrowField) => serializeArrowField(arrowField))\n };\n default:\n throw new Error(`arrow type not supported: ${arrowType.constructor.name}`);\n }\n}\n\n/** Converts a serializable loaders.gl data type to hydrated arrow data type */\n// eslint-disable-next-line complexity\nexport function deserializeArrowType(dataType: DataType): arrow.DataType {\n if (typeof dataType === 'object') {\n switch (dataType.type) {\n case 'decimal':\n return new arrow.Decimal(dataType.precision, dataType.scale, dataType.bitWidth);\n case 'map':\n let children = dataType.children.map((arrowField) => deserializeArrowField(arrowField));\n return new arrow.Map_(children as any, dataType.keysSorted);\n case 'list':\n const field = deserializeArrowField(dataType.children[0]);\n return new arrow.List(field);\n case 'fixed-size-list':\n const child = deserializeArrowField(dataType.children[0]);\n return new arrow.FixedSizeList(dataType.listSize, child);\n case 'struct':\n children = dataType.children.map((arrowField) => deserializeArrowField(arrowField));\n return new arrow.Struct(children);\n default:\n throw new Error('array type not supported');\n }\n }\n\n switch (dataType) {\n case 'null':\n return new arrow.Null();\n case 'binary':\n return new arrow.Binary();\n case 'bool':\n return new arrow.Bool();\n case 'int8':\n return new arrow.Int8();\n case 'int16':\n return new arrow.Int16();\n case 'int32':\n return new arrow.Int32();\n case 'int64':\n return new arrow.Int64();\n case 'uint8':\n return new arrow.Uint8();\n case 'uint16':\n return new arrow.Uint16();\n case 'uint32':\n return new arrow.Uint32();\n case 'uint64':\n return new arrow.Uint64();\n case 'float16':\n return new arrow.Float16();\n case 'float32':\n return new arrow.Float32();\n case 'float64':\n return new arrow.Float64();\n case 'utf8':\n return new arrow.Utf8();\n case 'date-day':\n return new arrow.DateDay();\n case 'date-millisecond':\n return new arrow.DateMillisecond();\n case 'time-second':\n return new arrow.TimeSecond();\n case 'time-millisecond':\n return new arrow.TimeMillisecond();\n case 'time-microsecond':\n return new arrow.TimeMicrosecond();\n case 'time-nanosecond':\n return new arrow.TimeNanosecond();\n case 'timestamp-second':\n return new arrow.TimestampSecond();\n case 'timestamp-millisecond':\n return new arrow.TimestampMillisecond();\n case 'timestamp-microsecond':\n return new arrow.TimestampMicrosecond();\n case 'timestamp-nanosecond':\n return new arrow.TimestampNanosecond();\n case 'interval-daytime':\n return new arrow.IntervalDayTime();\n case 'interval-yearmonth':\n return new arrow.IntervalYearMonth();\n default:\n throw new Error('array type not supported');\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"convert-arrow-schema.js","names":["arrow","serializeArrowSchema","arrowSchema","fields","map","arrowField","serializeArrowField","metadata","serializeArrowMetadata","deserializeArrowSchema","schema","Schema","field","deserializeArrowField","deserializeArrowMetadata","arrowMetadata","Object","fromEntries","Map","entries","name","type","serializeArrowType","nullable","Field","deserializeArrowType","arrowType","constructor","Null","Binary","Bool","Int","intType","isSigned","bitWidth","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Float","precision","Precision","HALF","SINGLE","DOUBLE","Float16","Float32","Float64","Utf8","Decimal","decimal","scale","Date_","dateUnit","unit","DateUnit","DAY","DateDay","DateMillisecond","Time","timeUnit","TimeUnit","SECOND","MILLISECOND","MICROSECOND","NANOSECOND","TimeMillisecond","TimeSecond","TimeMicrosecond","TimeNanosecond","Timestamp","timeStampUnit","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","Interval","intervalUnit","IntervalUnit","DAY_TIME","YEAR_MONTH","IntervalDayTime","IntervalYearMonth","Map_","mapType","keysSorted","children","List","listType","listField","valueField","FixedSizeList","fixedSizeList","listSize","Struct","structType","Error","dataType","child"],"sources":["../../src/schema/convert-arrow-schema.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {DataType, Field, Schema, SchemaMetadata} from '@loaders.gl/schema';\nimport * as arrow from 'apache-arrow';\n\n/** Convert Apache Arrow Schema (class instance) to a serialized Schema (plain data) */\nexport function serializeArrowSchema(arrowSchema: arrow.Schema): Schema {\n return {\n fields: arrowSchema.fields.map((arrowField) => serializeArrowField(arrowField)),\n metadata: serializeArrowMetadata(arrowSchema.metadata)\n };\n}\n\n/** Convert a serialized Schema (plain data) to an Apache Arrow Schema (class instance) */\nexport function deserializeArrowSchema(schema: Schema): arrow.Schema {\n return new arrow.Schema(\n schema.fields.map((field) => deserializeArrowField(field)),\n deserializeArrowMetadata(schema.metadata)\n );\n}\n\n/** Convert Apache Arrow Schema metadata (Map<string, string>) to serialized metadata (Record<string, string> */\nexport function serializeArrowMetadata(arrowMetadata: Map<string, string>): SchemaMetadata {\n return Object.fromEntries(arrowMetadata);\n}\n\n/** Convert serialized metadata (Record<string, string> to Apache Arrow Schema metadata (Map<string, string>) to */\nexport function deserializeArrowMetadata(metadata?: SchemaMetadata): Map<string, string> {\n return metadata ? new Map(Object.entries(metadata)) : new Map<string, string>();\n}\n\n/** Convert Apache Arrow Field (class instance) to serialized Field (plain data) */\nexport function serializeArrowField(field: arrow.Field): Field {\n return {\n name: field.name,\n type: serializeArrowType(field.type),\n nullable: field.nullable,\n metadata: serializeArrowMetadata(field.metadata)\n };\n}\n\n/** Convert a serialized Field (plain data) to an Apache Arrow Field (class instance)*/\nexport function deserializeArrowField(field: Field): arrow.Field {\n return new arrow.Field(\n field.name,\n deserializeArrowType(field.type),\n field.nullable,\n deserializeArrowMetadata(field.metadata)\n );\n}\n\n/** Converts a serializable loaders.gl data type to hydrated arrow data type */\n// eslint-disable-next-line complexity\nexport function serializeArrowType(arrowType: arrow.DataType): DataType {\n switch (arrowType.constructor) {\n case arrow.Null:\n return 'null';\n case arrow.Binary:\n return 'binary';\n case arrow.Bool:\n return 'bool';\n case arrow.Int:\n const intType = arrowType as arrow.Int;\n return `${intType.isSigned ? 'u' : ''}int${intType.bitWidth}`;\n case arrow.Int8:\n return 'int8';\n case arrow.Int16:\n return 'int16';\n case arrow.Int32:\n return 'int32';\n case arrow.Int64:\n return 'int64';\n case arrow.Uint8:\n return 'uint8';\n case arrow.Uint16:\n return 'uint16';\n case arrow.Uint32:\n return 'uint32';\n case arrow.Uint64:\n return 'uint64';\n case arrow.Float:\n const precision = (arrowType as arrow.Float).precision;\n // return `float(precision + 1) * 16`;\n switch (precision) {\n case arrow.Precision.HALF:\n return 'float16';\n case arrow.Precision.SINGLE:\n return 'float32';\n case arrow.Precision.DOUBLE:\n return 'float64';\n default:\n return 'float16';\n }\n case arrow.Float16:\n return 'float16';\n case arrow.Float32:\n return 'float32';\n case arrow.Float64:\n return 'float64';\n case arrow.Utf8:\n return 'utf8';\n case arrow.Decimal:\n const decimal = arrowType as arrow.Decimal;\n return {\n type: 'decimal',\n bitWidth: decimal.bitWidth,\n precision: decimal.precision,\n scale: decimal.scale\n };\n case arrow.Date_:\n const dateUnit = (arrowType as arrow.Date_).unit;\n return dateUnit === arrow.DateUnit.DAY ? 'date-day' : 'date-millisecond';\n case arrow.DateDay:\n return 'date-day';\n case arrow.DateMillisecond:\n return 'date-millisecond';\n case arrow.Time:\n const timeUnit = (arrowType as arrow.Time).unit;\n switch (timeUnit) {\n case arrow.TimeUnit.SECOND:\n return 'time-second';\n case arrow.TimeUnit.MILLISECOND:\n return 'time-millisecond';\n case arrow.TimeUnit.MICROSECOND:\n return 'time-microsecond';\n case arrow.TimeUnit.NANOSECOND:\n return 'time-nanosecond';\n default:\n return 'time-second';\n }\n case arrow.TimeMillisecond:\n return 'time-millisecond';\n case arrow.TimeSecond:\n return 'time-second';\n case arrow.TimeMicrosecond:\n return 'time-microsecond';\n case arrow.TimeNanosecond:\n return 'time-nanosecond';\n case arrow.Timestamp:\n const timeStampUnit = (arrowType as arrow.Timestamp).unit;\n switch (timeStampUnit) {\n case arrow.TimeUnit.SECOND:\n return 'timestamp-second';\n case arrow.TimeUnit.MILLISECOND:\n return 'timestamp-millisecond';\n case arrow.TimeUnit.MICROSECOND:\n return 'timestamp-microsecond';\n case arrow.TimeUnit.NANOSECOND:\n return 'timestamp-nanosecond';\n default:\n return 'timestamp-second';\n }\n case arrow.TimestampSecond:\n return 'timestamp-second';\n case arrow.TimestampMillisecond:\n return 'timestamp-millisecond';\n case arrow.TimestampMicrosecond:\n return 'timestamp-microsecond';\n case arrow.TimestampNanosecond:\n return 'timestamp-nanosecond';\n case arrow.Interval:\n const intervalUnit = (arrowType as arrow.Interval).unit;\n switch (intervalUnit) {\n case arrow.IntervalUnit.DAY_TIME:\n return 'interval-daytime';\n case arrow.IntervalUnit.YEAR_MONTH:\n return 'interval-yearmonth';\n default:\n return 'interval-daytime';\n }\n case arrow.IntervalDayTime:\n return 'interval-daytime';\n case arrow.IntervalYearMonth:\n return 'interval-yearmonth';\n case arrow.Map_:\n const mapType = arrowType as arrow.Map_;\n return {\n type: 'map',\n keysSorted: mapType.keysSorted,\n children: mapType.children.map((arrowField) => serializeArrowField(arrowField))\n };\n case arrow.List:\n const listType = arrowType as arrow.List;\n const listField = listType.valueField;\n return {\n type: 'list',\n children: [serializeArrowField(listField)]\n };\n case arrow.FixedSizeList:\n const fixedSizeList = arrowType as arrow.FixedSizeList;\n return {\n type: 'fixed-size-list',\n listSize: fixedSizeList.listSize,\n children: [serializeArrowField(fixedSizeList.children[0])]\n };\n case arrow.Struct:\n const structType = arrowType as arrow.Struct;\n return {\n type: 'struct',\n children: structType.children.map((arrowField) => serializeArrowField(arrowField))\n };\n default:\n throw new Error(`arrow type not supported: ${arrowType.constructor.name}`);\n }\n}\n\n/** Converts a serializable loaders.gl data type to hydrated arrow data type */\n// eslint-disable-next-line complexity\nexport function deserializeArrowType(dataType: DataType): arrow.DataType {\n if (typeof dataType === 'object') {\n switch (dataType.type) {\n case 'decimal':\n return new arrow.Decimal(dataType.precision, dataType.scale, dataType.bitWidth);\n case 'map':\n let children = dataType.children.map((arrowField) => deserializeArrowField(arrowField));\n return new arrow.Map_(children as any, dataType.keysSorted);\n case 'list':\n const field = deserializeArrowField(dataType.children[0]);\n return new arrow.List(field);\n case 'fixed-size-list':\n const child = deserializeArrowField(dataType.children[0]);\n return new arrow.FixedSizeList(dataType.listSize, child);\n case 'struct':\n children = dataType.children.map((arrowField) => deserializeArrowField(arrowField));\n return new arrow.Struct(children);\n default:\n throw new Error('array type not supported');\n }\n }\n\n switch (dataType) {\n case 'null':\n return new arrow.Null();\n case 'binary':\n return new arrow.Binary();\n case 'bool':\n return new arrow.Bool();\n case 'int8':\n return new arrow.Int8();\n case 'int16':\n return new arrow.Int16();\n case 'int32':\n return new arrow.Int32();\n case 'int64':\n return new arrow.Int64();\n case 'uint8':\n return new arrow.Uint8();\n case 'uint16':\n return new arrow.Uint16();\n case 'uint32':\n return new arrow.Uint32();\n case 'uint64':\n return new arrow.Uint64();\n case 'float16':\n return new arrow.Float16();\n case 'float32':\n return new arrow.Float32();\n case 'float64':\n return new arrow.Float64();\n case 'utf8':\n return new arrow.Utf8();\n case 'date-day':\n return new arrow.DateDay();\n case 'date-millisecond':\n return new arrow.DateMillisecond();\n case 'time-second':\n return new arrow.TimeSecond();\n case 'time-millisecond':\n return new arrow.TimeMillisecond();\n case 'time-microsecond':\n return new arrow.TimeMicrosecond();\n case 'time-nanosecond':\n return new arrow.TimeNanosecond();\n case 'timestamp-second':\n return new arrow.TimestampSecond();\n case 'timestamp-millisecond':\n return new arrow.TimestampMillisecond();\n case 'timestamp-microsecond':\n return new arrow.TimestampMicrosecond();\n case 'timestamp-nanosecond':\n return new arrow.TimestampNanosecond();\n case 'interval-daytime':\n return new arrow.IntervalDayTime();\n case 'interval-yearmonth':\n return new arrow.IntervalYearMonth();\n default:\n throw new Error('array type not supported');\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-arrow-to-columnar-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-arrow-to-columnar-table.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert-arrow-to-columnar-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-arrow-to-columnar-table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAmB5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-arrow-to-columnar-table.js","names":["convertArrowToColumnarTable","table","arrowTable","data","columnarTable","field","schema","fields","arrowColumn","getChild","name","values","toArray","shape"],"sources":["../../src/tables/convert-arrow-to-columnar-table.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"convert-arrow-to-columnar-table.js","names":["convertArrowToColumnarTable","table","arrowTable","data","columnarTable","field","schema","fields","arrowColumn","getChild","name","values","toArray","shape"],"sources":["../../src/tables/convert-arrow-to-columnar-table.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ColumnarTable} from '@loaders.gl/schema';\nimport type {ArrowTable} from '../lib/arrow-table';\n\n/**\n * Convert an Apache Arrow table to a ColumnarTable\n * @note Currently does not convert schema\n */\nexport function convertArrowToColumnarTable(table: ArrowTable): ColumnarTable {\n // TODO - avoid calling `getColumn` on columns we are not interested in?\n // Add options object?\n\n const arrowTable = table.data;\n const columnarTable = {};\n\n for (const field of arrowTable.schema.fields) {\n // This (is intended to) coalesce all record batches into a single typed array\n const arrowColumn = arrowTable.getChild(field.name);\n const values = arrowColumn?.toArray();\n columnarTable[field.name] = values;\n }\n\n return {\n shape: 'columnar-table',\n schema: table.schema,\n data: columnarTable\n };\n}\n"],"mappings":"AAWA,OAAO,SAASA,2BAA2BA,CAACC,KAAiB,EAAiB;EAI5E,MAAMC,UAAU,GAAGD,KAAK,CAACE,IAAI;EAC7B,MAAMC,aAAa,GAAG,CAAC,CAAC;EAExB,KAAK,MAAMC,KAAK,IAAIH,UAAU,CAACI,MAAM,CAACC,MAAM,EAAE;IAE5C,MAAMC,WAAW,GAAGN,UAAU,CAACO,QAAQ,CAACJ,KAAK,CAACK,IAAI,CAAC;IACnD,MAAMC,MAAM,GAAGH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,OAAO,CAAC,CAAC;IACrCR,aAAa,CAACC,KAAK,CAACK,IAAI,CAAC,GAAGC,MAAM;EACpC;EAEA,OAAO;IACLE,KAAK,EAAE,gBAAgB;IACvBP,MAAM,EAAEL,KAAK,CAACK,MAAM;IACpBH,IAAI,EAAEC;EACR,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-arrow-to-geojson-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-arrow-to-geojson-table.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert-arrow-to-geojson-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-arrow-to-geojson-table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAInD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAMlF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAqC1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-arrow-to-geojson-table.js","names":["serializeArrowSchema","parseGeometryFromArrow","getGeometryColumnsFromSchema","convertApacheArrowToArrowTable","arrowTable","shape","schema","data","convertArrowToGeoJSONTable","table","geometryColumns","encoding","geometry","features","propertyColumnNames","fields","map","field","name","filter","propertiesTable","select","arrowGeometryColumn","getChild","row","numRows","arrowGeometry","get","feature","_propertiesTable$get","properties","toJSON","push","type"],"sources":["../../src/tables/convert-arrow-to-geojson-table.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"convert-arrow-to-geojson-table.js","names":["serializeArrowSchema","parseGeometryFromArrow","getGeometryColumnsFromSchema","convertApacheArrowToArrowTable","arrowTable","shape","schema","data","convertArrowToGeoJSONTable","table","geometryColumns","encoding","geometry","features","propertyColumnNames","fields","map","field","name","filter","propertiesTable","select","arrowGeometryColumn","getChild","row","numRows","arrowGeometry","get","feature","_propertiesTable$get","properties","toJSON","push","type"],"sources":["../../src/tables/convert-arrow-to-geojson-table.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Feature, GeoJSONTable} from '@loaders.gl/schema';\nimport * as arrow from 'apache-arrow';\nimport type {ArrowTable} from '../lib/arrow-table';\nimport {serializeArrowSchema, parseGeometryFromArrow} from '@loaders.gl/arrow';\nimport {getGeometryColumnsFromSchema} from '@loaders.gl/gis';\n\n/**\n * Wrap an apache arrow table in a loaders.gl table wrapper.\n * From this additional conversions are available.\n * @param arrowTable\n * @returns\n */\nexport function convertApacheArrowToArrowTable(arrowTable: arrow.Table): ArrowTable {\n return {\n shape: 'arrow-table',\n schema: serializeArrowSchema(arrowTable.schema),\n data: arrowTable\n };\n}\n\n/**\n * Convert an Apache Arrow table to a GeoJSONTable\n * @note Currently does not convert schema\n */\nexport function convertArrowToGeoJSONTable(table: ArrowTable): GeoJSONTable {\n const arrowTable = table.data;\n const schema = serializeArrowSchema(arrowTable.schema);\n const geometryColumns = getGeometryColumnsFromSchema(schema);\n\n // get encoding from geometryColumns['geometry']\n const encoding = geometryColumns.geometry.encoding;\n\n const features: Feature[] = [];\n\n // Remove geometry columns\n const propertyColumnNames = arrowTable.schema.fields\n .map((field) => field.name)\n // TODO - this deletes all geometry columns\n .filter((name) => !(name in geometryColumns));\n const propertiesTable = arrowTable.select(propertyColumnNames);\n\n const arrowGeometryColumn = arrowTable.getChild('geometry');\n\n for (let row = 0; row < arrowTable.numRows; row++) {\n // get the geometry value from arrow geometry column\n // Note that type can vary\n const arrowGeometry = arrowGeometryColumn?.get(row);\n // parse arrow geometry to geojson feature\n const feature = parseGeometryFromArrow(arrowGeometry, encoding);\n if (feature) {\n const properties = propertiesTable.get(row)?.toJSON() || {};\n features.push({type: 'Feature', geometry: feature, properties});\n }\n }\n\n return {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n schema: table.schema,\n features\n };\n}\n"],"mappings":"AAOA,SAAQA,oBAAoB,EAAEC,sBAAsB,QAAO,mBAAmB;AAC9E,SAAQC,4BAA4B,QAAO,iBAAiB;AAQ5D,OAAO,SAASC,8BAA8BA,CAACC,UAAuB,EAAc;EAClF,OAAO;IACLC,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAEN,oBAAoB,CAACI,UAAU,CAACE,MAAM,CAAC;IAC/CC,IAAI,EAAEH;EACR,CAAC;AACH;AAMA,OAAO,SAASI,0BAA0BA,CAACC,KAAiB,EAAgB;EAC1E,MAAML,UAAU,GAAGK,KAAK,CAACF,IAAI;EAC7B,MAAMD,MAAM,GAAGN,oBAAoB,CAACI,UAAU,CAACE,MAAM,CAAC;EACtD,MAAMI,eAAe,GAAGR,4BAA4B,CAACI,MAAM,CAAC;EAG5D,MAAMK,QAAQ,GAAGD,eAAe,CAACE,QAAQ,CAACD,QAAQ;EAElD,MAAME,QAAmB,GAAG,EAAE;EAG9B,MAAMC,mBAAmB,GAAGV,UAAU,CAACE,MAAM,CAACS,MAAM,CACjDC,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,IAAI,CAAC,CAE1BC,MAAM,CAAED,IAAI,IAAK,EAAEA,IAAI,IAAIR,eAAe,CAAC,CAAC;EAC/C,MAAMU,eAAe,GAAGhB,UAAU,CAACiB,MAAM,CAACP,mBAAmB,CAAC;EAE9D,MAAMQ,mBAAmB,GAAGlB,UAAU,CAACmB,QAAQ,CAAC,UAAU,CAAC;EAE3D,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGpB,UAAU,CAACqB,OAAO,EAAED,GAAG,EAAE,EAAE;IAGjD,MAAME,aAAa,GAAGJ,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEK,GAAG,CAACH,GAAG,CAAC;IAEnD,MAAMI,OAAO,GAAG3B,sBAAsB,CAACyB,aAAa,EAAEf,QAAQ,CAAC;IAC/D,IAAIiB,OAAO,EAAE;MAAA,IAAAC,oBAAA;MACX,MAAMC,UAAU,GAAG,EAAAD,oBAAA,GAAAT,eAAe,CAACO,GAAG,CAACH,GAAG,CAAC,cAAAK,oBAAA,uBAAxBA,oBAAA,CAA0BE,MAAM,CAAC,CAAC,KAAI,CAAC,CAAC;MAC3DlB,QAAQ,CAACmB,IAAI,CAAC;QAACC,IAAI,EAAE,SAAS;QAAErB,QAAQ,EAAEgB,OAAO;QAAEE;MAAU,CAAC,CAAC;IACjE;EACF;EAEA,OAAO;IACLzB,KAAK,EAAE,eAAe;IACtB4B,IAAI,EAAE,mBAAmB;IACzB3B,MAAM,EAAEG,KAAK,CAACH,MAAM;IACpBO;EACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-columnar-to-row-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-columnar-to-row-table.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert-columnar-to-row-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-columnar-to-row-table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,cAAc,CAoB5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-columnar-to-row-table.js","names":["convertColumnarToRowFormatTable","columnarTable","tableKeys","Object","keys","tableRowsCount","length","rowFormatTable","index","tableItem","keyIndex","fieldName","push","shape","schema","data"],"sources":["../../src/tables/convert-columnar-to-row-table.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"convert-columnar-to-row-table.js","names":["convertColumnarToRowFormatTable","columnarTable","tableKeys","Object","keys","tableRowsCount","length","rowFormatTable","index","tableItem","keyIndex","fieldName","push","shape","schema","data"],"sources":["../../src/tables/convert-columnar-to-row-table.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ColumnarTable, ObjectRowTable} from '@loaders.gl/schema';\n\n/**\n *\n * @note - should be part of schema module\n */\nexport function convertColumnarToRowFormatTable(columnarTable: ColumnarTable): ObjectRowTable {\n const tableKeys = Object.keys(columnarTable);\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n\n const rowFormatTable: {}[] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const tableItem = {};\n for (let keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {\n const fieldName = tableKeys[keyIndex];\n tableItem[fieldName] = columnarTable[fieldName][index];\n }\n rowFormatTable.push(tableItem);\n }\n\n return {\n shape: 'object-row-table',\n schema: columnarTable.schema,\n data: rowFormatTable\n };\n}\n"],"mappings":"AAUA,OAAO,SAASA,+BAA+BA,CAACC,aAA4B,EAAkB;EAC5F,MAAMC,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACH,aAAa,CAAC;EAC5C,MAAMI,cAAc,GAAGJ,aAAa,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC,CAACI,MAAM;EAEzD,MAAMC,cAAoB,GAAG,EAAE;EAE/B,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,cAAc,EAAEG,KAAK,EAAE,EAAE;IACnD,MAAMC,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,IAAIC,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGR,SAAS,CAACI,MAAM,EAAEI,QAAQ,EAAE,EAAE;MAC9D,MAAMC,SAAS,GAAGT,SAAS,CAACQ,QAAQ,CAAC;MACrCD,SAAS,CAACE,SAAS,CAAC,GAAGV,aAAa,CAACU,SAAS,CAAC,CAACH,KAAK,CAAC;IACxD;IACAD,cAAc,CAACK,IAAI,CAACH,SAAS,CAAC;EAChC;EAEA,OAAO;IACLI,KAAK,EAAE,kBAAkB;IACzBC,MAAM,EAAEb,aAAa,CAACa,MAAM;IAC5BC,IAAI,EAAER;EACR,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-table-to-arrow.d.ts","sourceRoot":"","sources":["../../src/tables/convert-table-to-arrow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert-table-to-arrow.d.ts","sourceRoot":"","sources":["../../src/tables/convert-table-to-arrow.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-table-to-arrow.js","names":[],"sources":["../../src/tables/convert-table-to-arrow.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"convert-table-to-arrow.js","names":[],"sources":["../../src/tables/convert-table-to-arrow.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// import {\n// Table as ApacheArrowTable,\n// Schema as ApacheArrowSchema,\n// RecordBatch,\n// FixedSizeList,\n// Field,\n// Data,\n// FixedSizeListVector\n// } from 'apache-arrow/Arrow.dom';\n// import {AbstractVector} from 'apache-arrow/vector';\n\n// import {Table} from '../../types/category-table';\n// import {getArrowType, getArrowVector} from './arrow-type-utils';\n// import {makeMeshAttributeMetadata} from './deduce-mesh-schema';\n// import {getTableLength, getTableNumCols} from './table-accessors';\n\n/**\n * * Convert a loaders.gl Mesh to an Apache Arrow Table\n * @param mesh\n * @param metadata\n * @param batchSize\n * @returns\n *\nexport function convertTableToArrow(table: Table, options?: {batchSize?: number}): ArrowTable {\n const vectors: AbstractVector[] = [];\n const fields: Field[] = [];\n\n const length = getTableLength(table);\n const batchSize = options?.batchSize || length;\n\n const recordBatches: RecordBatch[] = [];\n for (let i = 0; i < length; i += batchSize) {\n for (let columnIndex = 0; columnIndex < getTableNumCols(table); ++columnIndex) {\n const field_ = table.schema.fields[columnIndex];\n const column = getTableColumnAt(table, columnIndex, i, batchSize);\n const type = getArrowType(column);\n const vector = getArrowVector(column);\n const listType = new FixedSizeList(size, new Field('value', type));\n const field = new Field(field_.name, listType, false, makeMeshAttributeMetadata(attribute));\n const data = new Data(listType, 0, value.length / size, 0, undefined, [vector]);\n const listVector = new FixedSizeListVector(data);\n vectors.push(listVector);\n fields.push(field);\n }\n\n for (const attributeKey in table.columns) {\n const attribute = mesh.attributes[attributeKey];\n const {value, size = 1} = attribute;\n }\n\n const schema = new ApacheArrowSchema(fields, table?.schema?.metadata || new Map<string, string>());\n const recordBatch = new RecordBatch(schema, vectors[0].length, vectors);\n const apacheArrowTable = new ApacheArrowTable(schema, recordBatch);\n\n return apacheArrowTable;\n}\n*/\n"],"mappings":""}
|
|
@@ -1,15 +1,44 @@
|
|
|
1
|
+
import * as arrow from 'apache-arrow';
|
|
1
2
|
import type { WorkerOptions } from '@loaders.gl/worker-utils';
|
|
2
|
-
|
|
3
|
+
import { BinaryDataFromGeoArrow, GeoArrowEncoding } from '@loaders.gl/arrow';
|
|
4
|
+
export type TriangulationWorkerInput = ({
|
|
5
|
+
operation: 'triangulate';
|
|
6
|
+
} & TriangulateInput) | ParseGeoArrowInput | {
|
|
3
7
|
operation: 'test';
|
|
4
8
|
data: any;
|
|
5
9
|
};
|
|
6
|
-
export type TriangulationWorkerOutput =
|
|
10
|
+
export type TriangulationWorkerOutput = ({
|
|
11
|
+
operation: 'triangulate';
|
|
12
|
+
} & TriangulateResult) | ({
|
|
13
|
+
operation: 'parse-geoarrow';
|
|
14
|
+
} & ParseGeoArrowResult) | {
|
|
7
15
|
operation: 'test';
|
|
8
16
|
data: any;
|
|
9
17
|
};
|
|
18
|
+
type GeoArrowChunkData = {
|
|
19
|
+
type: arrow.DataType;
|
|
20
|
+
offset: number;
|
|
21
|
+
length: number;
|
|
22
|
+
nullCount: number;
|
|
23
|
+
buffers: any;
|
|
24
|
+
children: arrow.Data[];
|
|
25
|
+
dictionary?: arrow.Vector;
|
|
26
|
+
};
|
|
27
|
+
export type ParseGeoArrowInput = {
|
|
28
|
+
operation: 'parse-geoarrow';
|
|
29
|
+
chunkData: GeoArrowChunkData;
|
|
30
|
+
chunkIndex: number;
|
|
31
|
+
chunkOffset: number;
|
|
32
|
+
geometryEncoding: GeoArrowEncoding;
|
|
33
|
+
calculateMeanCenters: boolean;
|
|
34
|
+
triangle: boolean;
|
|
35
|
+
};
|
|
36
|
+
export type ParseGeoArrowResult = {
|
|
37
|
+
chunkIndex: number;
|
|
38
|
+
binaryDataFromGeoArrow: BinaryDataFromGeoArrow | null;
|
|
39
|
+
};
|
|
10
40
|
/** Input data for operation: 'triangulate' */
|
|
11
41
|
export type TriangulateInput = {
|
|
12
|
-
operation: 'triangulate';
|
|
13
42
|
polygonIndices: Uint16Array;
|
|
14
43
|
primitivePolygonIndices: Int32Array;
|
|
15
44
|
flatCoordinateArray: Float64Array;
|
|
@@ -30,7 +59,12 @@ export declare const TriangulationWorker: {
|
|
|
30
59
|
options: {};
|
|
31
60
|
};
|
|
32
61
|
/**
|
|
33
|
-
*
|
|
62
|
+
* Triangulate a set of polygons on worker, type safe API
|
|
63
|
+
*/
|
|
64
|
+
export declare function triangulateOnWorker(data: TriangulateInput, options?: WorkerOptions): Promise<TriangulateResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Parse GeoArrow geometry colum on worker, type safe API
|
|
34
67
|
*/
|
|
35
|
-
export declare function
|
|
68
|
+
export declare function parseGeoArrowOnWorker(data: ParseGeoArrowInput, options?: WorkerOptions): Promise<ParseGeoArrowResult>;
|
|
69
|
+
export {};
|
|
36
70
|
//# sourceMappingURL=triangulate-on-worker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triangulate-on-worker.d.ts","sourceRoot":"","sources":["../src/triangulate-on-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"triangulate-on-worker.d.ts","sourceRoot":"","sources":["../src/triangulate-on-worker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAM3E,MAAM,MAAM,wBAAwB,GAChC,CAAC;IAAC,SAAS,EAAE,aAAa,CAAA;CAAC,GAAG,gBAAgB,CAAC,GAC/C,kBAAkB,GAClB;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC,CAAC;AAEnC,MAAM,MAAM,yBAAyB,GACjC,CAAC;IAAC,SAAS,EAAE,aAAa,CAAA;CAAC,GAAG,iBAAiB,CAAC,GAChD,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAA;CAAC,GAAG,mBAAmB,CAAC,GACrD;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC,CAAC;AAEnC,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACvD,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,WAAW,CAAC;IAC5B,uBAAuB,EAAE,UAAU,CAAC;IACpC,mBAAmB,EAAE,YAAY,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,eAAe,CAAC,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAE9B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { processOnWorker } from '@loaders.gl/worker-utils';
|
|
2
|
-
const VERSION = typeof
|
|
2
|
+
const VERSION = typeof "4.1.0-alpha.3" !== 'undefined' ? "4.1.0-alpha.3" : 'latest';
|
|
3
3
|
export const TriangulationWorker = {
|
|
4
4
|
id: 'triangulation',
|
|
5
5
|
name: 'Triangulate',
|
|
@@ -9,6 +9,16 @@ export const TriangulationWorker = {
|
|
|
9
9
|
};
|
|
10
10
|
export function triangulateOnWorker(data) {
|
|
11
11
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
12
|
-
return processOnWorker(TriangulationWorker,
|
|
12
|
+
return processOnWorker(TriangulationWorker, {
|
|
13
|
+
...data,
|
|
14
|
+
operation: 'triangulate'
|
|
15
|
+
}, options);
|
|
16
|
+
}
|
|
17
|
+
export function parseGeoArrowOnWorker(data) {
|
|
18
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
19
|
+
return processOnWorker(TriangulationWorker, {
|
|
20
|
+
...data,
|
|
21
|
+
operation: 'parse-geoarrow'
|
|
22
|
+
}, options);
|
|
13
23
|
}
|
|
14
24
|
//# sourceMappingURL=triangulate-on-worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triangulate-on-worker.js","names":["processOnWorker","VERSION","
|
|
1
|
+
{"version":3,"file":"triangulate-on-worker.js","names":["processOnWorker","VERSION","TriangulationWorker","id","name","module","version","options","triangulateOnWorker","data","arguments","length","undefined","operation","parseGeoArrowOnWorker"],"sources":["../src/triangulate-on-worker.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport * as arrow from 'apache-arrow';\nimport type {WorkerOptions} from '@loaders.gl/worker-utils';\nimport {processOnWorker} from '@loaders.gl/worker-utils';\nimport {BinaryDataFromGeoArrow, GeoArrowEncoding} from '@loaders.gl/arrow';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type TriangulationWorkerInput =\n | ({operation: 'triangulate'} & TriangulateInput)\n | ParseGeoArrowInput\n | {operation: 'test'; data: any};\n\nexport type TriangulationWorkerOutput =\n | ({operation: 'triangulate'} & TriangulateResult)\n | ({operation: 'parse-geoarrow'} & ParseGeoArrowResult)\n | {operation: 'test'; data: any};\n\ntype GeoArrowChunkData = {\n type: arrow.DataType;\n offset: number;\n length: number;\n nullCount: number;\n buffers: any;\n children: arrow.Data[];\n dictionary?: arrow.Vector;\n};\n\nexport type ParseGeoArrowInput = {\n operation: 'parse-geoarrow';\n chunkData: GeoArrowChunkData;\n chunkIndex: number;\n chunkOffset: number;\n geometryEncoding: GeoArrowEncoding;\n calculateMeanCenters: boolean;\n triangle: boolean;\n};\n\nexport type ParseGeoArrowResult = {\n chunkIndex: number;\n binaryDataFromGeoArrow: BinaryDataFromGeoArrow | null;\n};\n\n/** Input data for operation: 'triangulate' */\nexport type TriangulateInput = {\n polygonIndices: Uint16Array;\n primitivePolygonIndices: Int32Array;\n flatCoordinateArray: Float64Array;\n nDim: number;\n};\n\n/** Result type for operation: 'triangulate' */\nexport type TriangulateResult = TriangulateInput & {\n triangleIndices?: Uint32Array;\n};\n\n/**\n * Worker for tessellating geometries. Normally called through triangulateOnWorker\n */\nexport const TriangulationWorker = {\n id: 'triangulation',\n name: 'Triangulate',\n module: 'arrow',\n version: VERSION,\n options: {}\n};\n\n/**\n * Triangulate a set of polygons on worker, type safe API\n */\nexport function triangulateOnWorker(\n data: TriangulateInput,\n options: WorkerOptions = {}\n): Promise<TriangulateResult> {\n return processOnWorker(TriangulationWorker, {...data, operation: 'triangulate'}, options);\n}\n\n/**\n * Parse GeoArrow geometry colum on worker, type safe API\n */\nexport function parseGeoArrowOnWorker(\n data: ParseGeoArrowInput,\n options: WorkerOptions = {}\n): Promise<ParseGeoArrowResult> {\n return processOnWorker(TriangulationWorker, {...data, operation: 'parse-geoarrow'}, options);\n}\n"],"mappings":"AAMA,SAAQA,eAAe,QAAO,0BAA0B;AAKxD,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAqD3E,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,EAAE,EAAE,eAAe;EACnBC,IAAI,EAAE,aAAa;EACnBC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE,CAAC;AACZ,CAAC;AAKD,OAAO,SAASC,mBAAmBA,CACjCC,IAAsB,EAEM;EAAA,IAD5BF,OAAsB,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE3B,OAAOV,eAAe,CAACE,mBAAmB,EAAE;IAAC,GAAGO,IAAI;IAAEI,SAAS,EAAE;EAAa,CAAC,EAAEN,OAAO,CAAC;AAC3F;AAKA,OAAO,SAASO,qBAAqBA,CACnCL,IAAwB,EAEM;EAAA,IAD9BF,OAAsB,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE3B,OAAOV,eAAe,CAACE,mBAAmB,EAAE;IAAC,GAAGO,IAAI;IAAEI,SAAS,EAAE;EAAgB,CAAC,EAAEN,OAAO,CAAC;AAC9F"}
|