UNPKG

s2-tools

Version:

A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.

86 lines 3.73 kB
import type { Features, MValue, Properties } from '../geometry'; export * from './csv'; export * from './gbfs'; export * from './geotiff'; export * from './grib2'; export * from './gtfs'; export * from './image'; export * from './json'; export * from './netcdf'; export * from './osm'; export * from './pmtiles'; export * from './protobuf'; export * from './shapefile'; export * from './wkt'; export * from './xml'; export * from './fetch'; export * from './nadgrid'; export * from './tile'; /** Reader interface. Implemented to read data from either a buffer or a filesystem */ export interface Reader { byteLength: number; byteOffset: number; getBigInt64: (byteOffset: number, littleEndian?: boolean) => bigint; getBigUint64: (byteOffset: number, littleEndian?: boolean) => bigint; getFloat32: (byteOffset: number, littleEndian?: boolean) => number; getFloat64: (byteOffset: number, littleEndian?: boolean) => number; getInt16: (byteOffset: number, littleEndian?: boolean) => number; getInt32: (byteOffset: number, littleEndian?: boolean) => number; getInt8: (byteOffset: number) => number; getUint16: (byteOffset: number, littleEndian?: boolean) => number; getUint32: (byteOffset: number, littleEndian?: boolean) => number; getUint8: (byteOffset: number) => number; slice: (begin?: number, end?: number) => DataView; setStringEncoding: (encoding: string) => void; parseString: (byteOffset: number, byteLength: number) => string; getRange: (offset: number, length: number) => Promise<Uint8Array>; } /** Feature iteration interface. Implemented by readers to iterate over features */ export interface FeatureIterator<M = Record<string, unknown>, D extends MValue = MValue, P extends Properties = Properties> { [Symbol.asyncIterator]: () => AsyncGenerator<Features<M, D, P>>; } /** All input types that can be placed into a reader */ export type ReaderInputs = Reader | BufferReader | Buffer | ArrayBufferLike | Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | Int8Array | Int16Array | Int32Array | Float32Array | Float64Array | DataView; /** * Convenience function that ensures the input is a usable reader * @param input - the input data * @returns - a BufferReader */ export declare function toReader(input: ReaderInputs): Reader; /** A buffer reader is an extension of a DataView with some extra methods */ export declare class BufferReader extends DataView<ArrayBufferLike> implements Reader { textDecoder: import("util").TextDecoder; /** * @param buffer - the input buffer * @param byteOffset - offset in the buffer * @param byteLength - length of the buffer */ constructor(buffer: ArrayBufferLike, byteOffset?: number, byteLength?: number); /** * Get a slice of the buffer * @param begin - beginning of the slice * @param end - end of the slice. If not provided, the end of the data is used * @returns - a DataView of the slice */ slice(begin?: number, end?: number): DataView; /** * Set the text decoder's encoding * @param encoding - update the text decoder's encoding */ setStringEncoding(encoding: string): void; /** * Reads a string from the buffer * @param byteOffset - Start of the string * @param byteLength - Length of the string * @returns - The string */ parseString(byteOffset: number, byteLength: number): string; /** * Reads a range from the buffer * @param offset - the offset of the range * @param length - the length of the range * @returns - the ranged buffer */ getRange(offset: number, length: number): Promise<Uint8Array>; } //# sourceMappingURL=index.d.ts.map