UNPKG

weatherlayers-gl

Version:

WeatherLayers GL - Weather Visualization Layers for deck.gl

75 lines (66 loc) 2.04 kB
import { Palette } from 'cpt2js'; import * as GeoTIFF from 'geotiff'; type TextureDataArray = GeoTIFF.TypedArray | Uint8ClampedArray; interface TextureData { data: TextureDataArray; width: number; height: number; } type DatetimeISOString = string; type DatetimeISOStringRange = [start: DatetimeISOString, end: DatetimeISOString]; declare enum ImageType { SCALAR = "SCALAR", VECTOR = "VECTOR" } type ImageUnscale = [min: number, max: number] | null; declare enum UnitSystem { METRIC = "METRIC", IMPERIAL = "IMPERIAL", NAUTICAL = "NAUTICAL" } interface UnitFormat { system: UnitSystem; unit: string; scale?: number; offset?: number; decimals?: number; } interface ClientConfig { url?: string; accessToken?: string; dataFormat?: string; unitSystem?: UnitSystem; attributionLinkClass?: string; datetimeInterpolate?: boolean; } interface Dataset { title: string; unitFormat: UnitFormat; attribution: string; datetimeRange: DatetimeISOStringRange; datetimes: DatetimeISOString[]; palette: Palette; } interface DatasetSlice { datetimes: DatetimeISOString[]; } interface DatasetData { image: TextureData; image2: TextureData | null; imageWeight: number; imageType: ImageType; imageUnscale: ImageUnscale; bounds: [number, number, number, number]; } declare class Client { #private; constructor(config: ClientConfig); getConfig(): ClientConfig; setConfig(config: ClientConfig): void; updateConfig(config: Partial<ClientConfig>): void; loadCatalog(config?: ClientConfig): Promise<string[]>; loadDataset(dataset: string, config?: ClientConfig): Promise<Dataset>; loadDatasetSlice(dataset: string, datetimeRange: DatetimeISOStringRange, config?: ClientConfig): Promise<DatasetSlice>; loadDatasetData(dataset: string, datetime: DatetimeISOString, config?: ClientConfig): Promise<DatasetData>; } export { Client, type ClientConfig, type Dataset, type DatasetData, type DatasetSlice };