UNPKG

flatgeobuf

Version:

A performant binary encoding for geographic data

44 lines (43 loc) 1.84 kB
import { Feature } from './flat-geobuf/feature.js'; import type { HeaderMeta } from './header-meta.js'; import { type Rect } from './packedrtree.js'; interface FeatureWithId { id: number; feature: Feature; } export declare class HttpReader { private headerClient; header: HeaderMeta; private headerLength; private indexLength; private nocache; private headers; constructor(headerClient: BufferedHttpRangeClient, header: HeaderMeta, headerLength: number, indexLength: number, nocache: boolean, headers?: HeadersInit); static open(url: string, nocache: boolean, headers?: HeadersInit): Promise<HttpReader>; selectBbox(rect: Rect): AsyncGenerator<FeatureWithId, void, unknown>; lengthBeforeTree(): number; lengthBeforeFeatures(): number; buildFeatureClient(nocache: boolean): BufferedHttpRangeClient; readFeatureBatch(batch: [number, number, number][], nocache: boolean): AsyncGenerator<FeatureWithId, void, unknown>; readFeature(featureClient: BufferedHttpRangeClient, featureOffset: number, minFeatureReqLength: number): Promise<Feature>; } declare class BufferedHttpRangeClient { httpClient: HttpRangeClient; bytesEverUsed: number; bytesEverFetched: number; private buffer; private head; constructor(source: string | HttpRangeClient, nocache: boolean, headers?: HeadersInit); getRange(start: number, length: number, minReqLength: number, purpose: string): Promise<ArrayBuffer>; logUsage(purpose: string): void; } declare class HttpRangeClient { url: string; nocache: boolean; headers: HeadersInit; requestsEverMade: number; bytesEverRequested: number; constructor(url: string, nocache: boolean, headers?: HeadersInit); getRange(begin: number, length: number, purpose: string): Promise<ArrayBuffer>; } export {};