kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
194 lines (193 loc) • 7.54 kB
TypeScript
/// <reference types="deck.gl" />
/// <reference types="@danmarshall/deckgl-typings/deck.gl__geo-layers" />
import { S2Layer } from '@deck.gl/geo-layers';
import { default as KeplerTable } from '@kepler.gl/table';
import Layer, { LayerBaseConfig, LayerBaseConfigPartial, LayerColorConfig, LayerSizeConfig, LayerStrokeColorConfig, LayerHeightConfig } from '../base-layer';
import { ColorRange, Merge, RGBColor, VisConfigBoolean, VisConfigColorRange, VisConfigColorSelect, VisConfigNumber, VisConfigRange, LayerColumn } from '@kepler.gl/types';
import S2LayerIcon from './s2-layer-icon';
import { DataContainerInterface } from '@kepler.gl/utils';
export declare type S2GeometryLayerVisConfigSettings = {
opacity: VisConfigNumber;
colorRange: VisConfigColorRange;
filled: VisConfigBoolean;
thickness: VisConfigNumber;
strokeColor: VisConfigColorSelect;
strokeColorRange: VisConfigColorRange;
sizeRange: VisConfigRange;
stroked: VisConfigBoolean;
enable3d: VisConfigBoolean;
elevationScale: VisConfigNumber;
enableElevationZoomFactor: VisConfigBoolean;
heightRange: VisConfigRange;
wireframe: VisConfigBoolean;
};
export declare type S2GeometryLayerColumnsConfig = {
token: LayerColumn;
};
export declare type S2GeometryLayerVisConfig = {
opacity: number;
colorRange: ColorRange;
filled: boolean;
thickness: number;
strokeColor: RGBColor;
strokeColorRange: ColorRange;
sizeRange: [number, number];
stroked: boolean;
enable3d: boolean;
elevationScale: number;
enableElevationZoomFactor: boolean;
heightRange: [number, number];
wireframe: boolean;
};
export declare type S2GeometryLayerVisualChannelConfig = LayerColorConfig & LayerSizeConfig & LayerStrokeColorConfig & LayerHeightConfig;
export declare type S2GeometryLayerConfig = Merge<LayerBaseConfig, {
columns: S2GeometryLayerColumnsConfig;
visConfig: S2GeometryLayerVisConfig;
}> & S2GeometryLayerVisualChannelConfig;
export declare type S2GeometryLayerData = {
index: number;
token: any;
};
export declare const S2_TOKEN_FIELDS: {
token: ['s2', 's2_token'];
};
export declare const s2RequiredColumns: ['token'];
export declare const S2TokenAccessor: ({ token }: S2GeometryLayerColumnsConfig) => (dc: DataContainerInterface) => (d: any) => any;
export declare const defaultElevation = 500;
export declare const defaultLineWidth = 1;
export declare const S2VisConfigs: {
opacity: 'opacity';
colorRange: 'colorRange';
filled: VisConfigBoolean;
thickness: VisConfigNumber;
strokeColor: 'strokeColor';
strokeColorRange: 'strokeColorRange';
sizeRange: 'strokeWidthRange';
stroked: 'stroked';
enable3d: 'enable3d';
elevationScale: 'elevationScale';
enableElevationZoomFactor: 'enableElevationZoomFactor';
fixedHeight: 'fixedHeight';
heightRange: 'elevationRange';
wireframe: 'wireframe';
};
export default class S2GeometryLayer extends Layer {
dataToFeature: any;
visConfigSettings: S2GeometryLayerVisConfigSettings;
config: S2GeometryLayerConfig;
constructor(props: any);
get type(): 's2';
get name(): 'S2';
get requiredLayerColumns(): ["token"];
get layerIcon(): typeof S2LayerIcon;
get visualChannels(): {
color: {
accessor: string;
property: string;
field: string;
scale: string;
domain: string;
range: string;
key: string;
channelScaleType: string;
nullValue?: any;
defaultMeasure?: any;
condition?: ((config: any) => boolean) | undefined;
defaultValue?: any;
getAttributeValue?: ((config: any) => (d: any) => any) | undefined;
fixed?: any;
supportedFieldTypes?: import("@kepler.gl/types").SupportedFieldTypes[] | undefined;
aggregation?: import("@kepler.gl/types").VisualChannelAggregation | undefined;
};
size: {
property: string;
accessor: string;
condition: (config: any) => any;
defaultValue: number;
field: string;
scale: string;
domain: string;
range: string;
key: string;
channelScaleType: string;
nullValue?: any;
defaultMeasure?: any;
getAttributeValue?: ((config: any) => (d: any) => any) | undefined;
fixed?: any;
supportedFieldTypes?: import("@kepler.gl/types").SupportedFieldTypes[] | undefined;
aggregation?: import("@kepler.gl/types").VisualChannelAggregation | undefined;
};
strokeColor: {
property: string;
field: string;
scale: string;
domain: string;
range: string;
key: string;
channelScaleType: "color";
accessor: string;
condition: (config: any) => any;
nullValue: any;
defaultValue: (config: any) => any;
};
height: {
property: string;
field: string;
scale: string;
domain: string;
range: string;
key: string;
channelScaleType: "size";
accessor: string;
condition: (config: any) => any;
nullValue: number;
defaultValue: number;
};
};
getDefaultLayerConfig(props: LayerBaseConfigPartial): {
heightField: null;
heightDomain: number[];
heightScale: string;
strokeColorField: null;
strokeColorDomain: number[];
strokeColorScale: string;
colorUI: {
strokeColorRange: import("@kepler.gl/types").ColorUI;
color: import("@kepler.gl/types").ColorUI;
colorRange: import("@kepler.gl/types").ColorUI;
};
dataId: string;
label: string;
color: RGBColor;
columns: import("@kepler.gl/types").LayerColumns;
isVisible: boolean;
isConfigActive: boolean;
highlightColor: RGBColor | import("@kepler.gl/types").RGBAColor;
hidden: boolean;
visConfig: import("@kepler.gl/types").LayerVisConfig;
textLabel: import("@kepler.gl/types").LayerTextLabel[];
animation: {
enabled: boolean;
domain?: [number, number] | null | undefined;
};
aggregatedBins?: import("@kepler.gl/types").AggregatedBin[] | undefined;
columnMode?: string | undefined;
colorField?: import("@kepler.gl/types").VisualChannelField | undefined;
colorDomain?: import("@kepler.gl/types").VisualChannelDomain | undefined;
colorScale?: string | number | symbol | undefined;
sizeDomain?: import("@kepler.gl/types").VisualChannelDomain | undefined;
sizeScale?: string | number | symbol | undefined;
sizeField?: import("@kepler.gl/types").VisualChannelField | undefined;
};
static findDefaultLayerProps({ fields }: KeplerTable): {
props: {
isVisible: boolean;
label: string;
columns: any;
}[];
};
calculateDataAttribute({ filteredIndex }: KeplerTable, getS2Token: any): S2GeometryLayerData[];
updateLayerMeta(dataset: KeplerTable, getS2Token: any): void;
formatLayerData(datasets: any, oldLayerData: any): {};
renderLayer(opts: any): S2Layer<unknown, import("@deck.gl/geo-layers/s2-layer/s2-layer").S2LayerProps<unknown>>[];
}