@loaders.gl/loader-utils
Version:
Framework-independent loaders for 3D graphics formats
59 lines • 2.24 kB
TypeScript
import type { DataSourceProps } from "./data-source.js";
import { DataSource } from "./data-source.js";
import { ImageType } from "./utils/image-type.js";
export type ImageSourceProps = DataSourceProps;
/**
* ImageSource - data sources that allow images to be queried by (geospatial) extents
*/
export declare abstract class ImageSource<PropsT extends ImageSourceProps = ImageSourceProps> extends DataSource<PropsT> {
static type: string;
static testURL: (url: string) => boolean;
abstract getMetadata(): Promise<ImageSourceMetadata>;
abstract getImage(parameters: GetImageParameters): Promise<ImageType>;
}
/**
* Normalized capabilities of an Image service
* @example
* The WMSSourceLoader will normalize the response to the WMS `GetCapabilities`
* data structure extracted from WMS XML response into an ImageSourceMetadata.
*/
export type ImageSourceMetadata = {
name: string;
title?: string;
abstract?: string;
keywords: string[];
layers: ImageSourceLayer[];
};
/** Description of one data layer in the image source */
export type ImageSourceLayer = {
/** Name of this layer */
name?: string;
/** Human readable title of this layer */
title?: string;
/** Coordinate systems supported by this layer */
crs?: string[];
/** layer limits in unspecified CRS:84-like lng/lat, for quick access w/o CRS calculations. */
boundingBox?: [min: [x: number, y: number], max: [x: number, y: number]];
/** Sub layers of this layer */
layers?: ImageSourceLayer[];
};
/** Generic parameters for requesting an image from an image source */
export type GetImageParameters = {
/** Layers to render */
layers: string | string[];
/** Styling */
styles?: unknown;
/** bounding box of the requested map image */
boundingBox: [min: [x: number, y: number], max: [x: number, y: number]];
/** @deprecated use boundingBox */
bbox?: [number, number, number, number];
/** pixel width of returned image */
width: number;
/** pixels */
height: number;
/** crs for the image (not the bounding box) */
crs?: string;
/** requested format for the return image */
format?: 'image/png';
};
//# sourceMappingURL=image-source.d.ts.map