UNPKG

flatgeobuf

Version:

A performant binary encoding for geographic data

34 lines (33 loc) 1.41 kB
import type * as flatbuffers from 'flatbuffers'; import type { GeometryLayout } from 'ol/geom/Geometry.js'; import { Geometry } from '../flat-geobuf/geometry.js'; import { GeometryType } from '../flat-geobuf/geometry-type.js'; export interface IParsedGeometry { xy: number[]; z?: number[]; m?: number[]; ends: number[]; parts: IParsedGeometry[]; type: GeometryType; } export interface ISimpleGeometry { getFlatCoordinates?(): number[]; getType(): string; getLayout?: () => GeometryLayout; } export interface IPolygon extends ISimpleGeometry { getEnds(): number[]; } export interface IMultiLineString extends ISimpleGeometry { getEnds(): number[]; } export interface IMultiPolygon extends ISimpleGeometry { getEndss(): number[][]; getPolygons(): IPolygon[]; } export type ICreateGeometry = (geometry: Geometry | null, type: GeometryType) => ISimpleGeometry | undefined; export declare function buildGeometry(builder: flatbuffers.Builder, parsedGeometry: IParsedGeometry): number; export declare function flat(a: number[] | number[][], xy: number[], z: number[]): number[] | undefined; export declare function parseGeometry(geometry: ISimpleGeometry, headerGeomType: GeometryType): IParsedGeometry; export declare function pairFlatCoordinates(xy: Float64Array, z?: Float64Array): number[][]; export declare function toGeometryType(name?: string): GeometryType;