@loaders.gl/arrow 4.0.3 → 4.0.5
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 +6 -3
- package/dist/arrow-loader.d.ts.map +1 -1
- package/dist/arrow-loader.js +9 -1
- package/dist/arrow-loader.js.map +1 -1
- package/dist/arrow-worker.js +37 -537
- package/dist/dist.dev.js +1573 -231
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts +31 -1
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js +123 -13
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson.d.ts +2 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson.d.ts.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson.js +4 -0
- package/dist/geoarrow/convert-geoarrow-to-geojson.js.map +1 -1
- package/dist/geoarrow-loader.d.ts +19 -0
- package/dist/geoarrow-loader.d.ts.map +1 -0
- package/dist/geoarrow-loader.js +24 -0
- package/dist/geoarrow-loader.js.map +1 -0
- package/dist/geoarrow-writer.d.ts +9 -0
- package/dist/geoarrow-writer.d.ts.map +1 -0
- package/dist/geoarrow-writer.js +19 -0
- package/dist/geoarrow-writer.js.map +1 -0
- package/dist/index.cjs +472 -275
- package/dist/index.d.ts +9 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -13
- 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/encode-arrow.d.ts.map +1 -1
- package/dist/lib/encode-arrow.js.map +1 -1
- package/dist/lib/encode-geoarrow.d.ts +15 -0
- package/dist/lib/encode-geoarrow.d.ts.map +1 -0
- package/dist/lib/encode-geoarrow.js +22 -0
- package/dist/lib/encode-geoarrow.js.map +1 -0
- package/dist/{lib → parsers}/parse-arrow-in-batches.d.ts +1 -1
- package/dist/parsers/parse-arrow-in-batches.d.ts.map +1 -0
- package/dist/parsers/parse-arrow-in-batches.js.map +1 -0
- package/dist/parsers/parse-arrow-sync.d.ts +6 -0
- package/dist/parsers/parse-arrow-sync.d.ts.map +1 -0
- package/dist/parsers/parse-arrow-sync.js +26 -0
- package/dist/parsers/parse-arrow-sync.js.map +1 -0
- package/dist/parsers/parse-geoarrow-in-batches.d.ts +6 -0
- package/dist/parsers/parse-geoarrow-in-batches.d.ts.map +1 -0
- package/dist/parsers/parse-geoarrow-in-batches.js +5 -0
- package/dist/parsers/parse-geoarrow-in-batches.js.map +1 -0
- package/dist/parsers/parse-geoarrow-sync.d.ts +6 -0
- package/dist/parsers/parse-geoarrow-sync.d.ts.map +1 -0
- package/dist/parsers/parse-geoarrow-sync.js +14 -0
- package/dist/parsers/parse-geoarrow-sync.js.map +1 -0
- package/dist/tables/convert-arrow-to-columnar-table.d.ts +8 -0
- package/dist/tables/convert-arrow-to-columnar-table.d.ts.map +1 -0
- package/dist/tables/convert-arrow-to-columnar-table.js +14 -0
- package/dist/tables/convert-arrow-to-columnar-table.js.map +1 -0
- package/dist/tables/convert-arrow-to-geojson-table.d.ts +16 -0
- package/dist/tables/convert-arrow-to-geojson-table.d.ts.map +1 -0
- package/dist/tables/convert-arrow-to-geojson-table.js +33 -0
- package/dist/tables/convert-arrow-to-geojson-table.js.map +1 -0
- package/dist/tables/convert-columnar-to-row-table.d.ts +7 -0
- package/dist/tables/convert-columnar-to-row-table.d.ts.map +1 -0
- package/dist/tables/convert-columnar-to-row-table.js +18 -0
- package/dist/tables/convert-columnar-to-row-table.js.map +1 -0
- package/dist/triangulate-on-worker.d.ts +36 -0
- package/dist/triangulate-on-worker.d.ts.map +1 -0
- package/dist/triangulate-on-worker.js +14 -0
- package/dist/triangulate-on-worker.js.map +1 -0
- package/dist/triangulation-worker.js +880 -0
- package/dist/workers/arrow-worker.js +1 -1
- package/dist/workers/arrow-worker.js.map +1 -1
- package/dist/workers/triangulation-worker-node.d.ts +2 -0
- package/dist/workers/triangulation-worker-node.d.ts.map +1 -0
- package/dist/workers/triangulation-worker-node.js +2 -0
- package/dist/workers/triangulation-worker-node.js.map +1 -0
- package/dist/workers/triangulation-worker.d.ts +2 -0
- package/dist/workers/triangulation-worker.d.ts.map +1 -0
- package/dist/workers/triangulation-worker.js +24 -0
- package/dist/workers/triangulation-worker.js.map +1 -0
- package/package.json +9 -7
- package/src/arrow-loader.ts +25 -3
- package/src/geoarrow/convert-geoarrow-to-binary-geometry.ts +209 -20
- package/src/geoarrow/convert-geoarrow-to-geojson.ts +6 -2
- package/src/geoarrow-loader.ts +55 -0
- package/src/geoarrow-writer.ts +41 -0
- package/src/index.ts +30 -36
- package/src/lib/arrow-table-batch.ts +3 -0
- package/src/lib/encode-arrow.ts +3 -0
- package/src/lib/encode-geoarrow.ts +45 -0
- package/src/{lib → parsers}/parse-arrow-in-batches.ts +4 -2
- package/src/parsers/parse-arrow-sync.ts +38 -0
- package/src/parsers/parse-geoarrow-in-batches.ts +15 -0
- package/src/parsers/parse-geoarrow-sync.ts +22 -0
- package/src/tables/convert-arrow-to-columnar-table.ts +29 -0
- package/src/tables/convert-arrow-to-geojson-table.ts +54 -0
- package/src/tables/convert-columnar-to-row-table.ts +29 -0
- package/src/triangulate-on-worker.ts +47 -0
- package/src/workers/arrow-worker.ts +1 -1
- package/src/workers/triangulation-worker-node.ts +4 -0
- package/src/workers/triangulation-worker.ts +39 -0
- package/dist/lib/parse-arrow-in-batches.d.ts.map +0 -1
- package/dist/lib/parse-arrow-in-batches.js.map +0 -1
- package/dist/lib/parse-arrow-sync.d.ts +0 -5
- package/dist/lib/parse-arrow-sync.d.ts.map +0 -1
- package/dist/lib/parse-arrow-sync.js +0 -21
- package/dist/lib/parse-arrow-sync.js.map +0 -1
- package/dist/tables/convert-arrow-to-table.d.ts +0 -21
- package/dist/tables/convert-arrow-to-table.d.ts.map +0 -1
- package/dist/tables/convert-arrow-to-table.js +0 -37
- package/dist/tables/convert-arrow-to-table.js.map +0 -1
- package/src/lib/parse-arrow-sync.ts +0 -35
- package/src/tables/convert-arrow-to-table.ts +0 -68
- /package/dist/{lib → parsers}/parse-arrow-in-batches.js +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import type { LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
2
1
|
import type { ArrowLoaderOptions } from './arrow-loader';
|
|
3
|
-
import type { ArrowTableBatch, ColumnarTable, ObjectRowTable } from '@loaders.gl/schema';
|
|
4
|
-
import type { ArrowTable } from './lib/arrow-table';
|
|
5
|
-
import { ArrowLoader as ArrowWorkerLoader } from './arrow-loader';
|
|
6
2
|
export { getArrowType } from './schema/arrow-type-utils';
|
|
7
|
-
export { serializeArrowSchema, deserializeArrowSchema, serializeArrowMetadata, deserializeArrowMetadata, serializeArrowField, deserializeArrowField, serializeArrowType, deserializeArrowType } from './schema/convert-arrow-schema';
|
|
8
3
|
export type { ArrowTable, ArrowTableBatch } from './lib/arrow-table';
|
|
9
4
|
export { VECTOR_TYPES } from './types';
|
|
10
|
-
export { ArrowWriter } from './arrow-writer';
|
|
11
5
|
export type { ArrowLoaderOptions };
|
|
12
|
-
export { ArrowWorkerLoader };
|
|
13
|
-
|
|
14
|
-
export
|
|
6
|
+
export { ArrowLoader, ArrowWorkerLoader } from './arrow-loader';
|
|
7
|
+
export { ArrowWriter } from './arrow-writer';
|
|
8
|
+
export { GeoArrowLoader, GeoArrowWorkerLoader } from './geoarrow-loader';
|
|
9
|
+
export { serializeArrowSchema, deserializeArrowSchema, serializeArrowMetadata, deserializeArrowMetadata, serializeArrowField, deserializeArrowField, serializeArrowType, deserializeArrowType } from './schema/convert-arrow-schema';
|
|
15
10
|
export type { GeoArrowEncoding } from '@loaders.gl/gis';
|
|
16
|
-
export type { BinaryDataFromGeoArrow } from './geoarrow/convert-geoarrow-to-binary-geometry';
|
|
17
|
-
export { BINARY_GEOMETRY_TEMPLATE, getBinaryGeometriesFromArrow } from './geoarrow/convert-geoarrow-to-binary-geometry';
|
|
18
|
-
export { parseGeometryFromArrow } from './geoarrow/convert-geoarrow-to-geojson';
|
|
11
|
+
export type { BinaryDataFromGeoArrow, BinaryGeometriesFromArrowOptions } from './geoarrow/convert-geoarrow-to-binary-geometry';
|
|
12
|
+
export { BINARY_GEOMETRY_TEMPLATE, getBinaryGeometriesFromArrow, getTriangleIndices, getMeanCentersFromBinaryGeometries } from './geoarrow/convert-geoarrow-to-binary-geometry';
|
|
19
13
|
export { updateBoundsFromGeoArrowSamples } from './geoarrow/get-arrow-bounds';
|
|
14
|
+
export { parseGeometryFromArrow } from './geoarrow/convert-geoarrow-to-geojson';
|
|
15
|
+
export { convertArrowToGeoJSONTable } from './tables/convert-arrow-to-geojson-table';
|
|
16
|
+
export { TriangulationWorker, triangulateOnWorker } from './triangulate-on-worker';
|
|
20
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AASvD,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAKvD,YAAY,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAIrC,YAAY,EAAC,kBAAkB,EAAC,CAAC;AACjC,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AAKvC,YAAY,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAItD,YAAY,EACV,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,kCAAkC,EACnC,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAC,+BAA+B,EAAC,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAC,sBAAsB,EAAC,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAC,0BAA0B,EAAC,MAAM,yCAAyC,CAAC;AAInF,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
import { TableBatchBuilder } from '@loaders.gl/schema';
|
|
2
|
-
import { ArrowLoader as ArrowWorkerLoader } from "./arrow-loader.js";
|
|
3
|
-
import parseSync from "./lib/parse-arrow-sync.js";
|
|
4
|
-
import { parseArrowInBatches } from "./lib/parse-arrow-in-batches.js";
|
|
5
2
|
import { ArrowTableBatchAggregator } from "./lib/arrow-table-batch.js";
|
|
6
3
|
TableBatchBuilder.ArrowBatch = ArrowTableBatchAggregator;
|
|
7
4
|
export { getArrowType } from "./schema/arrow-type-utils.js";
|
|
8
|
-
export { serializeArrowSchema, deserializeArrowSchema, serializeArrowMetadata, deserializeArrowMetadata, serializeArrowField, deserializeArrowField, serializeArrowType, deserializeArrowType } from "./schema/convert-arrow-schema.js";
|
|
9
5
|
export { VECTOR_TYPES } from "./types.js";
|
|
6
|
+
export { ArrowLoader, ArrowWorkerLoader } from "./arrow-loader.js";
|
|
10
7
|
export { ArrowWriter } from "./arrow-writer.js";
|
|
11
|
-
export {
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
parse: async (arraybuffer, options) => parseSync(arraybuffer, options),
|
|
15
|
-
parseSync,
|
|
16
|
-
parseInBatches: parseArrowInBatches
|
|
17
|
-
};
|
|
18
|
-
export { BINARY_GEOMETRY_TEMPLATE, getBinaryGeometriesFromArrow } from "./geoarrow/convert-geoarrow-to-binary-geometry.js";
|
|
19
|
-
export { parseGeometryFromArrow } from "./geoarrow/convert-geoarrow-to-geojson.js";
|
|
8
|
+
export { GeoArrowLoader, GeoArrowWorkerLoader } from "./geoarrow-loader.js";
|
|
9
|
+
export { serializeArrowSchema, deserializeArrowSchema, serializeArrowMetadata, deserializeArrowMetadata, serializeArrowField, deserializeArrowField, serializeArrowType, deserializeArrowType } from "./schema/convert-arrow-schema.js";
|
|
10
|
+
export { BINARY_GEOMETRY_TEMPLATE, getBinaryGeometriesFromArrow, getTriangleIndices, getMeanCentersFromBinaryGeometries } from "./geoarrow/convert-geoarrow-to-binary-geometry.js";
|
|
20
11
|
export { updateBoundsFromGeoArrowSamples } from "./geoarrow/get-arrow-bounds.js";
|
|
12
|
+
export { parseGeometryFromArrow } from "./geoarrow/convert-geoarrow-to-geojson.js";
|
|
13
|
+
export { convertArrowToGeoJSONTable } from "./tables/convert-arrow-to-geojson-table.js";
|
|
14
|
+
export { TriangulationWorker, triangulateOnWorker } from "./triangulate-on-worker.js";
|
|
21
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["TableBatchBuilder","
|
|
1
|
+
{"version":3,"file":"index.js","names":["TableBatchBuilder","ArrowTableBatchAggregator","ArrowBatch","getArrowType","VECTOR_TYPES","ArrowLoader","ArrowWorkerLoader","ArrowWriter","GeoArrowLoader","GeoArrowWorkerLoader","serializeArrowSchema","deserializeArrowSchema","serializeArrowMetadata","deserializeArrowMetadata","serializeArrowField","deserializeArrowField","serializeArrowType","deserializeArrowType","BINARY_GEOMETRY_TEMPLATE","getBinaryGeometriesFromArrow","getTriangleIndices","getMeanCentersFromBinaryGeometries","updateBoundsFromGeoArrowSamples","parseGeometryFromArrow","convertArrowToGeoJSONTable","TriangulationWorker","triangulateOnWorker"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {ArrowLoaderOptions} from './arrow-loader';\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport {ArrowTableBatchAggregator} from './lib/arrow-table-batch';\n\n// Make the ArrowBatch type available\nTableBatchBuilder.ArrowBatch = ArrowTableBatchAggregator;\n\n// TYPES\n\nexport {getArrowType} from './schema/arrow-type-utils';\n\n// SCHEMA\n\n// Types\nexport type {ArrowTable, ArrowTableBatch} from './lib/arrow-table';\nexport {VECTOR_TYPES} from './types';\n\n// Arrow loader / Writer\n\nexport type {ArrowLoaderOptions};\nexport {ArrowLoader, ArrowWorkerLoader} from './arrow-loader';\n\nexport {ArrowWriter} from './arrow-writer';\n\n// Geoarrow loader\nexport {GeoArrowLoader, GeoArrowWorkerLoader} from './geoarrow-loader';\n\n// Schema utils\nexport {\n serializeArrowSchema,\n deserializeArrowSchema,\n serializeArrowMetadata,\n deserializeArrowMetadata,\n serializeArrowField,\n deserializeArrowField,\n serializeArrowType,\n deserializeArrowType\n} from './schema/convert-arrow-schema';\n\n// EXPERIMENTAL\n\n// Arrow Utils\nexport type {GeoArrowEncoding} from '@loaders.gl/gis';\n// getGeometryColumnsFromArrowTable,\n// getGeoArrowEncoding\n\nexport type {\n BinaryDataFromGeoArrow,\n BinaryGeometriesFromArrowOptions\n} from './geoarrow/convert-geoarrow-to-binary-geometry';\nexport {\n BINARY_GEOMETRY_TEMPLATE,\n getBinaryGeometriesFromArrow,\n getTriangleIndices,\n getMeanCentersFromBinaryGeometries\n} from './geoarrow/convert-geoarrow-to-binary-geometry';\n\nexport {updateBoundsFromGeoArrowSamples} from './geoarrow/get-arrow-bounds';\n\nexport {parseGeometryFromArrow} from './geoarrow/convert-geoarrow-to-geojson';\n\nexport {convertArrowToGeoJSONTable} from './tables/convert-arrow-to-geojson-table';\n\n// EXPERIMENTAL WORKER\n\nexport {TriangulationWorker, triangulateOnWorker} from './triangulate-on-worker';\n"],"mappings":"AAIA,SAAQA,iBAAiB,QAAO,oBAAoB;AAAC,SAC7CC,yBAAyB;AAGjCD,iBAAiB,CAACE,UAAU,GAAGD,yBAAyB;AAAC,SAIjDE,YAAY;AAAA,SAMZC,YAAY;AAAA,SAKZC,WAAW,EAAEC,iBAAiB;AAAA,SAE9BC,WAAW;AAAA,SAGXC,cAAc,EAAEC,oBAAoB;AAAA,SAI1CC,oBAAoB,EACpBC,sBAAsB,EACtBC,sBAAsB,EACtBC,wBAAwB,EACxBC,mBAAmB,EACnBC,qBAAqB,EACrBC,kBAAkB,EAClBC,oBAAoB;AAAA,SAepBC,wBAAwB,EACxBC,4BAA4B,EAC5BC,kBAAkB,EAClBC,kCAAkC;AAAA,SAG5BC,+BAA+B;AAAA,SAE/BC,sBAAsB;AAAA,SAEtBC,0BAA0B;AAAA,SAI1BC,mBAAmB,EAAEC,mBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-table-batch.d.ts","sourceRoot":"","sources":["../../src/lib/arrow-table-batch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arrow-table-batch.d.ts","sourceRoot":"","sources":["../../src/lib/arrow-table-batch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,4BAA4B,EAAC,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,qBAAa,yBAA0B,SAAQ,4BAA4B;IACzE,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBAErB,MAAM,KAAA,EAAE,OAAO,KAAA;IAK3B,QAAQ,IAAI,eAAe,GAAG,IAAI;CA4BnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-table-batch.js","names":["ColumnarTableBatchAggregator","arrow","ArrowTableBatchAggregator","constructor","schema","options","arrowSchema","getBatch","batch","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","RecordBatch","makeData","type","Struct","fields","children","map","_ref","shape","batchType","Table","length","arrowFields","key","field","Float32Array","metadata","Map","arrowField","Field","name","Float32","nullable","push","Error","Schema","vector","arrowVector","makeVector"],"sources":["../../src/lib/arrow-table-batch.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"arrow-table-batch.js","names":["ColumnarTableBatchAggregator","arrow","ArrowTableBatchAggregator","constructor","schema","options","arrowSchema","getBatch","batch","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","RecordBatch","makeData","type","Struct","fields","children","map","_ref","shape","batchType","Table","length","arrowFields","key","field","Float32Array","metadata","Map","arrowField","Field","name","Float32","nullable","push","Error","Schema","vector","arrowVector","makeVector"],"sources":["../../src/lib/arrow-table-batch.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {ColumnarTableBatchAggregator} from '@loaders.gl/schema';\nimport type {ArrowTableBatch} from './arrow-table';\nimport * as arrow from 'apache-arrow';\n\nexport class ArrowTableBatchAggregator extends ColumnarTableBatchAggregator {\n arrowSchema: arrow.Schema | null;\n\n constructor(schema, options) {\n super(schema, options);\n this.arrowSchema = null;\n }\n\n getBatch(): ArrowTableBatch | null {\n const batch = super.getBatch();\n if (batch) {\n // Get the arrow schema\n this.arrowSchema = this.arrowSchema || getArrowSchema(batch.schema);\n\n // Get arrow format vectors\n const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);\n\n // Create the record batch\n const recordBatch = new arrow.RecordBatch(\n this.arrowSchema,\n arrow.makeData({\n type: new arrow.Struct(this.arrowSchema.fields),\n children: arrowVectors.map(({data}) => data[0])\n })\n );\n\n return {\n shape: 'arrow-table',\n batchType: 'data',\n data: new arrow.Table([recordBatch]),\n length: batch.length\n };\n }\n\n return null;\n }\n}\n\n// Convert from a simple loaders.gl schema to an Arrow schema\nfunction getArrowSchema(schema): arrow.Schema {\n const arrowFields: arrow.Field[] = [];\n for (const key in schema) {\n const field = schema[key];\n if (field.type === Float32Array) {\n // TODO - just store the original field as metadata?\n const metadata = new Map(); // field;\n // arrow: new arrow.Field(name, nullable, metadata)\n const arrowField = new arrow.Field(field.name, new arrow.Float32(), field.nullable, metadata);\n arrowFields.push(arrowField);\n }\n }\n if (arrowFields.length === 0) {\n throw new Error('No arrow convertible fields');\n }\n\n return new arrow.Schema(arrowFields);\n}\n\n// Convert from simple loaders.gl arrays to arrow vectors\nfunction getArrowVectors(arrowSchema, data): arrow.Vector[] {\n const arrowVectors: any[] = [];\n for (const field of arrowSchema.fields) {\n const vector = data[field.name];\n if (vector instanceof Float32Array) {\n const arrowVector = arrow.makeVector(vector);\n arrowVectors.push(arrowVector);\n }\n }\n if (arrowSchema.fields.length !== arrowVectors.length) {\n throw new Error('Some columns not arrow convertible');\n }\n return arrowVectors;\n}\n"],"mappings":"AAGA,SAAQA,4BAA4B,QAAO,oBAAoB;AAE/D,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,MAAMC,yBAAyB,SAASF,4BAA4B,CAAC;EAG1EG,WAAWA,CAACC,MAAM,EAAEC,OAAO,EAAE;IAC3B,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC;IAAC,KAHzBC,WAAW;IAIT,IAAI,CAACA,WAAW,GAAG,IAAI;EACzB;EAEAC,QAAQA,CAAA,EAA2B;IACjC,MAAMC,KAAK,GAAG,KAAK,CAACD,QAAQ,CAAC,CAAC;IAC9B,IAAIC,KAAK,EAAE;MAET,IAAI,CAACF,WAAW,GAAG,IAAI,CAACA,WAAW,IAAIG,cAAc,CAACD,KAAK,CAACJ,MAAM,CAAC;MAGnE,MAAMM,YAAY,GAAGC,eAAe,CAAC,IAAI,CAACL,WAAW,EAAEE,KAAK,CAACI,IAAI,CAAC;MAGlE,MAAMC,WAAW,GAAG,IAAIZ,KAAK,CAACa,WAAW,CACvC,IAAI,CAACR,WAAW,EAChBL,KAAK,CAACc,QAAQ,CAAC;QACbC,IAAI,EAAE,IAAIf,KAAK,CAACgB,MAAM,CAAC,IAAI,CAACX,WAAW,CAACY,MAAM,CAAC;QAC/CC,QAAQ,EAAET,YAAY,CAACU,GAAG,CAACC,IAAA;UAAA,IAAC;YAACT;UAAI,CAAC,GAAAS,IAAA;UAAA,OAAKT,IAAI,CAAC,CAAC,CAAC;QAAA;MAChD,CAAC,CACH,CAAC;MAED,OAAO;QACLU,KAAK,EAAE,aAAa;QACpBC,SAAS,EAAE,MAAM;QACjBX,IAAI,EAAE,IAAIX,KAAK,CAACuB,KAAK,CAAC,CAACX,WAAW,CAAC,CAAC;QACpCY,MAAM,EAAEjB,KAAK,CAACiB;MAChB,CAAC;IACH;IAEA,OAAO,IAAI;EACb;AACF;AAGA,SAAShB,cAAcA,CAACL,MAAM,EAAgB;EAC5C,MAAMsB,WAA0B,GAAG,EAAE;EACrC,KAAK,MAAMC,GAAG,IAAIvB,MAAM,EAAE;IACxB,MAAMwB,KAAK,GAAGxB,MAAM,CAACuB,GAAG,CAAC;IACzB,IAAIC,KAAK,CAACZ,IAAI,KAAKa,YAAY,EAAE;MAE/B,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAC,CAAC;MAE1B,MAAMC,UAAU,GAAG,IAAI/B,KAAK,CAACgC,KAAK,CAACL,KAAK,CAACM,IAAI,EAAE,IAAIjC,KAAK,CAACkC,OAAO,CAAC,CAAC,EAAEP,KAAK,CAACQ,QAAQ,EAAEN,QAAQ,CAAC;MAC7FJ,WAAW,CAACW,IAAI,CAACL,UAAU,CAAC;IAC9B;EACF;EACA,IAAIN,WAAW,CAACD,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM,IAAIa,KAAK,CAAC,6BAA6B,CAAC;EAChD;EAEA,OAAO,IAAIrC,KAAK,CAACsC,MAAM,CAACb,WAAW,CAAC;AACtC;AAGA,SAASf,eAAeA,CAACL,WAAW,EAAEM,IAAI,EAAkB;EAC1D,MAAMF,YAAmB,GAAG,EAAE;EAC9B,KAAK,MAAMkB,KAAK,IAAItB,WAAW,CAACY,MAAM,EAAE;IACtC,MAAMsB,MAAM,GAAG5B,IAAI,CAACgB,KAAK,CAACM,IAAI,CAAC;IAC/B,IAAIM,MAAM,YAAYX,YAAY,EAAE;MAClC,MAAMY,WAAW,GAAGxC,KAAK,CAACyC,UAAU,CAACF,MAAM,CAAC;MAC5C9B,YAAY,CAAC2B,IAAI,CAACI,WAAW,CAAC;IAChC;EACF;EACA,IAAInC,WAAW,CAACY,MAAM,CAACO,MAAM,KAAKf,YAAY,CAACe,MAAM,EAAE;IACrD,MAAM,IAAIa,KAAK,CAAC,oCAAoC,CAAC;EACvD;EACA,OAAO5B,YAAY;AACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-arrow.d.ts","sourceRoot":"","sources":["../../src/lib/encode-arrow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encode-arrow.d.ts","sourceRoot":"","sources":["../../src/lib/encode-arrow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAe,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,EAAE,CAAC;AAEJ;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CAShE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-arrow.js","names":["arrow","VECTOR_TYPES","encodeArrowSync","data","vectors","arrayData","arrayVector","createVector","array","type","name","table","Table","arrowBuffer","tableToIPC","DATE","vectorFromArray","FLOAT"],"sources":["../../src/lib/encode-arrow.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"encode-arrow.js","names":["arrow","VECTOR_TYPES","encodeArrowSync","data","vectors","arrayData","arrayVector","createVector","array","type","name","table","Table","arrowBuffer","tableToIPC","DATE","vectorFromArray","FLOAT"],"sources":["../../src/lib/encode-arrow.ts"],"sourcesContent":["// loaders.gl, MIT license\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 encodeArrowSync(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":"AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAAC,SAChBC,YAAY;AAelC,OAAO,SAASC,eAAeA,CAACC,IAAmB,EAAe;EAChE,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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnyArrayType } from '../types';
|
|
2
|
+
export type ColumnarTable = {
|
|
3
|
+
name: string;
|
|
4
|
+
array: AnyArrayType;
|
|
5
|
+
type: number;
|
|
6
|
+
}[];
|
|
7
|
+
/**
|
|
8
|
+
* Encodes set of arrays into the Apache Arrow columnar format
|
|
9
|
+
* https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format
|
|
10
|
+
* @param data - columns data
|
|
11
|
+
* @param options - the writer options
|
|
12
|
+
* @returns - encoded ArrayBuffer
|
|
13
|
+
*/
|
|
14
|
+
export declare function encodeGeoArrowSync(data: ColumnarTable): ArrayBuffer;
|
|
15
|
+
//# sourceMappingURL=encode-geoarrow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode-geoarrow.d.ts","sourceRoot":"","sources":["../../src/lib/encode-geoarrow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAe,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,EAAE,CAAC;AAEJ;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CASnE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as arrow from 'apache-arrow';
|
|
2
|
+
import { VECTOR_TYPES } from "../types.js";
|
|
3
|
+
export function encodeGeoArrowSync(data) {
|
|
4
|
+
const vectors = {};
|
|
5
|
+
for (const arrayData of data) {
|
|
6
|
+
const arrayVector = createVector(arrayData.array, arrayData.type);
|
|
7
|
+
vectors[arrayData.name] = arrayVector;
|
|
8
|
+
}
|
|
9
|
+
const table = new arrow.Table(vectors);
|
|
10
|
+
const arrowBuffer = arrow.tableToIPC(table);
|
|
11
|
+
return arrowBuffer;
|
|
12
|
+
}
|
|
13
|
+
function createVector(array, type) {
|
|
14
|
+
switch (type) {
|
|
15
|
+
case VECTOR_TYPES.DATE:
|
|
16
|
+
return arrow.vectorFromArray(array);
|
|
17
|
+
case VECTOR_TYPES.FLOAT:
|
|
18
|
+
default:
|
|
19
|
+
return arrow.vectorFromArray(array);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=encode-geoarrow.js.map
|
|
@@ -0,0 +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, MIT license\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":"AAGA,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-arrow-in-batches.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-arrow-in-batches.ts"],"names":[],"mappings":"AAGA,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"}
|
|
@@ -0,0 +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, MIT license\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":"AAIA,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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ArrayRowTable, ColumnarTable, ObjectRowTable } from '@loaders.gl/schema';
|
|
2
|
+
import type { ArrowTable } from '../lib/arrow-table';
|
|
3
|
+
export declare function parseArrowSync(arrayBuffer: any, options?: {
|
|
4
|
+
shape?: 'arrow-table' | 'columnar-table' | 'object-row-table' | 'array-row-table';
|
|
5
|
+
}): ArrowTable | ColumnarTable | ObjectRowTable | ArrayRowTable;
|
|
6
|
+
//# sourceMappingURL=parse-arrow-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-arrow-sync.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-arrow-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAMnD,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,CAwB7D"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { convertTable } from '@loaders.gl/schema';
|
|
2
|
+
import * as arrow from 'apache-arrow';
|
|
3
|
+
import { convertArrowToColumnarTable } from "../tables/convert-arrow-to-columnar-table.js";
|
|
4
|
+
export function parseArrowSync(arrayBuffer, options) {
|
|
5
|
+
const apacheArrowTable = arrow.tableFromIPC([new Uint8Array(arrayBuffer)]);
|
|
6
|
+
const arrowTable = {
|
|
7
|
+
shape: 'arrow-table',
|
|
8
|
+
data: apacheArrowTable
|
|
9
|
+
};
|
|
10
|
+
const shape = (options === null || options === void 0 ? void 0 : options.shape) || 'arrow-table';
|
|
11
|
+
switch (shape) {
|
|
12
|
+
case 'arrow-table':
|
|
13
|
+
return arrowTable;
|
|
14
|
+
case 'columnar-table':
|
|
15
|
+
return convertArrowToColumnarTable(arrowTable);
|
|
16
|
+
case 'object-row-table':
|
|
17
|
+
let columnarTable = convertArrowToColumnarTable(arrowTable);
|
|
18
|
+
return convertTable(columnarTable, 'object-row-table');
|
|
19
|
+
case 'array-row-table':
|
|
20
|
+
columnarTable = convertArrowToColumnarTable(arrowTable);
|
|
21
|
+
return convertTable(columnarTable, 'array-row-table');
|
|
22
|
+
default:
|
|
23
|
+
throw new Error(shape);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=parse-arrow-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-arrow-sync.js","names":["convertTable","arrow","convertArrowToColumnarTable","parseArrowSync","arrayBuffer","options","apacheArrowTable","tableFromIPC","Uint8Array","arrowTable","shape","data","columnarTable","Error"],"sources":["../../src/parsers/parse-arrow-sync.ts"],"sourcesContent":["// loaders.gl, MIT license\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';\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 = {shape: 'arrow-table', data: apacheArrowTable};\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":"AAKA,SAAQA,YAAY,QAAO,oBAAoB;AAC/C,OAAO,KAAKC,KAAK,MAAM,cAAc;AAAC,SAC9BC,2BAA2B;AAGnC,OAAO,SAASC,cAAcA,CAC5BC,WAAW,EACXC,OAA6F,EAChC;EAC7D,MAAMC,gBAAgB,GAAGL,KAAK,CAACM,YAAY,CAAC,CAAC,IAAIC,UAAU,CAACJ,WAAW,CAAC,CAAC,CAAC;EAC1E,MAAMK,UAAsB,GAAG;IAACC,KAAK,EAAE,aAAa;IAAEC,IAAI,EAAEL;EAAgB,CAAC;EAE7E,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,OAAOP,2BAA2B,CAACO,UAAU,CAAC;IAEhD,KAAK,kBAAkB;MACrB,IAAIG,aAAa,GAAGV,2BAA2B,CAACO,UAAU,CAAC;MAC3D,OAAOT,YAAY,CAACY,aAAa,EAAE,kBAAkB,CAAC;IAExD,KAAK,iBAAiB;MACpBA,aAAa,GAAGV,2BAA2B,CAACO,UAAU,CAAC;MACvD,OAAOT,YAAY,CAACY,aAAa,EAAE,iBAAiB,CAAC;IAEvD;MAEE,MAAM,IAAIC,KAAK,CAACH,KAAK,CAAC;EAC1B;AACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GeoJSONTableBatch } from '@loaders.gl/schema';
|
|
2
|
+
import type { ArrowTableBatch } from '../lib/arrow-table';
|
|
3
|
+
/**
|
|
4
|
+
*/
|
|
5
|
+
export declare function parseGeoArrowInBatches(asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>): AsyncIterable<ArrowTableBatch | GeoJSONTableBatch>;
|
|
6
|
+
//# sourceMappingURL=parse-geoarrow-in-batches.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-geoarrow-in-batches.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-geoarrow-in-batches.ts"],"names":[],"mappings":"AAGA,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"}
|
|
@@ -0,0 +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, MIT license\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":"SAKQA,mBAAmB;AAI3B,OAAO,SAASC,sBAAsBA,CACpCC,aAAiE,EACb;EAEpD,OAAOF,mBAAmB,CAACE,aAAa,CAAC;AAC3C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GeoJSONTable } from '@loaders.gl/schema';
|
|
2
|
+
import type { ArrowTable } from '../lib/arrow-table';
|
|
3
|
+
export declare function parseGeoArrowSync(arrayBuffer: any, options?: {
|
|
4
|
+
shape?: 'arrow-table' | 'geojson-table' | 'binary-geometry';
|
|
5
|
+
}): ArrowTable | GeoJSONTable;
|
|
6
|
+
//# sourceMappingURL=parse-geoarrow-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-geoarrow-sync.d.ts","sourceRoot":"","sources":["../../src/parsers/parse-geoarrow-sync.ts"],"names":[],"mappings":"AAGA,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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { parseArrowSync } from "./parse-arrow-sync.js";
|
|
2
|
+
import { convertArrowToGeoJSONTable } from "../tables/convert-arrow-to-geojson-table.js";
|
|
3
|
+
export function parseGeoArrowSync(arrayBuffer, options) {
|
|
4
|
+
const table = parseArrowSync(arrayBuffer, {
|
|
5
|
+
shape: 'arrow-table'
|
|
6
|
+
});
|
|
7
|
+
switch (options === null || options === void 0 ? void 0 : options.shape) {
|
|
8
|
+
case 'geojson-table':
|
|
9
|
+
return convertArrowToGeoJSONTable(table);
|
|
10
|
+
default:
|
|
11
|
+
return table;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=parse-geoarrow-sync.js.map
|
|
@@ -0,0 +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, MIT license\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":"SAKQA,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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ColumnarTable } from '@loaders.gl/schema';
|
|
2
|
+
import type { ArrowTable } from '../lib/arrow-table';
|
|
3
|
+
/**
|
|
4
|
+
* Convert an Apache Arrow table to a ColumnarTable
|
|
5
|
+
* @note Currently does not convert schema
|
|
6
|
+
*/
|
|
7
|
+
export declare function convertArrowToColumnarTable(table: ArrowTable): ColumnarTable;
|
|
8
|
+
//# sourceMappingURL=convert-arrow-to-columnar-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-arrow-to-columnar-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-arrow-to-columnar-table.ts"],"names":[],"mappings":"AAGA,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,CAkB5E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function convertArrowToColumnarTable(table) {
|
|
2
|
+
const arrowTable = table.data;
|
|
3
|
+
const columnarTable = {};
|
|
4
|
+
for (const field of arrowTable.schema.fields) {
|
|
5
|
+
const arrowColumn = arrowTable.getChild(field.name);
|
|
6
|
+
const values = arrowColumn === null || arrowColumn === void 0 ? void 0 : arrowColumn.toArray();
|
|
7
|
+
columnarTable[field.name] = values;
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
shape: 'columnar-table',
|
|
11
|
+
data: columnarTable
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=convert-arrow-to-columnar-table.js.map
|
|
@@ -0,0 +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, MIT license\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 data: columnarTable\n };\n}\n"],"mappings":"AAUA,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;IACvBV,IAAI,EAAEC;EACR,CAAC;AACH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GeoJSONTable } from '@loaders.gl/schema';
|
|
2
|
+
import type * as arrow from 'apache-arrow';
|
|
3
|
+
import type { ArrowTable } from '../lib/arrow-table';
|
|
4
|
+
/**
|
|
5
|
+
* Wrap an apache arrow table in a loaders.gl table wrapper.
|
|
6
|
+
* From this additional conversions are available.
|
|
7
|
+
* @param arrowTable
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function convertApacheArrowToArrowTable(arrowTable: arrow.Table): ArrowTable;
|
|
11
|
+
/**
|
|
12
|
+
* Convert an Apache Arrow table to a GeoJSONTable
|
|
13
|
+
* @note Currently does not convert schema
|
|
14
|
+
*/
|
|
15
|
+
export declare function convertArrowToGeoJSONTable(table: ArrowTable): GeoJSONTable;
|
|
16
|
+
//# sourceMappingURL=convert-arrow-to-geojson-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-arrow-to-geojson-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-arrow-to-geojson-table.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAInD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAKlF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CA2B1E"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { serializeArrowSchema, parseGeometryFromArrow } from '@loaders.gl/arrow';
|
|
2
|
+
import { getGeometryColumnsFromSchema } from '@loaders.gl/gis';
|
|
3
|
+
export function convertApacheArrowToArrowTable(arrowTable) {
|
|
4
|
+
return {
|
|
5
|
+
shape: 'arrow-table',
|
|
6
|
+
data: arrowTable
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export function convertArrowToGeoJSONTable(table) {
|
|
10
|
+
const arrowTable = table.data;
|
|
11
|
+
const schema = serializeArrowSchema(arrowTable.schema);
|
|
12
|
+
const geometryColumns = getGeometryColumnsFromSchema(schema);
|
|
13
|
+
const encoding = geometryColumns.geometry.encoding;
|
|
14
|
+
const features = [];
|
|
15
|
+
for (let row = 0; row < arrowTable.numRows; row++) {
|
|
16
|
+
var _arrowTable$getChild;
|
|
17
|
+
const arrowGeometry = (_arrowTable$getChild = arrowTable.getChild('geometry')) === null || _arrowTable$getChild === void 0 ? void 0 : _arrowTable$getChild.get(row);
|
|
18
|
+
const arrowGeometryObject = {
|
|
19
|
+
encoding,
|
|
20
|
+
data: arrowGeometry
|
|
21
|
+
};
|
|
22
|
+
const feature = parseGeometryFromArrow(arrowGeometryObject);
|
|
23
|
+
if (feature) {
|
|
24
|
+
features.push(feature);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
shape: 'geojson-table',
|
|
29
|
+
type: 'FeatureCollection',
|
|
30
|
+
features
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=convert-arrow-to-geojson-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-arrow-to-geojson-table.js","names":["serializeArrowSchema","parseGeometryFromArrow","getGeometryColumnsFromSchema","convertApacheArrowToArrowTable","arrowTable","shape","data","convertArrowToGeoJSONTable","table","schema","geometryColumns","encoding","geometry","features","row","numRows","_arrowTable$getChild","arrowGeometry","getChild","get","arrowGeometryObject","feature","push","type"],"sources":["../../src/tables/convert-arrow-to-geojson-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {Feature, GeoJSONTable} from '@loaders.gl/schema';\nimport type * 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 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 for (let row = 0; row < arrowTable.numRows; row++) {\n // get first geometry from arrow geometry column\n const arrowGeometry = arrowTable.getChild('geometry')?.get(row);\n const arrowGeometryObject = {encoding, data: arrowGeometry};\n\n // parse arrow geometry to geojson feature\n const feature = parseGeometryFromArrow(arrowGeometryObject);\n if (feature) {\n features.push(feature);\n }\n }\n\n return {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n features\n };\n}\n"],"mappings":"AAMA,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,IAAI,EAAEF;EACR,CAAC;AACH;AAMA,OAAO,SAASG,0BAA0BA,CAACC,KAAiB,EAAgB;EAC1E,MAAMJ,UAAU,GAAGI,KAAK,CAACF,IAAI;EAC7B,MAAMG,MAAM,GAAGT,oBAAoB,CAACI,UAAU,CAACK,MAAM,CAAC;EACtD,MAAMC,eAAe,GAAGR,4BAA4B,CAACO,MAAM,CAAC;EAG5D,MAAME,QAAQ,GAAGD,eAAe,CAACE,QAAQ,CAACD,QAAQ;EAElD,MAAME,QAAmB,GAAG,EAAE;EAE9B,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGV,UAAU,CAACW,OAAO,EAAED,GAAG,EAAE,EAAE;IAAA,IAAAE,oBAAA;IAEjD,MAAMC,aAAa,IAAAD,oBAAA,GAAGZ,UAAU,CAACc,QAAQ,CAAC,UAAU,CAAC,cAAAF,oBAAA,uBAA/BA,oBAAA,CAAiCG,GAAG,CAACL,GAAG,CAAC;IAC/D,MAAMM,mBAAmB,GAAG;MAACT,QAAQ;MAAEL,IAAI,EAAEW;IAAa,CAAC;IAG3D,MAAMI,OAAO,GAAGpB,sBAAsB,CAACmB,mBAAmB,CAAC;IAC3D,IAAIC,OAAO,EAAE;MACXR,QAAQ,CAACS,IAAI,CAACD,OAAO,CAAC;IACxB;EACF;EAEA,OAAO;IACLhB,KAAK,EAAE,eAAe;IACtBkB,IAAI,EAAE,mBAAmB;IACzBV;EACF,CAAC;AACH"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ColumnarTable, ObjectRowTable } from '@loaders.gl/schema';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @note - should be part of schema module
|
|
5
|
+
*/
|
|
6
|
+
export declare function convertColumnarToRowFormatTable(columnarTable: ColumnarTable): ObjectRowTable;
|
|
7
|
+
//# sourceMappingURL=convert-columnar-to-row-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-columnar-to-row-table.d.ts","sourceRoot":"","sources":["../../src/tables/convert-columnar-to-row-table.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,cAAc,CAmB5F"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function convertColumnarToRowFormatTable(columnarTable) {
|
|
2
|
+
const tableKeys = Object.keys(columnarTable);
|
|
3
|
+
const tableRowsCount = columnarTable[tableKeys[0]].length;
|
|
4
|
+
const rowFormatTable = [];
|
|
5
|
+
for (let index = 0; index < tableRowsCount; index++) {
|
|
6
|
+
const tableItem = {};
|
|
7
|
+
for (let keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {
|
|
8
|
+
const fieldName = tableKeys[keyIndex];
|
|
9
|
+
tableItem[fieldName] = columnarTable[fieldName][index];
|
|
10
|
+
}
|
|
11
|
+
rowFormatTable.push(tableItem);
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
shape: 'object-row-table',
|
|
15
|
+
data: rowFormatTable
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=convert-columnar-to-row-table.js.map
|
|
@@ -0,0 +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","data"],"sources":["../../src/tables/convert-columnar-to-row-table.ts"],"sourcesContent":["// loaders.gl, MIT license\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 data: rowFormatTable\n };\n}\n"],"mappings":"AASA,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,IAAI,EAAEP;EACR,CAAC;AACH"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { WorkerOptions } from '@loaders.gl/worker-utils';
|
|
2
|
+
export type TriangulationWorkerInput = TriangulateInput | {
|
|
3
|
+
operation: 'test';
|
|
4
|
+
data: any;
|
|
5
|
+
};
|
|
6
|
+
export type TriangulationWorkerOutput = TriangulateResult | {
|
|
7
|
+
operation: 'test';
|
|
8
|
+
data: any;
|
|
9
|
+
};
|
|
10
|
+
/** Input data for operation: 'triangulate' */
|
|
11
|
+
export type TriangulateInput = {
|
|
12
|
+
operation: 'triangulate';
|
|
13
|
+
polygonIndices: Uint16Array;
|
|
14
|
+
primitivePolygonIndices: Int32Array;
|
|
15
|
+
flatCoordinateArray: Float64Array;
|
|
16
|
+
nDim: number;
|
|
17
|
+
};
|
|
18
|
+
/** Result type for operation: 'triangulate' */
|
|
19
|
+
export type TriangulateResult = TriangulateInput & {
|
|
20
|
+
triangleIndices: Uint32Array;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Worker for tessellating geometries. Normally called through triangulateOnWorker
|
|
24
|
+
*/
|
|
25
|
+
export declare const TriangulationWorker: {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
module: string;
|
|
29
|
+
version: any;
|
|
30
|
+
options: {};
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Provide type safety
|
|
34
|
+
*/
|
|
35
|
+
export declare function triangulateOnWorker(data: TriangulationWorkerInput, options?: WorkerOptions): Promise<TriangulationWorkerOutput>;
|
|
36
|
+
//# sourceMappingURL=triangulate-on-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triangulate-on-worker.d.ts","sourceRoot":"","sources":["../src/triangulate-on-worker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAO5D,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC,CAAC;AACzF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC,CAAC;AAE3F,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,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,EAAE,WAAW,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,wBAAwB,EAC9B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAEpC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { processOnWorker } from '@loaders.gl/worker-utils';
|
|
2
|
+
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
3
|
+
export const TriangulationWorker = {
|
|
4
|
+
id: 'triangulation',
|
|
5
|
+
name: 'Triangulate',
|
|
6
|
+
module: 'arrow',
|
|
7
|
+
version: VERSION,
|
|
8
|
+
options: {}
|
|
9
|
+
};
|
|
10
|
+
export function triangulateOnWorker(data) {
|
|
11
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
12
|
+
return processOnWorker(TriangulationWorker, data, options);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=triangulate-on-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triangulate-on-worker.js","names":["processOnWorker","VERSION","__VERSION__","TriangulationWorker","id","name","module","version","options","triangulateOnWorker","data","arguments","length","undefined"],"sources":["../src/triangulate-on-worker.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {WorkerOptions} from '@loaders.gl/worker-utils';\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type TriangulationWorkerInput = TriangulateInput | {operation: 'test'; data: any};\nexport type TriangulationWorkerOutput = TriangulateResult | {operation: 'test'; data: any};\n\n/** Input data for operation: 'triangulate' */\nexport type TriangulateInput = {\n operation: 'triangulate';\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 * Provide type safety\n */\nexport function triangulateOnWorker(\n data: TriangulationWorkerInput,\n options: WorkerOptions = {}\n): Promise<TriangulationWorkerOutput> {\n return processOnWorker(TriangulationWorker, data, options);\n}\n"],"mappings":"AAIA,SAAQA,eAAe,QAAO,0BAA0B;AAIxD,MAAMC,OAAO,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,QAAQ;AAsB3E,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,EAAE,EAAE,eAAe;EACnBC,IAAI,EAAE,aAAa;EACnBC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEN,OAAO;EAChBO,OAAO,EAAE,CAAC;AACZ,CAAC;AAKD,OAAO,SAASC,mBAAmBA,CACjCC,IAA8B,EAEM;EAAA,IADpCF,OAAsB,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE3B,OAAOX,eAAe,CAACG,mBAAmB,EAAEO,IAAI,EAAEF,OAAO,CAAC;AAC5D"}
|