kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
72 lines (71 loc) • 2.81 kB
TypeScript
import { Tile3DLayer as DeckTile3DLayer } from '@deck.gl/geo-layers';
import { UpdateParameters } from '@deck.gl/core';
import { Tileset3D, Tile3D } from '@loaders.gl/tiles';
import Layer from '../base-layer';
import Tile3DLayerIcon from './tile3d-layer-icon';
import { FindDefaultLayerPropsReturnValue } from '../layer-utils';
import { DatasetType } from '@kepler.gl/constants';
import { KeplerTable as KeplerDataset, Datasets as KeplerDatasets } from '@kepler.gl/table';
import { VisConfigNumber } from '@kepler.gl/types';
/**
* Custom DeckTile3DLayer that catches exceptions in _loadTileset and
* _updateTileset (which calls selectTiles – an unhandled-promise path
* where errors like "boundingVolume must contain …" escape).
* See: https://github.com/visgl/deck.gl/issues/8755
*/
declare class KeplerTile3DLayer extends DeckTile3DLayer {
private _loadTileset;
/**
* Override _updateTileset to catch errors from selectTiles(),
* which deck.gl calls with .then() but no .catch().
* Errors from tilesetInitializationPromise (e.g. invalid boundingVolume
* in child tiles) surface here as unhandled promise rejections.
*/
private _updateTileset;
updateState(params: UpdateParameters<this>): void;
}
export declare const TILE3D_LAYER_TYPE: "tile3d";
export type Tile3DLayerVisConfigSettings = {
opacity: VisConfigNumber;
pointSize: VisConfigNumber;
};
export type Tile3DLayerVisConfig = {
opacity: number;
pointSize: number;
};
export declare const tile3DVisConfigs: {
opacity: VisConfigNumber;
pointSize: VisConfigNumber;
};
export default class Tile3DLayer extends Layer {
visConfigSettings: Tile3DLayerVisConfigSettings;
private _cachedDataAndLoader;
private _layerCallbacks;
private _hasFittedBounds;
constructor(props: {
dataId: string;
} & Record<string, any>);
static findDefaultLayerProps(dataset: KeplerDataset): FindDefaultLayerPropsReturnValue;
get type(): string;
get name(): string;
get requireData(): boolean;
get requiredLayerColumns(): string[];
get layerIcon(): typeof Tile3DLayerIcon;
get supportedDatasetTypes(): DatasetType[];
get visualChannels(): {};
shouldRenderLayer(): boolean;
getHoverData(): any;
formatLayerData(datasets: KeplerDatasets): Record<string, any>;
updateLayerMeta(dataset: KeplerDataset): void;
_getDataAndLoaderOptions(tileUrl: string, accessToken?: string): {
data: string;
loadOptions?: Record<string, unknown>;
loader?: any;
};
_onTilesetLoad: (tileset3d: Tileset3D) => void;
_extractBoundsFromTileset(tileset3d: Tileset3D): void;
_onTileLoad: (tile: Tile3D) => void;
_onTileUnload: (_tile: Tile3D) => void;
renderLayer(opts: any): KeplerTile3DLayer[];
}
export {};