@gisatcz/deckgl-geolib 1.10.1-dev.1 → 1.10.2-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,61 +1,83 @@
1
- import { CompositeLayer } from '@deck.gl/core';
2
- import { TileLayer, TerrainLayer } from '@deck.gl/geo-layers';
3
- import CogTiles from '../cogtiles/cogtiles.ts';
1
+ import { Color, CompositeLayer, CompositeLayerProps, DefaultProps, Layer, LayersList, Material, TextureSource, UpdateParameters } from '@deck.gl/core';
2
+ import { SimpleMeshLayer } from '@deck.gl/mesh-layers';
3
+ import type { MeshAttributes } from '@loaders.gl/schema';
4
+ import { TileLayerProps, GeoBoundingBox, _TileLoadProps as TileLoadProps, _Tile2DHeader as Tile2DHeader, NonGeoBoundingBox } from '@deck.gl/geo-layers';
4
5
  import { GeoImageOptions } from '../geoimage/geoimage.ts';
5
- declare class CogTerrainLayer extends CompositeLayer<any> {
6
+ import CogTiles from '../cogtiles/cogtiles.ts';
7
+ export type Bounds = [minX: number, minY: number, maxX: number, maxY: number];
8
+ export type TileBoundingBox = NonGeoBoundingBox | GeoBoundingBox;
9
+ export type ZRange = [minZ: number, maxZ: number];
10
+ export type URLTemplate = string | string[] | null;
11
+ export declare const urlType: {
12
+ type: "object";
13
+ value: URLTemplate;
14
+ validate: (value: any, propType: any) => boolean;
15
+ equal: (value1: any, value2: any) => boolean;
16
+ };
17
+ type ElevationDecoder = {
18
+ rScaler: number;
19
+ gScaler: number;
20
+ bScaler: number;
21
+ offset: number;
22
+ };
23
+ type TerrainLoadProps = {
24
+ bounds: Bounds;
25
+ elevationData: string | null;
26
+ elevationDecoder: ElevationDecoder;
27
+ meshMaxError: number;
28
+ signal?: AbortSignal;
29
+ };
30
+ type MeshAndTexture = [MeshAttributes | null, TextureSource | null];
31
+ /** All properties supported by TerrainLayer */
32
+ export type TerrainLayerProps = _TerrainLayerProps & TileLayerProps<MeshAndTexture> & CompositeLayerProps;
33
+ /** Props added by the TerrainLayer */
34
+ type _TerrainLayerProps = {
35
+ /** Image url that encodes height data. * */
36
+ elevationData: URLTemplate;
37
+ /** Image url to use as texture. * */
38
+ texture?: URLTemplate;
39
+ /** Martini error tolerance in meters, smaller number -> more detailed mesh. * */
40
+ meshMaxError?: number;
41
+ /** Bounding box of the terrain image, [minX, minY, maxX, maxY] in world coordinates. * */
42
+ bounds?: Bounds | null;
43
+ /** Color to use if texture is unavailable. * */
44
+ color?: Color;
45
+ /** Object to decode height data, from (r, g, b) to height in meters. * */
46
+ elevationDecoder?: ElevationDecoder;
47
+ /** Whether to render the mesh in wireframe mode. * */
48
+ wireframe?: boolean;
49
+ /** Material props for lighting effect. * */
50
+ material?: Material;
51
+ /**
52
+ * @deprecated Use `loadOptions.terrain.workerUrl` instead
53
+ */
54
+ workerUrl?: string;
55
+ };
56
+ /** Render mesh surfaces from height map images. */
57
+ export default class TerrainLayer<ExtraPropsT extends {} = {}> extends CompositeLayer<ExtraPropsT & Required<_TerrainLayerProps & Required<TileLayerProps<MeshAndTexture>>>> {
58
+ static defaultProps: DefaultProps<TerrainLayerProps>;
6
59
  static layerName: string;
7
60
  terrainCogTiles: CogTiles;
8
- bitmapCogTiles: CogTiles;
9
- tileSize: number;
61
+ terrainUrl: string;
10
62
  minZoom: number;
11
63
  maxZoom: number;
12
- bitmapUrl: string;
13
- urlType: 'none' | 'tile' | 'cog';
14
- id: string;
15
- terrainUrl: string;
16
- terrainOpacity: number;
17
- terrainColor: Array<number>;
18
- terrainSkirtHeight: number;
19
- static displayName: string;
20
- constructor(id: string, terrainUrl: string, terrainOptions: GeoImageOptions, bitmapUrl?: string, bitmapOptions?: GeoImageOptions);
21
- initializeState(): Promise<void>;
22
- shouldUpdateState(): boolean;
64
+ state: {
65
+ isTiled?: boolean;
66
+ terrain?: MeshAttributes;
67
+ zRange?: ZRange | null;
68
+ };
69
+ constructor(props: TerrainLayerProps & ExtraPropsT, terrainOptions: GeoImageOptions);
70
+ initializeState(context: any): Promise<void>;
23
71
  init(terrainUrl: string): Promise<void>;
24
- renderLayers(): TileLayer<any, {
25
- id: `${string}-${string}`;
26
- zoomOffset: -1;
27
- getTileData: (tileData: any) => Promise<string>;
28
- minZoom: number;
29
- maxZoom: number;
30
- tileSize: number;
31
- maxRequests: 6;
32
- refinementStrategy: "best-available";
33
- extent: [number, number, number, number];
34
- renderSubLayers: (props: any) => TerrainLayer<{
35
- id: `terrain-${any}-${any}-${any}`;
36
- pickable: boolean;
37
- elevationDecoder: {
38
- rScaler: number;
39
- gScaler: number;
40
- bScaler: number;
41
- offset: number;
42
- };
43
- elevationData: any;
44
- texture: string;
45
- opacity: number;
46
- bounds: [any, any, any, any];
47
- color: number[];
48
- operation: "terrain+draw";
49
- minZoom: number;
50
- maxZoom: number;
51
- loadOptions: {
52
- terrain: {
53
- skirtHeight: number;
54
- tesselator: string;
55
- };
56
- };
57
- meshMaxError: number;
58
- }>;
59
- }>[];
72
+ updateState({ props, oldProps }: UpdateParameters<this>): void;
73
+ loadTerrain({ elevationData, bounds, elevationDecoder, meshMaxError, signal, }: TerrainLoadProps): Promise<MeshAttributes> | null;
74
+ getTiledTerrainData(tile: TileLoadProps): Promise<MeshAndTexture>;
75
+ renderSubLayers(props: TileLayerProps<MeshAndTexture> & {
76
+ id: string;
77
+ data: MeshAndTexture;
78
+ tile: Tile2DHeader<MeshAndTexture>;
79
+ }): SimpleMeshLayer<any, {}>;
80
+ onViewportLoad(tiles?: Tile2DHeader<MeshAndTexture>[]): void;
81
+ renderLayers(): Layer | null | LayersList;
60
82
  }
61
- export default CogTerrainLayer;
83
+ export {};