@math.gl/geoarrow 5.0.0-alpha.2
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/LICENSE +140 -0
- package/README.md +311 -0
- package/dist/builder.d.ts +90 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +428 -0
- package/dist/builder.js.map +1 -0
- package/dist/codecs.d.ts +10 -0
- package/dist/codecs.d.ts.map +1 -0
- package/dist/codecs.js +122 -0
- package/dist/codecs.js.map +1 -0
- package/dist/index.cjs +1651 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/kernels.d.ts +51 -0
- package/dist/kernels.d.ts.map +1 -0
- package/dist/kernels.js +359 -0
- package/dist/kernels.js.map +1 -0
- package/dist/layout.d.ts +52 -0
- package/dist/layout.d.ts.map +1 -0
- package/dist/layout.js +669 -0
- package/dist/layout.js.map +1 -0
- package/dist/tessellate.d.ts +31 -0
- package/dist/tessellate.d.ts.map +1 -0
- package/dist/tessellate.js +102 -0
- package/dist/tessellate.js.map +1 -0
- package/dist/types.d.ts +113 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +41 -0
- package/dist/types.js.map +1 -0
- package/dist/worker.cjs +73 -0
- package/dist/worker.cjs.map +6 -0
- package/dist/worker.d.ts +11 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +10 -0
- package/dist/worker.js.map +1 -0
- package/package.json +48 -0
- package/src/builder.ts +569 -0
- package/src/codecs.ts +155 -0
- package/src/index.ts +93 -0
- package/src/kernels.ts +463 -0
- package/src/layout.ts +833 -0
- package/src/tessellate.ts +133 -0
- package/src/types.ts +200 -0
- package/src/worker.ts +20 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts", "../src/types.ts", "../src/layout.ts", "../src/builder.ts", "../src/kernels.ts", "../src/codecs.ts", "../src/tessellate.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type { GeoArrowArray, GeoArrowArrayBase, GeoArrowBox, GeoArrowBounds, GeoArrowColumn, GeoArrowCoordinateLayout, GeoArrowCoordinateMapper, GeoArrowDenseUnion, GeoArrowDenseUnionChild, GeoArrowDimension, GeoArrowEncoding, GeoArrowFixedSizeList, GeoArrowGeometryValue, GeoArrowList, GeoArrowNumericArray, GeoArrowOffsets, GeoArrowPrimitive, GeoArrowSerialized, GeoArrowStruct, GeoArrowValidity } from "./types.js";
|
|
2
|
+
export { getGeoArrowDimensionSize, getGeoArrowEncodingForGeometry, getGeoArrowGeometryType } from "./types.js";
|
|
3
|
+
export type { GeoArrowColumnInspection, GeoArrowValidationIssue, GeoArrowValidationResult } from "./layout.js";
|
|
4
|
+
export { getGeoArrowRowCount, getGeoArrowTransferList, getGeoArrowVertexCount, inspectGeoArrowColumn, isGeoArrowValueValid, sliceGeoArrowArray, sliceGeoArrowColumn, validateGeoArrowColumn, visitGeoArrowCoordinates } from "./layout.js";
|
|
5
|
+
export type { GeoArrowBuilderEncoding, GeoArrowBuilderMeasurement, GeoArrowBuilderModeOptions, GeoArrowBuilderOptions, GeoArrowColumnFromRowsOptions, GeoArrowBuilderTarget } from "./builder.js";
|
|
6
|
+
export { allocateGeoArrowBuilderTarget, GeoArrowBuilder, makeGeoArrowColumnFromGeometryRows } from "./builder.js";
|
|
7
|
+
export type { ConvertGeoArrowColumnOptions, GeoArrowResourceLimitOptions, GeoArrowRingOrientation, MapGeoArrowCoordinatesOptions, RewindGeoArrowOptions } from "./kernels.js";
|
|
8
|
+
export { assertGeoArrowResourceLimits, convertGeoArrowColumn, getGeoArrowBounds, interleaveGeoArrowCoordinates, mapGeoArrowCoordinates, mapGeoArrowCoordinatesInto, normalizeGeoArrowUnion, rewindGeoArrow } from "./kernels.js";
|
|
9
|
+
export { decodeGeoArrowWKB, decodeGeoArrowWKT, encodeGeoArrowWKB, encodeGeoArrowWKT } from "./codecs.js";
|
|
10
|
+
export type { GeoArrowTessellation, TessellateGeoArrowPolygonsOptions } from "./tessellate.js";
|
|
11
|
+
export { tessellateGeoArrowPolygons } from "./tessellate.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EACjB,mBAAgB;AACjB,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACxB,mBAAgB;AAEjB,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACzB,oBAAiB;AAClB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACzB,oBAAiB;AAElB,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACtB,qBAAkB;AACnB,OAAO,EACL,6BAA6B,EAC7B,eAAe,EACf,kCAAkC,EACnC,qBAAkB;AAEnB,YAAY,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAC7B,qBAAqB,EACtB,qBAAkB;AACnB,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAC7B,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACf,qBAAkB;AAEnB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,oBAAiB;AAElB,YAAY,EACV,oBAAoB,EACpB,iCAAiC,EAClC,wBAAqB;AACtB,OAAO,EAAC,0BAA0B,EAAC,wBAAqB"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
export { getGeoArrowDimensionSize, getGeoArrowEncodingForGeometry, getGeoArrowGeometryType } from "./types.js";
|
|
5
|
+
export { getGeoArrowRowCount, getGeoArrowTransferList, getGeoArrowVertexCount, inspectGeoArrowColumn, isGeoArrowValueValid, sliceGeoArrowArray, sliceGeoArrowColumn, validateGeoArrowColumn, visitGeoArrowCoordinates } from "./layout.js";
|
|
6
|
+
export { allocateGeoArrowBuilderTarget, GeoArrowBuilder, makeGeoArrowColumnFromGeometryRows } from "./builder.js";
|
|
7
|
+
export { assertGeoArrowResourceLimits, convertGeoArrowColumn, getGeoArrowBounds, interleaveGeoArrowCoordinates, mapGeoArrowCoordinates, mapGeoArrowCoordinatesInto, normalizeGeoArrowUnion, rewindGeoArrow } from "./kernels.js";
|
|
8
|
+
export { decodeGeoArrowWKB, decodeGeoArrowWKT, encodeGeoArrowWKB, encodeGeoArrowWKT } from "./codecs.js";
|
|
9
|
+
export { tessellateGeoArrowPolygons } from "./tessellate.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAwBpC,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACxB,mBAAgB;AAOjB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACzB,oBAAiB;AAUlB,OAAO,EACL,6BAA6B,EAC7B,eAAe,EACf,kCAAkC,EACnC,qBAAkB;AASnB,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAC7B,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACf,qBAAkB;AAEnB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,oBAAiB;AAMlB,OAAO,EAAC,0BAA0B,EAAC,wBAAqB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { GeoArrowBounds, GeoArrowColumn, GeoArrowCoordinateLayout, GeoArrowCoordinateMapper, GeoArrowDimension, GeoArrowEncoding } from "./types.js";
|
|
2
|
+
/** Resource limits applied before potentially expensive materialization or conversion. */
|
|
3
|
+
export type GeoArrowResourceLimitOptions = Readonly<{
|
|
4
|
+
maximumRows?: number;
|
|
5
|
+
maximumCoordinates?: number;
|
|
6
|
+
maximumChunks?: number;
|
|
7
|
+
maximumNestingDepth?: number;
|
|
8
|
+
maximumOutputBytes?: number;
|
|
9
|
+
}>;
|
|
10
|
+
/** Coordinate-map options. */
|
|
11
|
+
export type MapGeoArrowCoordinatesOptions = Readonly<{
|
|
12
|
+
dimension?: GeoArrowDimension;
|
|
13
|
+
coordinateLayout?: GeoArrowCoordinateLayout;
|
|
14
|
+
limits?: GeoArrowResourceLimitOptions;
|
|
15
|
+
}>;
|
|
16
|
+
/** Conversion options for native physical layouts. */
|
|
17
|
+
export type ConvertGeoArrowColumnOptions = Readonly<{
|
|
18
|
+
encoding?: GeoArrowEncoding;
|
|
19
|
+
dimension?: GeoArrowDimension;
|
|
20
|
+
coordinateLayout?: GeoArrowCoordinateLayout;
|
|
21
|
+
limits?: GeoArrowResourceLimitOptions;
|
|
22
|
+
}>;
|
|
23
|
+
/** Ring orientation requested by {@link rewindGeoArrow}. */
|
|
24
|
+
export type GeoArrowRingOrientation = 'clockwise' | 'counter-clockwise';
|
|
25
|
+
/** Rewind options. */
|
|
26
|
+
export type RewindGeoArrowOptions = Readonly<{
|
|
27
|
+
outer?: GeoArrowRingOrientation;
|
|
28
|
+
limits?: GeoArrowResourceLimitOptions;
|
|
29
|
+
}>;
|
|
30
|
+
/** Returns XY bounds, or null when the column contains no finite coordinates. */
|
|
31
|
+
export declare function getGeoArrowBounds(column: GeoArrowColumn): GeoArrowBounds | null;
|
|
32
|
+
/** Maps every coordinate into newly allocated physical buffers while preserving column semantics. */
|
|
33
|
+
export declare function mapGeoArrowCoordinates(column: GeoArrowColumn, mapper: GeoArrowCoordinateMapper, options?: MapGeoArrowCoordinatesOptions): GeoArrowColumn;
|
|
34
|
+
/**
|
|
35
|
+
* Maps coordinates and copies the result into caller-provided destination buffers.
|
|
36
|
+
*
|
|
37
|
+
* The destination must have the same physical topology as the mapped result. Topology, validity,
|
|
38
|
+
* offsets, and metadata in the destination are never replaced.
|
|
39
|
+
*/
|
|
40
|
+
export declare function mapGeoArrowCoordinatesInto(target: GeoArrowColumn, source: GeoArrowColumn, mapper: GeoArrowCoordinateMapper, options?: Omit<MapGeoArrowCoordinatesOptions, 'coordinateLayout'>): GeoArrowColumn;
|
|
41
|
+
/** Converts separated native coordinates to interleaved tuples. Identity is returned unchanged. */
|
|
42
|
+
export declare function interleaveGeoArrowCoordinates(column: GeoArrowColumn): GeoArrowColumn;
|
|
43
|
+
/** Normalizes dense-union children by ascending type ID without changing dispatch buffers. */
|
|
44
|
+
export declare function normalizeGeoArrowUnion(column: GeoArrowColumn): GeoArrowColumn;
|
|
45
|
+
/** Converts between concrete/mixed encodings, dimensions, and coordinate layouts. */
|
|
46
|
+
export declare function convertGeoArrowColumn(column: GeoArrowColumn, options?: ConvertGeoArrowColumnOptions): GeoArrowColumn;
|
|
47
|
+
/** Rewinds polygon rings without changing non-polygon rows. */
|
|
48
|
+
export declare function rewindGeoArrow(column: GeoArrowColumn, options?: RewindGeoArrowOptions): GeoArrowColumn;
|
|
49
|
+
/** Throws when a column exceeds configured work or output limits. */
|
|
50
|
+
export declare function assertGeoArrowResourceLimits(column: GeoArrowColumn, options?: GeoArrowResourceLimitOptions): void;
|
|
51
|
+
//# sourceMappingURL=kernels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernels.d.ts","sourceRoot":"","sources":["../src/kernels.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAEjB,mBAAgB;AAWjB,0FAA0F;AAC1F,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACnD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,MAAM,CAAC,EAAE,4BAA4B,CAAC;CACvC,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;IAClD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,MAAM,CAAC,EAAE,4BAA4B,CAAC;CACvC,CAAC,CAAC;AAEH,4DAA4D;AAC5D,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,mBAAmB,CAAC;AAExE,sBAAsB;AACtB,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAChC,MAAM,CAAC,EAAE,4BAA4B,CAAC;CACvC,CAAC,CAAC;AAEH,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,GAAG,IAAI,CAkB/E;AAwCD,qGAAqG;AACrG,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,6BAAkC,GAC1C,cAAc,CAgBhB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,IAAI,CAAC,6BAA6B,EAAE,kBAAkB,CAAM,GACpE,cAAc,CAmBhB;AAED,mGAAmG;AACnG,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAMpF;AAED,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAY7E;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,4BAAiC,GACzC,cAAc,CA2BhB;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,qBAA0B,GAClC,cAAc,CAgBhB;AAED,qEAAqE;AACrE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,4BAAiC,GACzC,IAAI,CAwBN"}
|
package/dist/kernels.js
ADDED
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { getGeoArrowDimensionSize } from "./types.js";
|
|
5
|
+
import { makeGeoArrowColumnFromGeometryRows } from "./builder.js";
|
|
6
|
+
import { getGeoArrowRowCount, getGeoArrowVertexCount, isGeoArrowValueValid, materializeGeoArrowRows, visitGeoArrowCoordinates } from "./layout.js";
|
|
7
|
+
/** Returns XY bounds, or null when the column contains no finite coordinates. */
|
|
8
|
+
export function getGeoArrowBounds(column) {
|
|
9
|
+
if (column.encoding === 'geoarrow.box')
|
|
10
|
+
return getGeoArrowBoxBounds(column);
|
|
11
|
+
let minimumX = Number.POSITIVE_INFINITY;
|
|
12
|
+
let minimumY = Number.POSITIVE_INFINITY;
|
|
13
|
+
let maximumX = Number.NEGATIVE_INFINITY;
|
|
14
|
+
let maximumY = Number.NEGATIVE_INFINITY;
|
|
15
|
+
visitGeoArrowCoordinates(column, coordinate => {
|
|
16
|
+
const x = coordinate[0];
|
|
17
|
+
const y = coordinate[1];
|
|
18
|
+
if (Number.isFinite(x) && Number.isFinite(y)) {
|
|
19
|
+
minimumX = Math.min(minimumX, x);
|
|
20
|
+
minimumY = Math.min(minimumY, y);
|
|
21
|
+
maximumX = Math.max(maximumX, x);
|
|
22
|
+
maximumY = Math.max(maximumY, y);
|
|
23
|
+
}
|
|
24
|
+
return coordinate;
|
|
25
|
+
});
|
|
26
|
+
return Number.isFinite(minimumX) ? [minimumX, minimumY, maximumX, maximumY] : null;
|
|
27
|
+
}
|
|
28
|
+
function getGeoArrowBoxBounds(column) {
|
|
29
|
+
let minimumX = Number.POSITIVE_INFINITY;
|
|
30
|
+
let minimumY = Number.POSITIVE_INFINITY;
|
|
31
|
+
let maximumX = Number.NEGATIVE_INFINITY;
|
|
32
|
+
let maximumY = Number.NEGATIVE_INFINITY;
|
|
33
|
+
for (const chunk of column.chunks) {
|
|
34
|
+
if (chunk.kind !== 'struct')
|
|
35
|
+
continue;
|
|
36
|
+
const xmin = chunk.children['xmin'];
|
|
37
|
+
const ymin = chunk.children['ymin'];
|
|
38
|
+
const xmax = chunk.children['xmax'];
|
|
39
|
+
const ymax = chunk.children['ymax'];
|
|
40
|
+
if (!xmin || !ymin || !xmax || !ymax)
|
|
41
|
+
continue;
|
|
42
|
+
for (let rowIndex = 0; rowIndex < chunk.length; rowIndex++) {
|
|
43
|
+
if (!isGeoArrowValueValid(chunk.validity, rowIndex))
|
|
44
|
+
continue;
|
|
45
|
+
const structIndex = (chunk.offset || 0) + rowIndex;
|
|
46
|
+
const bounds = [
|
|
47
|
+
readPrimitiveNumber(xmin, structIndex),
|
|
48
|
+
readPrimitiveNumber(ymin, structIndex),
|
|
49
|
+
readPrimitiveNumber(xmax, structIndex),
|
|
50
|
+
readPrimitiveNumber(ymax, structIndex)
|
|
51
|
+
];
|
|
52
|
+
if (bounds.every(Number.isFinite)) {
|
|
53
|
+
minimumX = Math.min(minimumX, bounds[0]);
|
|
54
|
+
minimumY = Math.min(minimumY, bounds[1]);
|
|
55
|
+
maximumX = Math.max(maximumX, bounds[2]);
|
|
56
|
+
maximumY = Math.max(maximumY, bounds[3]);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return Number.isFinite(minimumX) ? [minimumX, minimumY, maximumX, maximumY] : null;
|
|
61
|
+
}
|
|
62
|
+
function readPrimitiveNumber(array, index) {
|
|
63
|
+
if (array.kind !== 'primitive' || !isGeoArrowValueValid(array.validity, index))
|
|
64
|
+
return Number.NaN;
|
|
65
|
+
const valueIndex = (array.offset || 0) + index * (array.stride || 1);
|
|
66
|
+
return Number(array.values[valueIndex]);
|
|
67
|
+
}
|
|
68
|
+
/** Maps every coordinate into newly allocated physical buffers while preserving column semantics. */
|
|
69
|
+
export function mapGeoArrowCoordinates(column, mapper, options = {}) {
|
|
70
|
+
assertGeoArrowResourceLimits(column, options.limits);
|
|
71
|
+
const rows = materializeGeoArrowRows(column);
|
|
72
|
+
let rowIndex = 0;
|
|
73
|
+
const mappedRows = rows.map(row => {
|
|
74
|
+
const mapped = row
|
|
75
|
+
? mapGeometryCoordinates(row, coordinate => mapper(coordinate, rowIndex))
|
|
76
|
+
: null;
|
|
77
|
+
rowIndex++;
|
|
78
|
+
return mapped;
|
|
79
|
+
});
|
|
80
|
+
const result = makeGeoArrowColumnFromGeometryRows(mappedRows, {
|
|
81
|
+
dimension: options.dimension || column.dimension,
|
|
82
|
+
coordinateLayout: options.coordinateLayout || column.coordinateLayout || 'interleaved'
|
|
83
|
+
});
|
|
84
|
+
return copyColumnMetadata(column, result);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Maps coordinates and copies the result into caller-provided destination buffers.
|
|
88
|
+
*
|
|
89
|
+
* The destination must have the same physical topology as the mapped result. Topology, validity,
|
|
90
|
+
* offsets, and metadata in the destination are never replaced.
|
|
91
|
+
*/
|
|
92
|
+
export function mapGeoArrowCoordinatesInto(target, source, mapper, options = {}) {
|
|
93
|
+
const mapped = mapGeoArrowCoordinates(source, mapper, {
|
|
94
|
+
...options,
|
|
95
|
+
coordinateLayout: target.coordinateLayout || undefined
|
|
96
|
+
});
|
|
97
|
+
const sourceLeaves = collectCoordinateLeaves(mapped);
|
|
98
|
+
const targetLeaves = collectCoordinateLeaves(target);
|
|
99
|
+
if (sourceLeaves.length !== targetLeaves.length) {
|
|
100
|
+
throw new Error('GeoArrow destination has different coordinate topology');
|
|
101
|
+
}
|
|
102
|
+
for (let index = 0; index < sourceLeaves.length; index++) {
|
|
103
|
+
const sourceLeaf = sourceLeaves[index];
|
|
104
|
+
const targetLeaf = targetLeaves[index];
|
|
105
|
+
if (sourceLeaf.length !== targetLeaf.length) {
|
|
106
|
+
throw new Error('GeoArrow destination coordinate buffer has a different length');
|
|
107
|
+
}
|
|
108
|
+
targetLeaf.set(sourceLeaf);
|
|
109
|
+
}
|
|
110
|
+
return target;
|
|
111
|
+
}
|
|
112
|
+
/** Converts separated native coordinates to interleaved tuples. Identity is returned unchanged. */
|
|
113
|
+
export function interleaveGeoArrowCoordinates(column) {
|
|
114
|
+
if (column.coordinateLayout === 'interleaved')
|
|
115
|
+
return column;
|
|
116
|
+
if (!column.coordinateLayout)
|
|
117
|
+
return column;
|
|
118
|
+
return mapGeoArrowCoordinates(column, coordinate => coordinate, {
|
|
119
|
+
coordinateLayout: 'interleaved'
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/** Normalizes dense-union children by ascending type ID without changing dispatch buffers. */
|
|
123
|
+
export function normalizeGeoArrowUnion(column) {
|
|
124
|
+
if (column.encoding !== 'geoarrow.geometry')
|
|
125
|
+
return column;
|
|
126
|
+
let changed = false;
|
|
127
|
+
const chunks = column.chunks.map(chunk => {
|
|
128
|
+
if (chunk.kind !== 'dense-union')
|
|
129
|
+
return chunk;
|
|
130
|
+
const children = [...chunk.children].sort((left, right) => left.typeId - right.typeId);
|
|
131
|
+
changed || (changed = children.some((child, index) => child !== chunk.children[index]));
|
|
132
|
+
return children.every((child, index) => child === chunk.children[index])
|
|
133
|
+
? chunk
|
|
134
|
+
: { ...chunk, children };
|
|
135
|
+
});
|
|
136
|
+
return changed ? { ...column, chunks } : column;
|
|
137
|
+
}
|
|
138
|
+
/** Converts between concrete/mixed encodings, dimensions, and coordinate layouts. */
|
|
139
|
+
export function convertGeoArrowColumn(column, options = {}) {
|
|
140
|
+
const encoding = options.encoding || column.encoding;
|
|
141
|
+
const dimension = options.dimension || column.dimension;
|
|
142
|
+
const coordinateLayout = options.coordinateLayout || column.coordinateLayout;
|
|
143
|
+
if (encoding === column.encoding &&
|
|
144
|
+
dimension === column.dimension &&
|
|
145
|
+
coordinateLayout === column.coordinateLayout) {
|
|
146
|
+
return column;
|
|
147
|
+
}
|
|
148
|
+
if (encoding === 'geoarrow.wkb' || encoding === 'geoarrow.wkt') {
|
|
149
|
+
throw new Error('Use encodeGeoArrowWKB or encodeGeoArrowWKT for serialized output');
|
|
150
|
+
}
|
|
151
|
+
assertGeoArrowResourceLimits(column, options.limits);
|
|
152
|
+
const rows = materializeGeoArrowRows(column).map(row => row ? convertGeometryFamily(row, encoding, column.dimension, dimension) : null);
|
|
153
|
+
const result = makeGeoArrowColumnFromGeometryRows(rows, {
|
|
154
|
+
encoding: encoding === 'geoarrow.geometry' ? encoding : undefined,
|
|
155
|
+
dimension,
|
|
156
|
+
coordinateLayout: coordinateLayout || 'interleaved'
|
|
157
|
+
});
|
|
158
|
+
if (result.encoding !== encoding && encoding !== 'geoarrow.geometry') {
|
|
159
|
+
throw new Error(`Rows cannot be represented as ${encoding}`);
|
|
160
|
+
}
|
|
161
|
+
return copyColumnMetadata(column, result);
|
|
162
|
+
}
|
|
163
|
+
/** Rewinds polygon rings without changing non-polygon rows. */
|
|
164
|
+
export function rewindGeoArrow(column, options = {}) {
|
|
165
|
+
assertGeoArrowResourceLimits(column, options.limits);
|
|
166
|
+
const outerClockwise = (options.outer || 'counter-clockwise') === 'clockwise';
|
|
167
|
+
let changed = false;
|
|
168
|
+
const rows = materializeGeoArrowRows(column).map(row => {
|
|
169
|
+
if (!row)
|
|
170
|
+
return null;
|
|
171
|
+
const rewound = rewindGeometry(row, outerClockwise);
|
|
172
|
+
changed || (changed = rewound !== row);
|
|
173
|
+
return rewound;
|
|
174
|
+
});
|
|
175
|
+
if (!changed)
|
|
176
|
+
return column;
|
|
177
|
+
const result = makeGeoArrowColumnFromGeometryRows(rows, {
|
|
178
|
+
dimension: column.dimension,
|
|
179
|
+
coordinateLayout: column.coordinateLayout || 'interleaved'
|
|
180
|
+
});
|
|
181
|
+
return copyColumnMetadata(column, result);
|
|
182
|
+
}
|
|
183
|
+
/** Throws when a column exceeds configured work or output limits. */
|
|
184
|
+
export function assertGeoArrowResourceLimits(column, options = {}) {
|
|
185
|
+
const rows = getGeoArrowRowCount(column);
|
|
186
|
+
if (rows > (options.maximumRows ?? Number.POSITIVE_INFINITY)) {
|
|
187
|
+
throw new Error(`GeoArrow row count ${rows} exceeds maximumRows`);
|
|
188
|
+
}
|
|
189
|
+
if (column.chunks.length > (options.maximumChunks ?? Number.POSITIVE_INFINITY)) {
|
|
190
|
+
throw new Error(`GeoArrow chunk count ${column.chunks.length} exceeds maximumChunks`);
|
|
191
|
+
}
|
|
192
|
+
const coordinates = getGeoArrowVertexCount(column);
|
|
193
|
+
if (coordinates > (options.maximumCoordinates ?? Number.POSITIVE_INFINITY)) {
|
|
194
|
+
throw new Error(`GeoArrow coordinate count ${coordinates} exceeds maximumCoordinates`);
|
|
195
|
+
}
|
|
196
|
+
if (options.maximumNestingDepth !== undefined) {
|
|
197
|
+
const depth = Math.max(0, ...column.chunks.map(getArrayDepth));
|
|
198
|
+
if (depth > options.maximumNestingDepth) {
|
|
199
|
+
throw new Error(`GeoArrow nesting depth ${depth} exceeds maximumNestingDepth`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (options.maximumOutputBytes !== undefined) {
|
|
203
|
+
const estimatedBytes = coordinates * getGeoArrowDimensionSize(column.dimension) * 8;
|
|
204
|
+
if (estimatedBytes > options.maximumOutputBytes) {
|
|
205
|
+
throw new Error(`GeoArrow estimated output ${estimatedBytes} exceeds maximumOutputBytes`);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
function mapGeometryCoordinates(geometry, mapper) {
|
|
210
|
+
if (geometry.type === 'GeometryCollection') {
|
|
211
|
+
return {
|
|
212
|
+
...geometry,
|
|
213
|
+
geometries: geometry.geometries.map(child => mapGeometryCoordinates(child, mapper))
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
...geometry,
|
|
218
|
+
coordinates: mapCoordinateNesting(geometry.coordinates, mapper)
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function mapCoordinateNesting(value, mapper) {
|
|
222
|
+
if (value.length === 0)
|
|
223
|
+
return [];
|
|
224
|
+
if (typeof value[0] === 'number')
|
|
225
|
+
return [...mapper(value)];
|
|
226
|
+
return value.map(child => mapCoordinateNesting(child, mapper));
|
|
227
|
+
}
|
|
228
|
+
function rewindGeometry(geometry, outerClockwise) {
|
|
229
|
+
if (geometry.type === 'GeometryCollection') {
|
|
230
|
+
const geometries = geometry.geometries.map(child => rewindGeometry(child, outerClockwise));
|
|
231
|
+
return geometries.some((child, index) => child !== geometry.geometries[index])
|
|
232
|
+
? { ...geometry, geometries }
|
|
233
|
+
: geometry;
|
|
234
|
+
}
|
|
235
|
+
if (geometry.type === 'Polygon') {
|
|
236
|
+
const coordinates = rewindPolygon(geometry.coordinates, outerClockwise);
|
|
237
|
+
return coordinates === geometry.coordinates ? geometry : { ...geometry, coordinates };
|
|
238
|
+
}
|
|
239
|
+
if (geometry.type === 'MultiPolygon') {
|
|
240
|
+
const coordinates = geometry.coordinates.map(polygon => rewindPolygon(polygon, outerClockwise));
|
|
241
|
+
return coordinates.every((polygon, index) => polygon === geometry.coordinates[index])
|
|
242
|
+
? geometry
|
|
243
|
+
: { ...geometry, coordinates };
|
|
244
|
+
}
|
|
245
|
+
return geometry;
|
|
246
|
+
}
|
|
247
|
+
function rewindPolygon(rings, outerClockwise) {
|
|
248
|
+
let changed = false;
|
|
249
|
+
const result = rings.map((ring, ringIndex) => {
|
|
250
|
+
const shouldBeClockwise = ringIndex === 0 ? outerClockwise : !outerClockwise;
|
|
251
|
+
const isClockwise = getRingSignedArea(ring) < 0;
|
|
252
|
+
if (isClockwise === shouldBeClockwise)
|
|
253
|
+
return ring;
|
|
254
|
+
changed = true;
|
|
255
|
+
return [...ring].reverse();
|
|
256
|
+
});
|
|
257
|
+
return changed ? result : rings;
|
|
258
|
+
}
|
|
259
|
+
function getRingSignedArea(ring) {
|
|
260
|
+
let area = 0;
|
|
261
|
+
for (let index = 0; index < ring.length; index++) {
|
|
262
|
+
const current = ring[index];
|
|
263
|
+
const next = ring[(index + 1) % ring.length];
|
|
264
|
+
area += current[0] * next[1] - next[0] * current[1];
|
|
265
|
+
}
|
|
266
|
+
return area / 2;
|
|
267
|
+
}
|
|
268
|
+
function convertGeometryFamily(geometry, encoding, sourceDimension, targetDimension) {
|
|
269
|
+
if (geometry.type === 'GeometryCollection') {
|
|
270
|
+
const geometries = geometry.geometries.map(child => convertGeometryFamily(child, 'geoarrow.geometry', sourceDimension, targetDimension));
|
|
271
|
+
if (encoding === 'geoarrow.geometry' || encoding === 'geoarrow.geometrycollection') {
|
|
272
|
+
return { ...geometry, geometries };
|
|
273
|
+
}
|
|
274
|
+
throw new Error(`${geometry.type} cannot be represented as ${encoding}`);
|
|
275
|
+
}
|
|
276
|
+
const coordinates = mapCoordinateNesting(geometry.coordinates, coordinate => resizeCoordinate(coordinate, sourceDimension, targetDimension));
|
|
277
|
+
if (encoding === 'geoarrow.geometry') {
|
|
278
|
+
return { ...geometry, coordinates };
|
|
279
|
+
}
|
|
280
|
+
const target = encoding.replace('geoarrow.', '');
|
|
281
|
+
if (geometry.type.toLowerCase() !== target) {
|
|
282
|
+
throw new Error(`${geometry.type} cannot be represented as ${encoding}`);
|
|
283
|
+
}
|
|
284
|
+
return { ...geometry, coordinates };
|
|
285
|
+
}
|
|
286
|
+
function resizeCoordinate(coordinate, sourceDimension, targetDimension) {
|
|
287
|
+
const sourceNames = getDimensionNames(sourceDimension);
|
|
288
|
+
const targetNames = getDimensionNames(targetDimension);
|
|
289
|
+
return targetNames.map(name => {
|
|
290
|
+
const sourceIndex = sourceNames.indexOf(name);
|
|
291
|
+
return sourceIndex >= 0 ? (coordinate[sourceIndex] ?? 0) : 0;
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
function getDimensionNames(dimension) {
|
|
295
|
+
switch (dimension) {
|
|
296
|
+
case 'xy':
|
|
297
|
+
return ['x', 'y'];
|
|
298
|
+
case 'xyz':
|
|
299
|
+
return ['x', 'y', 'z'];
|
|
300
|
+
case 'xym':
|
|
301
|
+
return ['x', 'y', 'm'];
|
|
302
|
+
case 'xyzm':
|
|
303
|
+
return ['x', 'y', 'z', 'm'];
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
function copyColumnMetadata(source, target) {
|
|
307
|
+
return {
|
|
308
|
+
...target,
|
|
309
|
+
spatialReference: source.spatialReference,
|
|
310
|
+
edges: source.edges,
|
|
311
|
+
metadata: source.metadata
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
function collectCoordinateLeaves(column) {
|
|
315
|
+
const leaves = [];
|
|
316
|
+
for (const chunk of column.chunks)
|
|
317
|
+
collectArrayCoordinateLeaves(chunk, leaves);
|
|
318
|
+
return leaves;
|
|
319
|
+
}
|
|
320
|
+
function collectArrayCoordinateLeaves(array, leaves) {
|
|
321
|
+
switch (array.kind) {
|
|
322
|
+
case 'primitive':
|
|
323
|
+
if (array.values instanceof Float32Array || array.values instanceof Float64Array) {
|
|
324
|
+
leaves.push(array.values);
|
|
325
|
+
}
|
|
326
|
+
break;
|
|
327
|
+
case 'fixed-size-list':
|
|
328
|
+
case 'list':
|
|
329
|
+
collectArrayCoordinateLeaves(array.child, leaves);
|
|
330
|
+
break;
|
|
331
|
+
case 'struct':
|
|
332
|
+
for (const name of ['x', 'y', 'z', 'm']) {
|
|
333
|
+
const child = array.children[name];
|
|
334
|
+
if (child)
|
|
335
|
+
collectArrayCoordinateLeaves(child, leaves);
|
|
336
|
+
}
|
|
337
|
+
break;
|
|
338
|
+
case 'dense-union':
|
|
339
|
+
for (const child of array.children)
|
|
340
|
+
collectArrayCoordinateLeaves(child.data, leaves);
|
|
341
|
+
break;
|
|
342
|
+
default:
|
|
343
|
+
break;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
function getArrayDepth(array) {
|
|
347
|
+
switch (array.kind) {
|
|
348
|
+
case 'list':
|
|
349
|
+
case 'fixed-size-list':
|
|
350
|
+
return 1 + getArrayDepth(array.child);
|
|
351
|
+
case 'struct':
|
|
352
|
+
return 1 + Math.max(0, ...Object.values(array.children).map(getArrayDepth));
|
|
353
|
+
case 'dense-union':
|
|
354
|
+
return 1 + Math.max(0, ...array.children.map(child => getArrayDepth(child.data)));
|
|
355
|
+
default:
|
|
356
|
+
return 1;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
//# sourceMappingURL=kernels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernels.js","sourceRoot":"","sources":["../src/kernels.ts"],"names":[],"mappings":"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"}
|
package/dist/layout.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { GeoArrowArray, GeoArrowColumn, GeoArrowCoordinateMapper, GeoArrowEncoding, GeoArrowGeometryValue, GeoArrowList, GeoArrowOffsets, GeoArrowValidity } from "./types.js";
|
|
2
|
+
/** Stable validation diagnostic for a physical GeoArrow descriptor. */
|
|
3
|
+
export type GeoArrowValidationIssue = Readonly<{
|
|
4
|
+
code: 'invalid-length' | 'invalid-validity' | 'invalid-offset' | 'invalid-stride' | 'invalid-child' | 'invalid-union' | 'invalid-layout' | 'unsafe-offset';
|
|
5
|
+
path: string;
|
|
6
|
+
message: string;
|
|
7
|
+
}>;
|
|
8
|
+
/** Validation result for a physical GeoArrow descriptor. */
|
|
9
|
+
export type GeoArrowValidationResult = Readonly<{
|
|
10
|
+
valid: boolean;
|
|
11
|
+
issues: readonly GeoArrowValidationIssue[];
|
|
12
|
+
}>;
|
|
13
|
+
/** Value-independent and inexpensive facts about a GeoArrow column. */
|
|
14
|
+
export type GeoArrowColumnInspection = Readonly<{
|
|
15
|
+
encoding: GeoArrowEncoding;
|
|
16
|
+
rowCount: number;
|
|
17
|
+
chunkCount: number;
|
|
18
|
+
nullCount: number;
|
|
19
|
+
coordinateCount: number;
|
|
20
|
+
storageKinds: readonly GeoArrowArray['kind'][];
|
|
21
|
+
valid: boolean;
|
|
22
|
+
issues: readonly GeoArrowValidationIssue[];
|
|
23
|
+
}>;
|
|
24
|
+
/** Returns whether one logical value is valid at a nesting level. */
|
|
25
|
+
export declare function isGeoArrowValueValid(validity: GeoArrowValidity | undefined, index: number): boolean;
|
|
26
|
+
/** Returns the total number of logical rows across chunks. */
|
|
27
|
+
export declare function getGeoArrowRowCount(column: GeoArrowColumn): number;
|
|
28
|
+
/** Visits coordinates without materializing row geometry objects. */
|
|
29
|
+
export declare function visitGeoArrowCoordinates(column: GeoArrowColumn, visitor: GeoArrowCoordinateMapper): void;
|
|
30
|
+
/** Returns a zero-copy logical slice of a column, preserving chunk boundaries. */
|
|
31
|
+
export declare function sliceGeoArrowColumn(column: GeoArrowColumn, begin?: number, end?: number): GeoArrowColumn;
|
|
32
|
+
/** Returns a zero-copy logical slice of one physical array. */
|
|
33
|
+
export declare function sliceGeoArrowArray(array: GeoArrowArray, begin: number, end: number): GeoArrowArray;
|
|
34
|
+
/** Validates physical bounds, list offsets, union dispatch, and declared coordinate layout. */
|
|
35
|
+
export declare function validateGeoArrowColumn(column: GeoArrowColumn): GeoArrowValidationResult;
|
|
36
|
+
/** Inspects a column without decoding serialized geometry or creating row objects. */
|
|
37
|
+
export declare function inspectGeoArrowColumn(column: GeoArrowColumn): GeoArrowColumnInspection;
|
|
38
|
+
/** Counts coordinate tuples without materializing geometry objects. */
|
|
39
|
+
export declare function getGeoArrowVertexCount(column: GeoArrowColumn): number;
|
|
40
|
+
/** Collects unique transferable ArrayBuffers borrowed by a column. */
|
|
41
|
+
export declare function getGeoArrowTransferList(column: GeoArrowColumn): ArrayBuffer[];
|
|
42
|
+
/** Materializes column rows for codecs and structural algorithms. */
|
|
43
|
+
export declare function materializeGeoArrowRows(column: GeoArrowColumn): Array<GeoArrowGeometryValue | null>;
|
|
44
|
+
/** Materializes one row from a physical array. */
|
|
45
|
+
export declare function materializeGeometryRow(array: GeoArrowArray, rowIndex: number, encoding: GeoArrowEncoding): GeoArrowGeometryValue | null;
|
|
46
|
+
/** Returns a safe numeric offset. */
|
|
47
|
+
export declare function getGeoArrowOffset(offsets: GeoArrowOffsets, index: number): number;
|
|
48
|
+
/** Returns the child range for one list row. */
|
|
49
|
+
export declare function getListRange(list: GeoArrowList, rowIndex: number): [number, number];
|
|
50
|
+
/** Returns a concrete encoding for a geometry value. */
|
|
51
|
+
export declare function getEncodingForGeometryValue(geometry: GeoArrowGeometryValue): GeoArrowEncoding;
|
|
52
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|