@loaders.gl/schema
Version:
Table format APIs for JSON, CSV, etc...
57 lines • 2.02 kB
TypeScript
import type { TypedArray } from "./types.js";
export type BinaryAttribute = {
value: TypedArray;
size: number;
};
export type BinaryGeometryType = 'Point' | 'LineString' | 'Polygon';
type NumericProps = {
[key: string]: BinaryAttribute;
};
type Properties = object[];
/**
* Represent a single Geometry, similar to a GeoJSON Geometry
*/
export type BinaryGeometry = BinaryPointGeometry | BinaryLineGeometry | BinaryPolygonGeometry;
/** Binary point geometry: an array of positions */
export type BinaryPointGeometry = {
type: 'Point';
positions: BinaryAttribute;
};
/** Binary line geometry, array of positions and indices to the start of each line */
export type BinaryLineGeometry = {
type: 'LineString';
positions: BinaryAttribute;
pathIndices: BinaryAttribute;
};
/** Binary polygon geometry, an array of positions to each primitite polygon and polygon */
export type BinaryPolygonGeometry = {
type: 'Polygon';
positions: BinaryAttribute;
polygonIndices: BinaryAttribute;
primitivePolygonIndices: BinaryAttribute;
triangles?: BinaryAttribute;
};
/** Common properties for binary geometries */
export type BinaryProperties = {
featureIds: BinaryAttribute;
globalFeatureIds: BinaryAttribute;
numericProps: NumericProps;
properties: Properties;
fields?: Properties;
};
/** Binary feature + binary attributes */
export type BinaryFeature = BinaryPointFeature | BinaryLineFeature | BinaryPolygonFeature;
export type BinaryPointFeature = BinaryPointGeometry & BinaryProperties;
export type BinaryLineFeature = BinaryLineGeometry & BinaryProperties;
export type BinaryPolygonFeature = BinaryPolygonGeometry & BinaryProperties;
/**
* Represent a collection of Features, similar to a GeoJSON FeatureCollection
*/
export type BinaryFeatureCollection = {
shape: 'binary-feature-collection';
points?: BinaryPointFeature;
lines?: BinaryLineFeature;
polygons?: BinaryPolygonFeature;
};
export {};
//# sourceMappingURL=binary-geometries.d.ts.map