@gisatcz/deckgl-geolib 2.1.2-dev.0 → 2.1.2-dev.1
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.
- package/dist/cjs/index.js +2509 -6081
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.min.js +2 -3
- package/dist/cjs/index.min.js.map +1 -1
- package/dist/esm/index.js +2509 -6081
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +2 -3
- package/dist/esm/index.min.js.map +1 -1
- package/package.json +19 -16
- package/dist/cjs/types/core/CogTiles.d.ts +0 -105
- package/dist/cjs/types/core/GeoImage.d.ts +0 -114
- package/dist/cjs/types/core/delatin/index.d.ts +0 -23
- package/dist/cjs/types/core/helpers/skirt.d.ts +0 -18
- package/dist/cjs/types/core/index.d.ts +0 -3
- package/dist/cjs/types/index.d.ts +0 -3
- package/dist/cjs/types/layers/CogBitmapLayer.d.ts +0 -84
- package/dist/cjs/types/layers/CogTerrainLayer.d.ts +0 -90
- package/dist/cjs/types/layers/index.d.ts +0 -2
- package/dist/cjs/types/utils/tileurls.d.ts +0 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gisatcz/deckgl-geolib",
|
|
3
|
-
"version": "v2.1.2-dev.
|
|
3
|
+
"version": "v2.1.2-dev.1",
|
|
4
4
|
"description": "Deck.gl extension for rendering Cloud-Optimized GeoTIFF (COG) data",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deck.gl",
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"visualization",
|
|
11
11
|
"cog"
|
|
12
12
|
],
|
|
13
|
-
"private": false,
|
|
14
13
|
"license": "MIT",
|
|
15
14
|
"author": "Gisat",
|
|
16
15
|
"homepage": "https://github.com/Gisat/deck.gl-geotiff/tree/master/geoimage#readme",
|
|
@@ -65,24 +64,28 @@
|
|
|
65
64
|
"@loaders.gl/schema": ">=4.0.0"
|
|
66
65
|
},
|
|
67
66
|
"devDependencies": {
|
|
68
|
-
"@deck.gl/core": "^9.
|
|
69
|
-
"@deck.gl/
|
|
70
|
-
"@deck.gl/geo-layers": "^9.
|
|
71
|
-
"@deck.gl/
|
|
72
|
-
"@deck.gl/
|
|
73
|
-
"@loaders.gl/core": "^4.3.
|
|
74
|
-
"@loaders.gl/loader-utils": "^4.3.
|
|
75
|
-
"@loaders.gl/schema": "^4.3.
|
|
76
|
-
"@
|
|
77
|
-
"@
|
|
78
|
-
"@
|
|
67
|
+
"@deck.gl/core": "^9.2.9",
|
|
68
|
+
"@deck.gl/extensions": "^9.2.9",
|
|
69
|
+
"@deck.gl/geo-layers": "^9.2.9",
|
|
70
|
+
"@deck.gl/layers": "^9.2.9",
|
|
71
|
+
"@deck.gl/mesh-layers": "^9.2.9",
|
|
72
|
+
"@loaders.gl/core": "^4.3.4",
|
|
73
|
+
"@loaders.gl/loader-utils": "^4.3.4",
|
|
74
|
+
"@loaders.gl/schema": "^4.3.4",
|
|
75
|
+
"@luma.gl/core": "^9.2.6",
|
|
76
|
+
"@luma.gl/engine": "^9.2.6",
|
|
77
|
+
"@luma.gl/shadertools": "^9.2.6",
|
|
78
|
+
"@rollup/plugin-commonjs": "^28.0.0",
|
|
79
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
80
|
+
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
79
81
|
"@rollup/plugin-terser": "^0.4.4",
|
|
80
|
-
"@rollup/plugin-typescript": "^
|
|
82
|
+
"@rollup/plugin-typescript": "^12.1.0",
|
|
81
83
|
"@types/chroma-js": "^2.4.0",
|
|
82
84
|
"eslint": "^9.0.0",
|
|
83
|
-
"rollup": "^
|
|
84
|
-
"rollup-plugin-dts": "^
|
|
85
|
+
"rollup": "^4.0.0",
|
|
86
|
+
"rollup-plugin-dts": "^6.1.0",
|
|
85
87
|
"rollup-plugin-filesize": "^10.0.0",
|
|
88
|
+
"tslib": "^2.8.1",
|
|
86
89
|
"typescript": "^5.0.4"
|
|
87
90
|
}
|
|
88
91
|
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { GeoTIFF, GeoTIFFImage } from 'geotiff';
|
|
2
|
-
import GeoImage, { GeoImageOptions } from './GeoImage';
|
|
3
|
-
export type Bounds = [minX: number, minY: number, maxX: number, maxY: number];
|
|
4
|
-
declare class CogTiles {
|
|
5
|
-
cog: GeoTIFF;
|
|
6
|
-
cogZoomLookup: number[];
|
|
7
|
-
cogResolutionLookup: number[];
|
|
8
|
-
cogOrigin: number[];
|
|
9
|
-
zoomRange: number[];
|
|
10
|
-
tileSize: number;
|
|
11
|
-
bounds: [number, number, number, number];
|
|
12
|
-
geo: GeoImage;
|
|
13
|
-
options: GeoImageOptions;
|
|
14
|
-
constructor(options: GeoImageOptions);
|
|
15
|
-
initializeCog(url: string): Promise<void>;
|
|
16
|
-
getZoomRange(): number[];
|
|
17
|
-
calculateZoomRange(tileSize: number, resolution: number, imgCount: number): number[];
|
|
18
|
-
calculateBoundsAsLatLon(bbox: number[]): [number, number, number, number];
|
|
19
|
-
getZoomLevelFromResolution(tileSize: number, resolution: number): number;
|
|
20
|
-
getBoundsAsLatLon(): [number, number, number, number];
|
|
21
|
-
getLatLon(input: number[]): [number, number];
|
|
22
|
-
/**
|
|
23
|
-
* Builds lookup tables for zoom levels and estimated resolutions from a Cloud Optimized GeoTIFF (COG) object.
|
|
24
|
-
*
|
|
25
|
-
* It is assumed that inn web mapping, COG data is visualized in the Web Mercator coordinate system.
|
|
26
|
-
* At zoom level 0, the Web Mercator resolution is defined by the constant `webMercatorRes0`
|
|
27
|
-
* (e.g., 156543.03125 m/pixel). At each subsequent zoom level, this resolution is halved.
|
|
28
|
-
*
|
|
29
|
-
* This function calculates, for each image (overview) in the COG, its estimated resolution and
|
|
30
|
-
* corresponding zoom level based on the base image's resolution and width.
|
|
31
|
-
*
|
|
32
|
-
* @param {object} cog - A Cloud Optimized GeoTIFF object loaded via geotiff.js.
|
|
33
|
-
* @returns {Promise<[number[], number[]]>} A promise resolving to a tuple of two arrays:
|
|
34
|
-
* - The first array (`zoomLookup`) maps each image index to its computed zoom level.
|
|
35
|
-
* - The second array (`resolutionLookup`) maps each image index to its estimated resolution (m/pixel).
|
|
36
|
-
*/
|
|
37
|
-
buildCogZoomResolutionLookup(cog: GeoTIFF): Promise<any[][]>;
|
|
38
|
-
/**
|
|
39
|
-
* Determines the appropriate image index from the Cloud Optimized GeoTIFF (COG)
|
|
40
|
-
* that best matches a given zoom level.
|
|
41
|
-
*
|
|
42
|
-
* This function utilizes precomputed lookup tables (`cogZoomLookup`) that map
|
|
43
|
-
* each image index in the COG to its corresponding zoom level. It ensures that
|
|
44
|
-
* the selected image index provides the closest resolution to the desired zoom level.
|
|
45
|
-
*
|
|
46
|
-
* @param {number} zoom - The target zoom level for which the image index is sought.
|
|
47
|
-
* @returns {number} The index of the image in the COG that best matches the specified zoom level.
|
|
48
|
-
*/
|
|
49
|
-
getImageIndexForZoomLevel(zoom: any): number;
|
|
50
|
-
getTileFromImage(tileX: any, tileY: any, zoom: any, fetchSize?: number): Promise<any[][] | Float32Array<ArrayBuffer>[] | import("geotiff").TypedArrayWithDimensions[]>;
|
|
51
|
-
/**
|
|
52
|
-
* Creates a blank tile buffer filled with the "No Data" value.
|
|
53
|
-
* @param size The width/height of the square tile (e.g., 256 or 257)
|
|
54
|
-
*/
|
|
55
|
-
createEmptyTile(size?: number): Float32Array<ArrayBuffer>;
|
|
56
|
-
getTile(x: number, y: number, z: number, bounds: Bounds, meshMaxError: number): Promise<string | {
|
|
57
|
-
loaderData: {
|
|
58
|
-
header: {};
|
|
59
|
-
};
|
|
60
|
-
header: {
|
|
61
|
-
vertexCount: any;
|
|
62
|
-
boundingBox: [[number, number, number], [number, number, number]];
|
|
63
|
-
};
|
|
64
|
-
mode: number;
|
|
65
|
-
indices: {
|
|
66
|
-
value: Uint32Array<ArrayBuffer>;
|
|
67
|
-
size: number;
|
|
68
|
-
};
|
|
69
|
-
attributes: {
|
|
70
|
-
POSITION: {
|
|
71
|
-
value: Float32Array<ArrayBuffer>;
|
|
72
|
-
size: number;
|
|
73
|
-
};
|
|
74
|
-
TEXCOORD_0: {
|
|
75
|
-
value: Float32Array<ArrayBuffer>;
|
|
76
|
-
size: number;
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
}>;
|
|
80
|
-
/**
|
|
81
|
-
* Determines the data type (e.g., "Int32", "Float64") of a GeoTIFF image
|
|
82
|
-
* by reading its TIFF tags.
|
|
83
|
-
*
|
|
84
|
-
* @param {GeoTIFFImage} image - A GeoTIFF.js image.
|
|
85
|
-
* @returns {Promise<string>} - A string representing the data type.
|
|
86
|
-
*/
|
|
87
|
-
getDataTypeFromTags(fileDirectory: any): Promise<string>;
|
|
88
|
-
/**
|
|
89
|
-
* Extracts the noData value from a GeoTIFF.js image.
|
|
90
|
-
* Returns the noData value as a number (including NaN) if available, otherwise undefined.
|
|
91
|
-
*
|
|
92
|
-
* @param {GeoTIFFImage} image - The GeoTIFF.js image.
|
|
93
|
-
* @returns {number|undefined} The noData value, possibly NaN, or undefined if not set or invalid.
|
|
94
|
-
*/
|
|
95
|
-
getNoDataValue(image: GeoTIFFImage): number;
|
|
96
|
-
/**
|
|
97
|
-
* Creates a tile buffer of the specified size using a typed array corresponding to the provided data type.
|
|
98
|
-
*
|
|
99
|
-
* @param {string} dataType - A string specifying the data type (e.g., "Int32", "Float64", "UInt16", etc.).
|
|
100
|
-
* @param {number} tileSize - The width/height of the square tile.
|
|
101
|
-
* @returns {TypedArray} A typed array buffer of length tileSize * tileSize.
|
|
102
|
-
*/
|
|
103
|
-
createTileBuffer(dataType: any, tileSize: any): Uint32Array<ArrayBuffer> | Float32Array<ArrayBuffer> | Int8Array<ArrayBuffer> | Uint8Array<ArrayBuffer> | Int16Array<ArrayBuffer> | Uint16Array<ArrayBuffer> | Int32Array<ArrayBuffer> | Float64Array<ArrayBuffer>;
|
|
104
|
-
}
|
|
105
|
-
export default CogTiles;
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { GeoTIFFImage } from 'geotiff';
|
|
2
|
-
import chroma from 'chroma-js';
|
|
3
|
-
export type Bounds = [minX: number, minY: number, maxX: number, maxY: number];
|
|
4
|
-
export type ClampToTerrainOptions = {
|
|
5
|
-
terrainDrawMode?: string;
|
|
6
|
-
};
|
|
7
|
-
export type GeoImageOptions = {
|
|
8
|
-
type: 'image' | 'terrain';
|
|
9
|
-
tesselator?: 'martini' | 'delatin';
|
|
10
|
-
format?: 'uint8' | 'uint16' | 'uint32' | 'int8' | 'int16' | 'int32' | 'float32' | 'float64';
|
|
11
|
-
useHeatMap?: boolean;
|
|
12
|
-
useColorsBasedOnValues?: boolean;
|
|
13
|
-
useColorClasses?: boolean;
|
|
14
|
-
useAutoRange?: boolean;
|
|
15
|
-
useDataForOpacity?: boolean;
|
|
16
|
-
useChannel?: Exclude<number, 0> | null;
|
|
17
|
-
useChannelIndex?: number | null;
|
|
18
|
-
useSingleColor?: boolean;
|
|
19
|
-
blurredTexture?: boolean;
|
|
20
|
-
clipLow?: number | null;
|
|
21
|
-
clipHigh?: number | null;
|
|
22
|
-
multiplier?: number;
|
|
23
|
-
color?: Array<number> | chroma.Color;
|
|
24
|
-
colorScale?: Array<string> | Array<chroma.Color>;
|
|
25
|
-
colorScaleValueRange?: number[];
|
|
26
|
-
colorsBasedOnValues?: [number | undefined, chroma.Color][];
|
|
27
|
-
colorClasses?: [chroma.Color, [number, number], [boolean, boolean]?][];
|
|
28
|
-
alpha?: number;
|
|
29
|
-
noDataValue?: number;
|
|
30
|
-
numOfChannels?: number;
|
|
31
|
-
nullColor?: Array<number> | chroma.Color;
|
|
32
|
-
unidentifiedColor?: Array<number> | chroma.Color;
|
|
33
|
-
clippedColor?: Array<number> | chroma.Color;
|
|
34
|
-
clampToTerrain?: ClampToTerrainOptions | boolean;
|
|
35
|
-
terrainColor?: Array<number> | chroma.Color;
|
|
36
|
-
terrainSkirtHeight?: number;
|
|
37
|
-
terrainMinValue?: number;
|
|
38
|
-
planarConfig?: number;
|
|
39
|
-
};
|
|
40
|
-
export declare const DefaultGeoImageOptions: GeoImageOptions;
|
|
41
|
-
export default class GeoImage {
|
|
42
|
-
data: GeoTIFFImage | undefined;
|
|
43
|
-
scale: (num: number, inMin: number, inMax: number, outMin: number, outMax: number) => number;
|
|
44
|
-
setUrl(url: string): Promise<void>;
|
|
45
|
-
getMap(input: string | {
|
|
46
|
-
width: number;
|
|
47
|
-
height: number;
|
|
48
|
-
rasters: any[];
|
|
49
|
-
bounds: Bounds;
|
|
50
|
-
}, options: GeoImageOptions, meshMaxError: any): Promise<string | {
|
|
51
|
-
loaderData: {
|
|
52
|
-
header: {};
|
|
53
|
-
};
|
|
54
|
-
header: {
|
|
55
|
-
vertexCount: any;
|
|
56
|
-
boundingBox: [[number, number, number], [number, number, number]];
|
|
57
|
-
};
|
|
58
|
-
mode: number;
|
|
59
|
-
indices: {
|
|
60
|
-
value: Uint32Array<ArrayBuffer>;
|
|
61
|
-
size: number;
|
|
62
|
-
};
|
|
63
|
-
attributes: {
|
|
64
|
-
POSITION: {
|
|
65
|
-
value: Float32Array<ArrayBuffer>;
|
|
66
|
-
size: number;
|
|
67
|
-
};
|
|
68
|
-
TEXCOORD_0: {
|
|
69
|
-
value: Float32Array<ArrayBuffer>;
|
|
70
|
-
size: number;
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
}>;
|
|
74
|
-
getHeightmap(input: string | {
|
|
75
|
-
bounds: Bounds;
|
|
76
|
-
width: number;
|
|
77
|
-
height: number;
|
|
78
|
-
rasters: any[];
|
|
79
|
-
}, options: GeoImageOptions, meshMaxError: any): Promise<{
|
|
80
|
-
loaderData: {
|
|
81
|
-
header: {};
|
|
82
|
-
};
|
|
83
|
-
header: {
|
|
84
|
-
vertexCount: any;
|
|
85
|
-
boundingBox: [[number, number, number], [number, number, number]];
|
|
86
|
-
};
|
|
87
|
-
mode: number;
|
|
88
|
-
indices: {
|
|
89
|
-
value: Uint32Array<ArrayBuffer>;
|
|
90
|
-
size: number;
|
|
91
|
-
};
|
|
92
|
-
attributes: {
|
|
93
|
-
POSITION: {
|
|
94
|
-
value: Float32Array<ArrayBuffer>;
|
|
95
|
-
size: number;
|
|
96
|
-
};
|
|
97
|
-
TEXCOORD_0: {
|
|
98
|
-
value: Float32Array<ArrayBuffer>;
|
|
99
|
-
size: number;
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
}>;
|
|
103
|
-
getBitmap(input: string | {
|
|
104
|
-
width: number;
|
|
105
|
-
height: number;
|
|
106
|
-
rasters: any[];
|
|
107
|
-
}, options: GeoImageOptions): Promise<string>;
|
|
108
|
-
getMinMax(array: any, options: any): any[];
|
|
109
|
-
getColorValue(dataArray: [], options: GeoImageOptions, arrayLength: number, numOfChannels?: number): any[];
|
|
110
|
-
findClassIndex(number: any, intervals: any, bounds: any): number;
|
|
111
|
-
getDefaultColor(size: any, nullColor: any): any[];
|
|
112
|
-
getColorFromChromaType(colorDefinition: any): any[];
|
|
113
|
-
hasPixelsNoData(pixels: any, noDataValue: any): any;
|
|
114
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export default class Delatin {
|
|
2
|
-
constructor(data: any, width: any, height?: any);
|
|
3
|
-
run(maxError?: number): void;
|
|
4
|
-
refine(): void;
|
|
5
|
-
getMaxError(): any;
|
|
6
|
-
getRMSD(): number;
|
|
7
|
-
heightAt(x: any, y: any): any;
|
|
8
|
-
_flush(): void;
|
|
9
|
-
_findCandidate(p0x: any, p0y: any, p1x: any, p1y: any, p2x: any, p2y: any, t: any): void;
|
|
10
|
-
_step(): void;
|
|
11
|
-
_addPoint(x: any, y: any): number;
|
|
12
|
-
_addTriangle(a: any, b: any, c: any, ab: any, bc: any, ca: any, e?: any): any;
|
|
13
|
-
_legalize(a: any): void;
|
|
14
|
-
_handleCollinear(pn: any, a: any): void;
|
|
15
|
-
_queuePush(t: any, error: any, rms: any): void;
|
|
16
|
-
_queuePop(): any;
|
|
17
|
-
_queuePopBack(): any;
|
|
18
|
-
_queueRemove(t: any): void;
|
|
19
|
-
_queueLess(i: any, j: any): boolean;
|
|
20
|
-
_queueSwap(i: any, j: any): void;
|
|
21
|
-
_queueUp(j0: any): void;
|
|
22
|
-
_queueDown(i0: any, n: any): boolean;
|
|
23
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export type EdgeIndices = {
|
|
2
|
-
westIndices: number[];
|
|
3
|
-
northIndices: number[];
|
|
4
|
-
eastIndices: number[];
|
|
5
|
-
southIndices: number[];
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Add skirt to existing mesh
|
|
9
|
-
* @param {object} attributes - POSITION and TEXCOOD_0 attributes data
|
|
10
|
-
* @param {any} triangles - indices array of the mesh geometry
|
|
11
|
-
* @param skirtHeight - height of the skirt geometry
|
|
12
|
-
* @param outsideIndices - edge indices from quantized mesh data
|
|
13
|
-
* @returns - geometry data with added skirt
|
|
14
|
-
*/
|
|
15
|
-
export declare function addSkirt(attributes: any, triangles: any, skirtHeight: number, outsideIndices?: EdgeIndices): {
|
|
16
|
-
attributes: any;
|
|
17
|
-
triangles: any;
|
|
18
|
-
};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { CompositeLayer, CompositeLayerProps, DefaultProps, TextureSource, UpdateParameters } from '@deck.gl/core';
|
|
2
|
-
import { _Tile2DHeader as Tile2DHeader, _TileLoadProps as TileLoadProps, GeoBoundingBox, NonGeoBoundingBox, TileLayer, TileLayerProps } from '@deck.gl/geo-layers';
|
|
3
|
-
import { BitmapLayer } from '@deck.gl/layers';
|
|
4
|
-
import type { MeshAttributes } from '@loaders.gl/schema';
|
|
5
|
-
import CogTiles from '../core/CogTiles';
|
|
6
|
-
import { GeoImageOptions } from '../core/GeoImage';
|
|
7
|
-
export type TileBoundingBox = NonGeoBoundingBox | GeoBoundingBox;
|
|
8
|
-
export type ZRange = [minZ: number, maxZ: number];
|
|
9
|
-
export type Bounds = [minX: number, minY: number, maxX: number, maxY: 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
|
-
export type ClampToTerrainOptions = {
|
|
18
|
-
terrainDrawMode?: string;
|
|
19
|
-
};
|
|
20
|
-
type MeshAndTexture = [MeshAttributes | null, TextureSource | null];
|
|
21
|
-
/** Props added by the CogBitmapLayer */
|
|
22
|
-
type _CogBitmapLayerProps = {
|
|
23
|
-
/** Image url that encodes raster data. * */
|
|
24
|
-
rasterData: URLTemplate;
|
|
25
|
-
/** Bounding box of the bitmap image, [minX, minY, maxX, maxY] in world coordinates. * */
|
|
26
|
-
bounds: Bounds | null;
|
|
27
|
-
/** Whether the rendered texture should be clamped to terrain * */
|
|
28
|
-
clampToTerrain?: ClampToTerrainOptions | boolean;
|
|
29
|
-
/**
|
|
30
|
-
* TODO
|
|
31
|
-
*/
|
|
32
|
-
cogBitmapOptions: GeoImageOptions;
|
|
33
|
-
isTiled: boolean;
|
|
34
|
-
/** Pre-initialized CogTiles object */
|
|
35
|
-
cogTiles?: CogTiles;
|
|
36
|
-
/**
|
|
37
|
-
* @deprecated Use `loadOptions.terrain.workerUrl` instead
|
|
38
|
-
*/
|
|
39
|
-
workerUrl?: string;
|
|
40
|
-
};
|
|
41
|
-
/** All properties supported by CogBitmapLayer */
|
|
42
|
-
export type CogBitmapLayerProps = _CogBitmapLayerProps & TileLayerProps<MeshAndTexture> & CompositeLayerProps;
|
|
43
|
-
/** Render bitmap texture from cog raster images. */
|
|
44
|
-
export default class CogBitmapLayer<ExtraPropsT extends object = object> extends CompositeLayer<ExtraPropsT & Required<_CogBitmapLayerProps & Required<TileLayerProps<MeshAndTexture>>>> {
|
|
45
|
-
static defaultProps: DefaultProps<CogBitmapLayerProps>;
|
|
46
|
-
static layerName: string;
|
|
47
|
-
state: {
|
|
48
|
-
initialized: boolean;
|
|
49
|
-
isTiled?: boolean;
|
|
50
|
-
terrain?: MeshAttributes;
|
|
51
|
-
zRange?: ZRange | null;
|
|
52
|
-
bitmapCogTiles: any;
|
|
53
|
-
minZoom: number;
|
|
54
|
-
maxZoom: number;
|
|
55
|
-
};
|
|
56
|
-
initializeState(context: any): Promise<void>;
|
|
57
|
-
init(): Promise<void>;
|
|
58
|
-
updateState({ props, oldProps }: UpdateParameters<this>): void;
|
|
59
|
-
getTiledBitmapData(tile: TileLoadProps): Promise<TextureSource>;
|
|
60
|
-
renderSubLayers(props: TileLayerProps<TextureSource> & {
|
|
61
|
-
id: string;
|
|
62
|
-
data: TextureSource;
|
|
63
|
-
tile: Tile2DHeader<TextureSource>;
|
|
64
|
-
}): BitmapLayer<{}>;
|
|
65
|
-
renderLayers(): TileLayer<any, {
|
|
66
|
-
getTileData: any;
|
|
67
|
-
renderSubLayers: any;
|
|
68
|
-
updateTriggers: {
|
|
69
|
-
getTileData: (number | boolean | ClampToTerrainOptions)[];
|
|
70
|
-
};
|
|
71
|
-
extent: any;
|
|
72
|
-
tileSize: any;
|
|
73
|
-
minZoom: number;
|
|
74
|
-
maxZoom: number;
|
|
75
|
-
maxRequests: number;
|
|
76
|
-
onTileLoad: (tile: Tile2DHeader<MeshAndTexture>) => void;
|
|
77
|
-
onTileUnload: (tile: Tile2DHeader<MeshAndTexture>) => void;
|
|
78
|
-
onTileError: (err: any, tile?: any) => void;
|
|
79
|
-
maxCacheSize: number;
|
|
80
|
-
maxCacheByteSize: number;
|
|
81
|
-
refinementStrategy: import("@deck.gl/geo-layers/dist/tileset-2d").RefinementStrategy;
|
|
82
|
-
}>;
|
|
83
|
-
}
|
|
84
|
-
export {};
|
|
@@ -1,90 +0,0 @@
|
|
|
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';
|
|
5
|
-
import CogTiles from '../core/CogTiles';
|
|
6
|
-
import { GeoImageOptions } from '../core/GeoImage';
|
|
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 CogTerrainLayer */
|
|
32
|
-
export type CogTerrainLayerProps = _CogTerrainLayerProps & TileLayerProps<MeshAndTexture> & CompositeLayerProps;
|
|
33
|
-
/** Props added by the CogTerrainLayer */
|
|
34
|
-
type _CogTerrainLayerProps = {
|
|
35
|
-
/** Image url that encodes height data. * */
|
|
36
|
-
elevationData: URLTemplate;
|
|
37
|
-
isTiled?: boolean;
|
|
38
|
-
/** Image url to use as texture. * */
|
|
39
|
-
texture?: URLTemplate;
|
|
40
|
-
/** Martini error tolerance in meters, smaller number -> more detailed mesh. * */
|
|
41
|
-
meshMaxError?: number;
|
|
42
|
-
/** Bounding box of the terrain image, [minX, minY, maxX, maxY] in world coordinates. * */
|
|
43
|
-
bounds?: Bounds | null;
|
|
44
|
-
/** Color to use if texture is unavailable. * */
|
|
45
|
-
color?: Color;
|
|
46
|
-
/** Object to decode height data, from (r, g, b) to height in meters. * */
|
|
47
|
-
elevationDecoder?: ElevationDecoder;
|
|
48
|
-
/** Whether to render the mesh in wireframe mode. * */
|
|
49
|
-
wireframe?: boolean;
|
|
50
|
-
/** Material props for lighting effect. * */
|
|
51
|
-
material?: Material;
|
|
52
|
-
/**
|
|
53
|
-
* TODO
|
|
54
|
-
*/
|
|
55
|
-
terrainOptions: GeoImageOptions;
|
|
56
|
-
/** Pre-initialized CogTiles object for terrain */
|
|
57
|
-
cogTiles?: CogTiles;
|
|
58
|
-
/**
|
|
59
|
-
* @deprecated Use `loadOptions.terrain.workerUrl` instead
|
|
60
|
-
*/
|
|
61
|
-
workerUrl?: string;
|
|
62
|
-
};
|
|
63
|
-
/** Render mesh surfaces from height map images. */
|
|
64
|
-
export default class CogTerrainLayer<ExtraPropsT extends object = object> extends CompositeLayer<ExtraPropsT & Required<_CogTerrainLayerProps & Required<TileLayerProps<MeshAndTexture>>>> {
|
|
65
|
-
static defaultProps: DefaultProps<_CogTerrainLayerProps>;
|
|
66
|
-
static layerName: string;
|
|
67
|
-
terrainUrl: string;
|
|
68
|
-
state: {
|
|
69
|
-
isTiled?: boolean;
|
|
70
|
-
terrain?: MeshAttributes;
|
|
71
|
-
zRange?: ZRange | null;
|
|
72
|
-
minZoom: number;
|
|
73
|
-
maxZoom: number;
|
|
74
|
-
terrainCogTiles: CogTiles;
|
|
75
|
-
initialized: boolean;
|
|
76
|
-
};
|
|
77
|
-
initializeState(context: any): Promise<void>;
|
|
78
|
-
init(): Promise<void>;
|
|
79
|
-
updateState({ props, oldProps }: UpdateParameters<this>): void;
|
|
80
|
-
loadTerrain({ elevationData, bounds, elevationDecoder, meshMaxError, signal, }: TerrainLoadProps): Promise<MeshAttributes> | null;
|
|
81
|
-
getTiledTerrainData(tile: TileLoadProps): Promise<MeshAndTexture>;
|
|
82
|
-
renderSubLayers(props: TileLayerProps<MeshAndTexture> & {
|
|
83
|
-
id: string;
|
|
84
|
-
data: MeshAndTexture;
|
|
85
|
-
tile: Tile2DHeader<MeshAndTexture>;
|
|
86
|
-
}): SimpleMeshLayer<any, {}>;
|
|
87
|
-
onViewportLoad(tiles?: Tile2DHeader<MeshAndTexture>[]): void;
|
|
88
|
-
renderLayers(): Layer | null | LayersList;
|
|
89
|
-
}
|
|
90
|
-
export {};
|