@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":"arrow-loader.d.ts","sourceRoot":"","sources":["../src/arrow-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arrow-loader.d.ts","sourceRoot":"","sources":["../src/arrow-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAQlD,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;KAClF,CAAC;CACH,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,kBAAkB,CAoB3E,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,WAAW,EAAE,gBAAgB,CACxC,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,aAAa,EAC3D,eAAe,EACf,kBAAkB,CAQnB,CAAC"}
|
package/dist/arrow-loader.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseArrowSync } from "./parsers/parse-arrow-sync.js";
|
|
2
2
|
import { parseArrowInBatches } from "./parsers/parse-arrow-in-batches.js";
|
|
3
|
-
const VERSION = typeof
|
|
3
|
+
const VERSION = typeof "4.1.0-alpha.3" !== 'undefined' ? "4.1.0-alpha.3" : 'latest';
|
|
4
4
|
export const ArrowWorkerLoader = {
|
|
5
5
|
name: 'Apache Arrow',
|
|
6
6
|
id: 'arrow',
|
package/dist/arrow-loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-loader.js","names":["parseArrowSync","parseArrowInBatches","VERSION","
|
|
1
|
+
{"version":3,"file":"arrow-loader.js","names":["parseArrowSync","parseArrowInBatches","VERSION","ArrowWorkerLoader","name","id","module","version","category","extensions","mimeTypes","binary","tests","options","arrow","shape","ArrowLoader","parse","arraybuffer","parseSync","parseInBatches"],"sources":["../src/arrow-loader.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {\n ArrayRowTable,\n ArrowTableBatch,\n ColumnarTable,\n ObjectRowTable\n} from '@loaders.gl/schema';\nimport type {ArrowTable} from './lib/arrow-table';\nimport {parseArrowSync} from './parsers/parse-arrow-sync';\nimport {parseArrowInBatches} from './parsers/parse-arrow-in-batches';\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 ArrowLoaderOptions = LoaderOptions & {\n arrow?: {\n shape: 'arrow-table' | 'columnar-table' | 'array-row-table' | 'object-row-table';\n };\n};\n\n/** ArrowJS table loader */\nexport const ArrowWorkerLoader: Loader<ArrowTable, never, ArrowLoaderOptions> = {\n name: 'Apache Arrow',\n id: 'arrow',\n module: 'arrow',\n version: VERSION,\n // worker: true,\n category: 'table',\n extensions: ['arrow', 'feather'],\n mimeTypes: [\n 'application/vnd.apache.arrow.file',\n 'application/vnd.apache.arrow.stream',\n 'application/octet-stream'\n ],\n binary: true,\n tests: ['ARROW'],\n options: {\n arrow: {\n shape: 'columnar-table'\n }\n }\n};\n\n/** ArrowJS table loader */\nexport const ArrowLoader: LoaderWithParser<\n ArrowTable | ColumnarTable | ObjectRowTable | ArrayRowTable,\n ArrowTableBatch,\n ArrowLoaderOptions\n> = {\n ...ArrowWorkerLoader,\n parse: async (arraybuffer: ArrayBuffer, options?: ArrowLoaderOptions) =>\n parseArrowSync(arraybuffer, options?.arrow),\n parseSync: (arraybuffer: ArrayBuffer, options?: ArrowLoaderOptions) =>\n parseArrowSync(arraybuffer, options?.arrow),\n parseInBatches: parseArrowInBatches\n};\n"],"mappings":"SAYQA,cAAc;AAAA,SACdC,mBAAmB;AAI3B,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAS3E,OAAO,MAAMC,iBAAgE,GAAG;EAC9EC,IAAI,EAAE,cAAc;EACpBC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEL,OAAO;EAEhBM,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;EAChCC,SAAS,EAAE,CACT,mCAAmC,EACnC,qCAAqC,EACrC,0BAA0B,CAC3B;EACDC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,OAAO,EAAE;IACPC,KAAK,EAAE;MACLC,KAAK,EAAE;IACT;EACF;AACF,CAAC;AAGD,OAAO,MAAMC,WAIZ,GAAG;EACF,GAAGb,iBAAiB;EACpBc,KAAK,EAAE,MAAAA,CAAOC,WAAwB,EAAEL,OAA4B,KAClEb,cAAc,CAACkB,WAAW,EAAEL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,KAAK,CAAC;EAC7CK,SAAS,EAAEA,CAACD,WAAwB,EAAEL,OAA4B,KAChEb,cAAc,CAACkB,WAAW,EAAEL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,KAAK,CAAC;EAC7CM,cAAc,EAAEnB;AAClB,CAAC"}
|
package/dist/arrow-worker.js
CHANGED
|
@@ -12174,7 +12174,7 @@ return true;`);
|
|
|
12174
12174
|
}
|
|
12175
12175
|
|
|
12176
12176
|
// src/arrow-loader.ts
|
|
12177
|
-
var VERSION = true ? "4.1.0-alpha.
|
|
12177
|
+
var VERSION = true ? "4.1.0-alpha.3" : "latest";
|
|
12178
12178
|
var ArrowWorkerLoader = {
|
|
12179
12179
|
name: "Apache Arrow",
|
|
12180
12180
|
id: "arrow",
|
package/dist/arrow-writer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { encodeArrowSync } from "./lib/encode-arrow.js";
|
|
2
|
-
const VERSION = typeof
|
|
2
|
+
const VERSION = typeof "4.1.0-alpha.3" !== 'undefined' ? "4.1.0-alpha.3" : 'latest';
|
|
3
3
|
export const ArrowWriter = {
|
|
4
4
|
name: 'Apache Arrow',
|
|
5
5
|
id: 'arrow',
|
package/dist/arrow-writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-writer.js","names":["encodeArrowSync","VERSION","
|
|
1
|
+
{"version":3,"file":"arrow-writer.js","names":["encodeArrowSync","VERSION","ArrowWriter","name","id","module","version","extensions","mimeTypes","binary","options","encode","encodeArrow","data","encodeSync"],"sources":["../src/arrow-writer.ts"],"sourcesContent":["// import type {} from '@loaders.gl/loader-utils';\n\nimport type {WriterWithEncoder, WriterOptions} from '@loaders.gl/loader-utils';\nimport {ColumnarTable} from './lib/encode-arrow';\nimport {encodeArrowSync} from './lib/encode-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\ntype ArrowWriterOptions = WriterOptions & {\n arrow?: {};\n};\n\n/** Apache Arrow writer */\nexport const ArrowWriter: WriterWithEncoder<ColumnarTable, never, ArrowWriterOptions> = {\n name: 'Apache Arrow',\n id: 'arrow',\n module: 'arrow',\n version: VERSION,\n extensions: ['arrow', 'feather'],\n mimeTypes: [\n 'application/vnd.apache.arrow.file',\n 'application/vnd.apache.arrow.stream',\n 'application/octet-stream'\n ],\n binary: true,\n options: {},\n encode: async function encodeArrow(data, options?): Promise<ArrayBuffer> {\n return encodeArrowSync(data);\n },\n encodeSync(data, options?) {\n return encodeArrowSync(data);\n }\n};\n"],"mappings":"SAIQA,eAAe;AAIvB,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAO3E,OAAO,MAAMC,WAAwE,GAAG;EACtFC,IAAI,EAAE,cAAc;EACpBC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;EAChCC,SAAS,EAAE,CACT,mCAAmC,EACnC,qCAAqC,EACrC,0BAA0B,CAC3B;EACDC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,CAAC,CAAC;EACXC,MAAM,EAAE,eAAeC,WAAWA,CAACC,IAAI,EAAEH,OAAQ,EAAwB;IACvE,OAAOV,eAAe,CAACa,IAAI,CAAC;EAC9B,CAAC;EACDC,UAAUA,CAACD,IAAI,EAAEH,OAAQ,EAAE;IACzB,OAAOV,eAAe,CAACa,IAAI,CAAC;EAC9B;AACF,CAAC"}
|
package/dist/dist.dev.js
CHANGED
|
@@ -30,7 +30,6 @@ var __exports__ = (() => {
|
|
|
30
30
|
ArrowLoader: () => ArrowLoader,
|
|
31
31
|
ArrowWorkerLoader: () => ArrowWorkerLoader,
|
|
32
32
|
ArrowWriter: () => ArrowWriter,
|
|
33
|
-
BINARY_GEOMETRY_TEMPLATE: () => BINARY_GEOMETRY_TEMPLATE,
|
|
34
33
|
GeoArrowLoader: () => GeoArrowLoader,
|
|
35
34
|
GeoArrowWorkerLoader: () => GeoArrowWorkerLoader,
|
|
36
35
|
TriangulationWorker: () => TriangulationWorker,
|
|
@@ -42,8 +41,11 @@ var __exports__ = (() => {
|
|
|
42
41
|
deserializeArrowType: () => deserializeArrowType,
|
|
43
42
|
getArrowType: () => getArrowType,
|
|
44
43
|
getBinaryGeometriesFromArrow: () => getBinaryGeometriesFromArrow,
|
|
44
|
+
getBinaryGeometryTemplate: () => getBinaryGeometryTemplate,
|
|
45
45
|
getMeanCentersFromBinaryGeometries: () => getMeanCentersFromBinaryGeometries,
|
|
46
46
|
getTriangleIndices: () => getTriangleIndices,
|
|
47
|
+
hardClone: () => hardClone,
|
|
48
|
+
parseGeoArrowOnWorker: () => parseGeoArrowOnWorker,
|
|
47
49
|
parseGeometryFromArrow: () => parseGeometryFromArrow,
|
|
48
50
|
serializeArrowField: () => serializeArrowField,
|
|
49
51
|
serializeArrowMetadata: () => serializeArrowMetadata,
|
|
@@ -77,6 +79,7 @@ var __exports__ = (() => {
|
|
|
77
79
|
if (Number.isFinite(cursor)) {
|
|
78
80
|
this.cursor = cursor;
|
|
79
81
|
}
|
|
82
|
+
this.shape = "array-row-table";
|
|
80
83
|
this.rows = this.rows || new Array(DEFAULT_ROW_COUNT);
|
|
81
84
|
this.rows[this.length] = row;
|
|
82
85
|
this.length++;
|
|
@@ -85,6 +88,7 @@ var __exports__ = (() => {
|
|
|
85
88
|
if (Number.isFinite(cursor)) {
|
|
86
89
|
this.cursor = cursor;
|
|
87
90
|
}
|
|
91
|
+
this.shape = "object-row-table";
|
|
88
92
|
this.rows = this.rows || new Array(DEFAULT_ROW_COUNT);
|
|
89
93
|
this.rows[this.length] = row;
|
|
90
94
|
this.length++;
|
|
@@ -97,7 +101,7 @@ var __exports__ = (() => {
|
|
|
97
101
|
rows = rows.slice(0, this.length);
|
|
98
102
|
this.rows = null;
|
|
99
103
|
const batch = {
|
|
100
|
-
shape: this.
|
|
104
|
+
shape: this.shape || "array-row-table",
|
|
101
105
|
batchType: "data",
|
|
102
106
|
data: rows,
|
|
103
107
|
length: this.length,
|
|
@@ -113,12 +117,16 @@ var __exports__ = (() => {
|
|
|
113
117
|
if (!arrayRow) {
|
|
114
118
|
throw new Error("null row");
|
|
115
119
|
}
|
|
116
|
-
if (!headers) {
|
|
117
|
-
throw new Error("no headers");
|
|
118
|
-
}
|
|
119
120
|
const objectRow = {};
|
|
120
|
-
|
|
121
|
-
|
|
121
|
+
if (headers) {
|
|
122
|
+
for (let i = 0; i < headers.length; i++) {
|
|
123
|
+
objectRow[headers[i]] = arrayRow[i];
|
|
124
|
+
}
|
|
125
|
+
} else {
|
|
126
|
+
for (let i = 0; i < arrayRow.length; i++) {
|
|
127
|
+
const columnName = `column-${i}`;
|
|
128
|
+
objectRow[columnName] = arrayRow[i];
|
|
129
|
+
}
|
|
122
130
|
}
|
|
123
131
|
return objectRow;
|
|
124
132
|
}
|
|
@@ -126,14 +134,25 @@ var __exports__ = (() => {
|
|
|
126
134
|
if (!objectRow) {
|
|
127
135
|
throw new Error("null row");
|
|
128
136
|
}
|
|
129
|
-
if (
|
|
130
|
-
|
|
137
|
+
if (headers) {
|
|
138
|
+
const arrayRow = new Array(headers.length);
|
|
139
|
+
for (let i = 0; i < headers.length; i++) {
|
|
140
|
+
arrayRow[i] = objectRow[headers[i]];
|
|
141
|
+
}
|
|
142
|
+
return arrayRow;
|
|
131
143
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
144
|
+
return Object.values(objectRow);
|
|
145
|
+
}
|
|
146
|
+
function inferHeadersFromArrayRow(arrayRow) {
|
|
147
|
+
const headers = [];
|
|
148
|
+
for (let i = 0; i < arrayRow.length; i++) {
|
|
149
|
+
const columnName = `column-${i}`;
|
|
150
|
+
headers.push(columnName);
|
|
135
151
|
}
|
|
136
|
-
return
|
|
152
|
+
return headers;
|
|
153
|
+
}
|
|
154
|
+
function inferHeadersFromObjectRow(row) {
|
|
155
|
+
return Object.keys(row);
|
|
137
156
|
}
|
|
138
157
|
|
|
139
158
|
// ../schema/src/lib/table/batches/row-table-batch-aggregator.ts
|
|
@@ -143,11 +162,11 @@ var __exports__ = (() => {
|
|
|
143
162
|
objectRows = null;
|
|
144
163
|
arrayRows = null;
|
|
145
164
|
cursor = 0;
|
|
146
|
-
_headers =
|
|
165
|
+
_headers = null;
|
|
147
166
|
constructor(schema, options) {
|
|
148
167
|
this.options = options;
|
|
149
168
|
this.schema = schema;
|
|
150
|
-
if (
|
|
169
|
+
if (schema) {
|
|
151
170
|
this._headers = [];
|
|
152
171
|
for (const key in schema) {
|
|
153
172
|
this._headers[schema[key].index] = schema[key].name;
|
|
@@ -161,6 +180,7 @@ var __exports__ = (() => {
|
|
|
161
180
|
if (Number.isFinite(cursor)) {
|
|
162
181
|
this.cursor = cursor;
|
|
163
182
|
}
|
|
183
|
+
this._headers ||= inferHeadersFromArrayRow(row);
|
|
164
184
|
switch (this.options.shape) {
|
|
165
185
|
case "object-row-table":
|
|
166
186
|
const rowObject = convertToObjectRow(row, this._headers);
|
|
@@ -177,6 +197,7 @@ var __exports__ = (() => {
|
|
|
177
197
|
if (Number.isFinite(cursor)) {
|
|
178
198
|
this.cursor = cursor;
|
|
179
199
|
}
|
|
200
|
+
this._headers ||= inferHeadersFromObjectRow(row);
|
|
180
201
|
switch (this.options.shape) {
|
|
181
202
|
case "array-row-table":
|
|
182
203
|
const rowArray = convertToArrayRow(row, this._headers);
|
|
@@ -286,7 +307,7 @@ var __exports__ = (() => {
|
|
|
286
307
|
|
|
287
308
|
// ../schema/src/lib/table/batches/table-batch-builder.ts
|
|
288
309
|
var DEFAULT_OPTIONS = {
|
|
289
|
-
shape:
|
|
310
|
+
shape: void 0,
|
|
290
311
|
batchSize: "auto",
|
|
291
312
|
batchDebounceMs: 0,
|
|
292
313
|
limit: 0,
|
|
@@ -398,8 +419,6 @@ var __exports__ = (() => {
|
|
|
398
419
|
}
|
|
399
420
|
_getTableBatchType() {
|
|
400
421
|
switch (this.options.shape) {
|
|
401
|
-
case "row-table":
|
|
402
|
-
return BaseTableBatchAggregator;
|
|
403
422
|
case "array-row-table":
|
|
404
423
|
case "object-row-table":
|
|
405
424
|
return RowTableBatchAggregator;
|
|
@@ -411,7 +430,7 @@ var __exports__ = (() => {
|
|
|
411
430
|
}
|
|
412
431
|
return TableBatchBuilder.ArrowBatch;
|
|
413
432
|
default:
|
|
414
|
-
|
|
433
|
+
return BaseTableBatchAggregator;
|
|
415
434
|
}
|
|
416
435
|
}
|
|
417
436
|
};
|
|
@@ -12737,7 +12756,7 @@ return true;`);
|
|
|
12737
12756
|
}
|
|
12738
12757
|
|
|
12739
12758
|
// src/arrow-loader.ts
|
|
12740
|
-
var VERSION =
|
|
12759
|
+
var VERSION = true ? "4.1.0-alpha.3" : "latest";
|
|
12741
12760
|
var ArrowWorkerLoader = {
|
|
12742
12761
|
name: "Apache Arrow",
|
|
12743
12762
|
id: "arrow",
|
|
@@ -12783,7 +12802,7 @@ return true;`);
|
|
|
12783
12802
|
}
|
|
12784
12803
|
|
|
12785
12804
|
// src/arrow-writer.ts
|
|
12786
|
-
var VERSION2 =
|
|
12805
|
+
var VERSION2 = true ? "4.1.0-alpha.3" : "latest";
|
|
12787
12806
|
var ArrowWriter = {
|
|
12788
12807
|
name: "Apache Arrow",
|
|
12789
12808
|
id: "arrow",
|
|
@@ -13603,31 +13622,33 @@ return true;`);
|
|
|
13603
13622
|
BinaryGeometryType2["polygons"] = "polygons";
|
|
13604
13623
|
return BinaryGeometryType2;
|
|
13605
13624
|
}(BinaryGeometryType || {});
|
|
13606
|
-
|
|
13607
|
-
|
|
13608
|
-
|
|
13609
|
-
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13625
|
+
function getBinaryGeometryTemplate() {
|
|
13626
|
+
return {
|
|
13627
|
+
globalFeatureIds: {
|
|
13628
|
+
value: new Uint32Array(0),
|
|
13629
|
+
size: 1
|
|
13630
|
+
},
|
|
13631
|
+
positions: {
|
|
13632
|
+
value: new Float32Array(0),
|
|
13633
|
+
size: 2
|
|
13634
|
+
},
|
|
13635
|
+
properties: [],
|
|
13636
|
+
numericProps: {},
|
|
13637
|
+
featureIds: {
|
|
13638
|
+
value: new Uint32Array(0),
|
|
13639
|
+
size: 1
|
|
13640
|
+
}
|
|
13641
|
+
};
|
|
13642
|
+
}
|
|
13622
13643
|
function getBinaryGeometriesFromArrow(geoColumn, geoEncoding, options) {
|
|
13623
13644
|
const featureTypes = {
|
|
13624
13645
|
polygon: geoEncoding === "geoarrow.multipolygon" || geoEncoding === "geoarrow.polygon",
|
|
13625
13646
|
point: geoEncoding === "geoarrow.multipoint" || geoEncoding === "geoarrow.point",
|
|
13626
13647
|
line: geoEncoding === "geoarrow.multilinestring" || geoEncoding === "geoarrow.linestring"
|
|
13627
13648
|
};
|
|
13628
|
-
const chunks = options?.chunkIndex ? [geoColumn.data[options?.chunkIndex]] : geoColumn.data;
|
|
13649
|
+
const chunks = options?.chunkIndex !== void 0 && options?.chunkIndex >= 0 ? [geoColumn.data[options?.chunkIndex]] : geoColumn.data;
|
|
13629
13650
|
let bounds = [Infinity, Infinity, -Infinity, -Infinity];
|
|
13630
|
-
let globalFeatureIdOffset = 0;
|
|
13651
|
+
let globalFeatureIdOffset = options?.chunkOffset || 0;
|
|
13631
13652
|
const binaryGeometries = [];
|
|
13632
13653
|
chunks.forEach((chunk) => {
|
|
13633
13654
|
const {
|
|
@@ -13663,12 +13684,12 @@ return true;`);
|
|
|
13663
13684
|
shape: "binary-feature-collection",
|
|
13664
13685
|
points: {
|
|
13665
13686
|
type: "Point",
|
|
13666
|
-
...
|
|
13687
|
+
...getBinaryGeometryTemplate(),
|
|
13667
13688
|
...featureTypes.point ? binaryContent : {}
|
|
13668
13689
|
},
|
|
13669
13690
|
lines: {
|
|
13670
13691
|
type: "LineString",
|
|
13671
|
-
...
|
|
13692
|
+
...getBinaryGeometryTemplate(),
|
|
13672
13693
|
...featureTypes.line ? binaryContent : {},
|
|
13673
13694
|
pathIndices: {
|
|
13674
13695
|
value: featureTypes.line ? geomOffset : new Uint16Array(0),
|
|
@@ -13677,7 +13698,7 @@ return true;`);
|
|
|
13677
13698
|
},
|
|
13678
13699
|
polygons: {
|
|
13679
13700
|
type: "Polygon",
|
|
13680
|
-
...
|
|
13701
|
+
...getBinaryGeometryTemplate(),
|
|
13681
13702
|
...featureTypes.polygon ? binaryContent : {},
|
|
13682
13703
|
polygonIndices: {
|
|
13683
13704
|
value: featureTypes.polygon ? geomOffset : new Uint16Array(0),
|
|
@@ -13791,7 +13812,7 @@ return true;`);
|
|
|
13791
13812
|
}
|
|
13792
13813
|
const triangleIndices = earcut(slicedFlatCoords, holeIndices.length > 0 ? holeIndices : void 0, nDim);
|
|
13793
13814
|
if (triangleIndices.length === 0) {
|
|
13794
|
-
throw Error("
|
|
13815
|
+
throw Error("earcut failed e.g. invalid polygon");
|
|
13795
13816
|
}
|
|
13796
13817
|
for (let j = 0; j < triangleIndices.length; j++) {
|
|
13797
13818
|
triangles.push(triangleIndices[j] + startIdx);
|
|
@@ -13833,8 +13854,8 @@ return true;`);
|
|
|
13833
13854
|
const triangles = options?.triangulate ? getTriangleIndices(geometryIndicies, geomOffset, flatCoordinateArray, nDim) : null;
|
|
13834
13855
|
return {
|
|
13835
13856
|
featureIds,
|
|
13836
|
-
flatCoordinateArray,
|
|
13837
13857
|
nDim,
|
|
13858
|
+
flatCoordinateArray,
|
|
13838
13859
|
geomOffset,
|
|
13839
13860
|
geometryIndicies,
|
|
13840
13861
|
...options?.triangulate && triangles ? {
|
|
@@ -13913,7 +13934,7 @@ return true;`);
|
|
|
13913
13934
|
}
|
|
13914
13935
|
|
|
13915
13936
|
// ../wkt/src/lib/utils/version.ts
|
|
13916
|
-
var VERSION3 =
|
|
13937
|
+
var VERSION3 = true ? "4.1.0-alpha.3" : "latest";
|
|
13917
13938
|
|
|
13918
13939
|
// ../wkt/src/lib/parse-wkt.ts
|
|
13919
13940
|
var numberRegexp = /[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/;
|
|
@@ -14709,16 +14730,50 @@ return true;`);
|
|
|
14709
14730
|
};
|
|
14710
14731
|
}
|
|
14711
14732
|
|
|
14733
|
+
// src/workers/hard-clone.ts
|
|
14734
|
+
function hardClone(data, force = false) {
|
|
14735
|
+
if ("data" in data) {
|
|
14736
|
+
return new Vector(data.data.map((data2) => hardClone(data2, force)));
|
|
14737
|
+
}
|
|
14738
|
+
const clonedChildren = [];
|
|
14739
|
+
for (const childData of data.children) {
|
|
14740
|
+
clonedChildren.push(hardClone(childData, force));
|
|
14741
|
+
}
|
|
14742
|
+
let clonedDictionary;
|
|
14743
|
+
if (data.dictionary !== void 0) {
|
|
14744
|
+
clonedDictionary = hardClone(data.dictionary, force);
|
|
14745
|
+
}
|
|
14746
|
+
const clonedBuffers = {
|
|
14747
|
+
[BufferType.OFFSET]: cloneBuffer(data.buffers[BufferType.OFFSET], force),
|
|
14748
|
+
[BufferType.DATA]: cloneBuffer(data.buffers[BufferType.DATA], force),
|
|
14749
|
+
[BufferType.VALIDITY]: cloneBuffer(data.buffers[BufferType.VALIDITY], force),
|
|
14750
|
+
[BufferType.TYPE]: cloneBuffer(data.buffers[BufferType.TYPE], force)
|
|
14751
|
+
};
|
|
14752
|
+
return new Data(data.type, data.offset, data.length, data._nullCount, clonedBuffers, clonedChildren, clonedDictionary);
|
|
14753
|
+
}
|
|
14754
|
+
function isTypedArraySliced(arr) {
|
|
14755
|
+
return !(arr.byteOffset === 0 && arr.byteLength === arr.buffer.byteLength);
|
|
14756
|
+
}
|
|
14757
|
+
function cloneBuffer(arr, force) {
|
|
14758
|
+
if (arr === void 0) {
|
|
14759
|
+
return arr;
|
|
14760
|
+
}
|
|
14761
|
+
if (!force && !isTypedArraySliced(arr)) {
|
|
14762
|
+
return arr;
|
|
14763
|
+
}
|
|
14764
|
+
return arr.slice();
|
|
14765
|
+
}
|
|
14766
|
+
|
|
14712
14767
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
14713
14768
|
var NPM_TAG = "latest";
|
|
14714
14769
|
function getVersion() {
|
|
14715
14770
|
if (!globalThis._loadersgl_?.version) {
|
|
14716
14771
|
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
14717
|
-
if (
|
|
14772
|
+
if (false) {
|
|
14718
14773
|
console.warn("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
14719
14774
|
globalThis._loadersgl_.version = NPM_TAG;
|
|
14720
14775
|
} else {
|
|
14721
|
-
globalThis._loadersgl_.version =
|
|
14776
|
+
globalThis._loadersgl_.version = "4.1.0-alpha.3";
|
|
14722
14777
|
}
|
|
14723
14778
|
}
|
|
14724
14779
|
return globalThis._loadersgl_.version;
|
|
@@ -15260,7 +15315,7 @@ return true;`);
|
|
|
15260
15315
|
}
|
|
15261
15316
|
|
|
15262
15317
|
// src/triangulate-on-worker.ts
|
|
15263
|
-
var VERSION5 =
|
|
15318
|
+
var VERSION5 = true ? "4.1.0-alpha.3" : "latest";
|
|
15264
15319
|
var TriangulationWorker = {
|
|
15265
15320
|
id: "triangulation",
|
|
15266
15321
|
name: "Triangulate",
|
|
@@ -15269,7 +15324,16 @@ return true;`);
|
|
|
15269
15324
|
options: {}
|
|
15270
15325
|
};
|
|
15271
15326
|
function triangulateOnWorker(data, options = {}) {
|
|
15272
|
-
return processOnWorker(TriangulationWorker,
|
|
15327
|
+
return processOnWorker(TriangulationWorker, {
|
|
15328
|
+
...data,
|
|
15329
|
+
operation: "triangulate"
|
|
15330
|
+
}, options);
|
|
15331
|
+
}
|
|
15332
|
+
function parseGeoArrowOnWorker(data, options = {}) {
|
|
15333
|
+
return processOnWorker(TriangulationWorker, {
|
|
15334
|
+
...data,
|
|
15335
|
+
operation: "parse-geoarrow"
|
|
15336
|
+
}, options);
|
|
15273
15337
|
}
|
|
15274
15338
|
|
|
15275
15339
|
// src/index.ts
|
|
@@ -21,7 +21,7 @@ export type BinaryDataFromGeoArrow = {
|
|
|
21
21
|
/**
|
|
22
22
|
* binary geometry template, see deck.gl BinaryGeometry
|
|
23
23
|
*/
|
|
24
|
-
export declare
|
|
24
|
+
export declare function getBinaryGeometryTemplate(): {
|
|
25
25
|
globalFeatureIds: {
|
|
26
26
|
value: Uint32Array;
|
|
27
27
|
size: number;
|
|
@@ -40,6 +40,8 @@ export declare const BINARY_GEOMETRY_TEMPLATE: {
|
|
|
40
40
|
export type BinaryGeometriesFromArrowOptions = {
|
|
41
41
|
/** option to specify which chunk to get binary geometries from, for progressive rendering */
|
|
42
42
|
chunkIndex?: number;
|
|
43
|
+
/** The offset (beginning index of rows) of input chunk. Used for reconstructing globalFeatureIds in web workers */
|
|
44
|
+
chunkOffset?: number;
|
|
43
45
|
/** option to get mean centers from geometries, for polygon filtering */
|
|
44
46
|
calculateMeanCenters?: boolean;
|
|
45
47
|
/** option to compute the triangle indices by tesselating polygons */
|
|
@@ -66,7 +68,7 @@ export declare function getMeanCentersFromBinaryGeometries(binaryGeometries: Bin
|
|
|
66
68
|
* @param primitivePolygonIndices Indices within positions of the start of each primitive Polygon/ring
|
|
67
69
|
* @param flatCoordinateArray Array of x, y or x, y, z positions
|
|
68
70
|
* @param nDim - number of dimensions per position
|
|
69
|
-
* @returns
|
|
71
|
+
* @returns triangle indices or null if invalid polygon and earcut fails
|
|
70
72
|
*/
|
|
71
73
|
export declare function getTriangleIndices(polygonIndices: Uint16Array, primitivePolygonIndices: Int32Array, flatCoordinateArray: Float64Array, nDim: number): Uint32Array | null;
|
|
72
74
|
//# sourceMappingURL=convert-geoarrow-to-binary-geometry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-geoarrow-to-binary-geometry.d.ts","sourceRoot":"","sources":["../../src/geoarrow/convert-geoarrow-to-binary-geometry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert-geoarrow-to-binary-geometry.d.ts","sourceRoot":"","sources":["../../src/geoarrow/convert-geoarrow-to-binary-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAC,uBAAuB,IAAI,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAajD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,oEAAoE;IACpE,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,wCAAwC;IACxC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,6CAA6C;IAC7C,YAAY,EAAE;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAC,CAAC;IAChE,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CAC1B,CAAC;AAsBF;;GAEG;AACH,wBAAgB,yBAAyB;;;;;;;;;;;;;;;EAQxC;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mHAAmH;IACnH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,KAAK,CAAC,MAAM,EACvB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,CAAC,EAAE,gCAAgC,GACzC,sBAAsB,CAiFxB;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,gBAAgB,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,EAAE,CAiCjG;AA2ED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,WAAW,EAC3B,uBAAuB,EAAE,UAAU,EACnC,mBAAmB,EAAE,YAAY,EACjC,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,IAAI,CAyCpB"}
|
|
@@ -6,31 +6,33 @@ var BinaryGeometryType = function (BinaryGeometryType) {
|
|
|
6
6
|
BinaryGeometryType["polygons"] = "polygons";
|
|
7
7
|
return BinaryGeometryType;
|
|
8
8
|
}(BinaryGeometryType || {});
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
9
|
+
export function getBinaryGeometryTemplate() {
|
|
10
|
+
return {
|
|
11
|
+
globalFeatureIds: {
|
|
12
|
+
value: new Uint32Array(0),
|
|
13
|
+
size: 1
|
|
14
|
+
},
|
|
15
|
+
positions: {
|
|
16
|
+
value: new Float32Array(0),
|
|
17
|
+
size: 2
|
|
18
|
+
},
|
|
19
|
+
properties: [],
|
|
20
|
+
numericProps: {},
|
|
21
|
+
featureIds: {
|
|
22
|
+
value: new Uint32Array(0),
|
|
23
|
+
size: 1
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
25
27
|
export function getBinaryGeometriesFromArrow(geoColumn, geoEncoding, options) {
|
|
26
28
|
const featureTypes = {
|
|
27
29
|
polygon: geoEncoding === 'geoarrow.multipolygon' || geoEncoding === 'geoarrow.polygon',
|
|
28
30
|
point: geoEncoding === 'geoarrow.multipoint' || geoEncoding === 'geoarrow.point',
|
|
29
31
|
line: geoEncoding === 'geoarrow.multilinestring' || geoEncoding === 'geoarrow.linestring'
|
|
30
32
|
};
|
|
31
|
-
const chunks = options
|
|
33
|
+
const chunks = (options === null || options === void 0 ? void 0 : options.chunkIndex) !== undefined && (options === null || options === void 0 ? void 0 : options.chunkIndex) >= 0 ? [geoColumn.data[options === null || options === void 0 ? void 0 : options.chunkIndex]] : geoColumn.data;
|
|
32
34
|
let bounds = [Infinity, Infinity, -Infinity, -Infinity];
|
|
33
|
-
let globalFeatureIdOffset = 0;
|
|
35
|
+
let globalFeatureIdOffset = (options === null || options === void 0 ? void 0 : options.chunkOffset) || 0;
|
|
34
36
|
const binaryGeometries = [];
|
|
35
37
|
chunks.forEach(chunk => {
|
|
36
38
|
const {
|
|
@@ -66,12 +68,12 @@ export function getBinaryGeometriesFromArrow(geoColumn, geoEncoding, options) {
|
|
|
66
68
|
shape: 'binary-feature-collection',
|
|
67
69
|
points: {
|
|
68
70
|
type: 'Point',
|
|
69
|
-
...
|
|
71
|
+
...getBinaryGeometryTemplate(),
|
|
70
72
|
...(featureTypes.point ? binaryContent : {})
|
|
71
73
|
},
|
|
72
74
|
lines: {
|
|
73
75
|
type: 'LineString',
|
|
74
|
-
...
|
|
76
|
+
...getBinaryGeometryTemplate(),
|
|
75
77
|
...(featureTypes.line ? binaryContent : {}),
|
|
76
78
|
pathIndices: {
|
|
77
79
|
value: featureTypes.line ? geomOffset : new Uint16Array(0),
|
|
@@ -80,7 +82,7 @@ export function getBinaryGeometriesFromArrow(geoColumn, geoEncoding, options) {
|
|
|
80
82
|
},
|
|
81
83
|
polygons: {
|
|
82
84
|
type: 'Polygon',
|
|
83
|
-
...
|
|
85
|
+
...getBinaryGeometryTemplate(),
|
|
84
86
|
...(featureTypes.polygon ? binaryContent : {}),
|
|
85
87
|
polygonIndices: {
|
|
86
88
|
value: featureTypes.polygon ? geomOffset : new Uint16Array(0),
|
|
@@ -195,7 +197,7 @@ export function getTriangleIndices(polygonIndices, primitivePolygonIndices, flat
|
|
|
195
197
|
}
|
|
196
198
|
const triangleIndices = earcut(slicedFlatCoords, holeIndices.length > 0 ? holeIndices : undefined, nDim);
|
|
197
199
|
if (triangleIndices.length === 0) {
|
|
198
|
-
throw Error('
|
|
200
|
+
throw Error('earcut failed e.g. invalid polygon');
|
|
199
201
|
}
|
|
200
202
|
for (let j = 0; j < triangleIndices.length; j++) {
|
|
201
203
|
triangles.push(triangleIndices[j] + startIdx);
|
|
@@ -237,8 +239,8 @@ function getBinaryPolygonsFromChunk(chunk, geoEncoding, options) {
|
|
|
237
239
|
const triangles = options !== null && options !== void 0 && options.triangulate ? getTriangleIndices(geometryIndicies, geomOffset, flatCoordinateArray, nDim) : null;
|
|
238
240
|
return {
|
|
239
241
|
featureIds,
|
|
240
|
-
flatCoordinateArray,
|
|
241
242
|
nDim,
|
|
243
|
+
flatCoordinateArray,
|
|
242
244
|
geomOffset,
|
|
243
245
|
geometryIndicies,
|
|
244
246
|
...(options !== null && options !== void 0 && options.triangulate && triangles ? {
|