@gisatcz/deckgl-geolib 1.9.2 → 1.9.3-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.
- package/dist/cjs/index.js +9696 -2528
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.min.js +4 -3
- package/dist/cjs/index.min.js.map +1 -1
- package/dist/cjs/types/cogbitmaplayer/CogBitmapLayer.d.ts +24 -1
- package/dist/cjs/types/cogterrainlayer/CogTerrainLayer.d.ts +37 -1
- package/dist/cjs/types/cogtiles/cogtiles.d.ts +8 -8
- package/dist/esm/index.js +9696 -2528
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +4 -3
- package/dist/esm/index.min.js.map +1 -1
- package/dist/esm/types/cogbitmaplayer/CogBitmapLayer.d.ts +24 -1
- package/dist/esm/types/cogterrainlayer/CogTerrainLayer.d.ts +37 -1
- package/dist/esm/types/cogtiles/cogtiles.d.ts +8 -8
- package/package.json +12 -12
- package/src/cogbitmaplayer/CogBitmapLayer.ts +2 -2
- package/src/cogtiles/cogtiles.ts +9 -9
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { CompositeLayer } from '@deck.gl/core';
|
|
2
|
+
import { TileLayer } from '@deck.gl/geo-layers';
|
|
3
|
+
import { BitmapLayer } from '@deck.gl/layers';
|
|
4
|
+
import { _TerrainExtension as TerrainExtension } from '@deck.gl/extensions';
|
|
5
|
+
import { GL } from '@luma.gl/constants';
|
|
2
6
|
import CogTiles from '../cogtiles/cogtiles.ts';
|
|
3
7
|
import { GeoImageOptions } from '../geoimage/geoimage.ts';
|
|
4
8
|
declare class CogBitmapLayer extends CompositeLayer<any> {
|
|
@@ -14,6 +18,25 @@ declare class CogBitmapLayer extends CompositeLayer<any> {
|
|
|
14
18
|
constructor(id: string, url: string, options: GeoImageOptions);
|
|
15
19
|
initializeState(): void;
|
|
16
20
|
init(url: string): Promise<void>;
|
|
17
|
-
renderLayers(): any
|
|
21
|
+
renderLayers(): TileLayer<any, {
|
|
22
|
+
id: `${string}-${string}`;
|
|
23
|
+
getTileData: (tileData: any) => Promise<string>;
|
|
24
|
+
minZoom: number;
|
|
25
|
+
maxZoom: number;
|
|
26
|
+
tileSize: number;
|
|
27
|
+
maxRequests: 6;
|
|
28
|
+
extent: [number, number, number, number];
|
|
29
|
+
renderSubLayers: (props: any) => BitmapLayer<{
|
|
30
|
+
terrainDrawMode: any;
|
|
31
|
+
data: null;
|
|
32
|
+
image: any;
|
|
33
|
+
bounds: [any, any, any, any];
|
|
34
|
+
opacity: number;
|
|
35
|
+
textureParameters: {
|
|
36
|
+
10241: GL;
|
|
37
|
+
};
|
|
38
|
+
extensions: TerrainExtension[];
|
|
39
|
+
}>;
|
|
40
|
+
}>;
|
|
18
41
|
}
|
|
19
42
|
export default CogBitmapLayer;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CompositeLayer } from '@deck.gl/core';
|
|
2
|
+
import { TileLayer, TerrainLayer } from '@deck.gl/geo-layers';
|
|
2
3
|
import CogTiles from '../cogtiles/cogtiles.ts';
|
|
3
4
|
import { GeoImageOptions } from '../geoimage/geoimage.ts';
|
|
4
5
|
declare class CogTerrainLayer extends CompositeLayer<any> {
|
|
@@ -20,6 +21,41 @@ declare class CogTerrainLayer extends CompositeLayer<any> {
|
|
|
20
21
|
initializeState(): Promise<void>;
|
|
21
22
|
shouldUpdateState(): boolean;
|
|
22
23
|
init(terrainUrl: string): Promise<void>;
|
|
23
|
-
renderLayers(): any
|
|
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
|
+
}>[];
|
|
24
60
|
}
|
|
25
61
|
export default CogTerrainLayer;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Tiff, TiffImage } from '@cogeotiff/core';
|
|
2
2
|
import LZWDecoder from './lzw';
|
|
3
3
|
import GeoImage, { GeoImageOptions } from '../geoimage/geoimage.ts';
|
|
4
4
|
declare class CogTiles {
|
|
5
|
-
cog:
|
|
5
|
+
cog: Tiff;
|
|
6
6
|
zoomRange: number[];
|
|
7
7
|
tileSize: number;
|
|
8
8
|
lowestOriginTileOffset: number[];
|
|
@@ -12,12 +12,12 @@ declare class CogTiles {
|
|
|
12
12
|
lzw: LZWDecoder;
|
|
13
13
|
options: GeoImageOptions;
|
|
14
14
|
constructor(options: GeoImageOptions);
|
|
15
|
-
initializeCog(url: string): Promise<
|
|
16
|
-
getTileSize(cog:
|
|
17
|
-
getZoomRange(cog:
|
|
18
|
-
getBoundsAsLatLon(cog:
|
|
19
|
-
getOriginAsLatLon(cog:
|
|
20
|
-
getImageTileIndex(img:
|
|
15
|
+
initializeCog(url: string): Promise<Tiff>;
|
|
16
|
+
getTileSize(cog: Tiff): number;
|
|
17
|
+
getZoomRange(cog: Tiff): number[];
|
|
18
|
+
getBoundsAsLatLon(cog: Tiff): [number, number, number, number];
|
|
19
|
+
getOriginAsLatLon(cog: Tiff): number[];
|
|
20
|
+
getImageTileIndex(img: TiffImage): number[];
|
|
21
21
|
getResolutionFromZoomLevel(tileSize: number, z: number): number;
|
|
22
22
|
getZoomLevelFromResolution(tileSize: number, resolution: number): number;
|
|
23
23
|
getLatLon(input: number[]): number[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gisatcz/deckgl-geolib",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.3-dev.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -28,19 +28,19 @@
|
|
|
28
28
|
"typescript": "^5.0.4"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@chunkd/source-http": "^11.0
|
|
32
|
-
"@cogeotiff/core": "
|
|
33
|
-
"@deck.gl/core": "^
|
|
34
|
-
"@deck.gl/extensions": "^
|
|
35
|
-
"@deck.gl/geo-layers": "^
|
|
36
|
-
"@deck.gl/layers": "^
|
|
37
|
-
"@deck.gl/mesh-layers": "^
|
|
38
|
-
"@deck.gl/react": "^
|
|
31
|
+
"@chunkd/source-http": "^11.1.0",
|
|
32
|
+
"@cogeotiff/core": "^9.0.3",
|
|
33
|
+
"@deck.gl/core": "^9.0.4",
|
|
34
|
+
"@deck.gl/extensions": "^9.0.4",
|
|
35
|
+
"@deck.gl/geo-layers": "^9.0.4",
|
|
36
|
+
"@deck.gl/layers": "^9.0.4",
|
|
37
|
+
"@deck.gl/mesh-layers": "^9.0.4",
|
|
38
|
+
"@deck.gl/react": "^9.0.4",
|
|
39
39
|
"@fortawesome/fontawesome-svg-core": "^6.4.0",
|
|
40
|
-
"@luma.gl/constants": "^
|
|
41
|
-
"@math.gl/web-mercator": "^
|
|
40
|
+
"@luma.gl/constants": "^9.0.9",
|
|
41
|
+
"@math.gl/web-mercator": "^4.0.1",
|
|
42
42
|
"chroma-js": "^2.4.2",
|
|
43
|
-
"geotiff": "^2.
|
|
43
|
+
"geotiff": "^2.1.3",
|
|
44
44
|
"jpeg-js": "^0.4.4",
|
|
45
45
|
"pako": "^2.1.0"
|
|
46
46
|
}
|
|
@@ -2,7 +2,7 @@ import { CompositeLayer } from '@deck.gl/core';
|
|
|
2
2
|
import { TileLayer } from '@deck.gl/geo-layers';
|
|
3
3
|
import { BitmapLayer } from '@deck.gl/layers';
|
|
4
4
|
import { _TerrainExtension as TerrainExtension } from '@deck.gl/extensions';
|
|
5
|
-
import GL from '@luma.gl/constants';
|
|
5
|
+
import { GL } from '@luma.gl/constants';
|
|
6
6
|
import CogTiles from '../cogtiles/cogtiles.ts';
|
|
7
7
|
|
|
8
8
|
import { GeoImageOptions } from '../geoimage/geoimage.ts';
|
|
@@ -98,7 +98,7 @@ class CogBitmapLayer extends CompositeLayer<any> {
|
|
|
98
98
|
bounds: [west, south, east, north],
|
|
99
99
|
opacity: 1, // 0.6
|
|
100
100
|
textureParameters: {
|
|
101
|
-
[GL.
|
|
101
|
+
[GL.TEXTURE_MIN_FILTER]: this.blurredTexture ? GL.LINEAR : GL.NEAREST,
|
|
102
102
|
},
|
|
103
103
|
extensions: this.cogTiles?.options?.clampToTerrain ? [new TerrainExtension()] : [],
|
|
104
104
|
...(this.cogTiles?.options?.clampToTerrain?.terrainDrawMode
|
package/src/cogtiles/cogtiles.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint 'max-len': [1, { code: 100, comments: 999, ignoreStrings: true, ignoreUrls: true }] */
|
|
2
2
|
// COG loading
|
|
3
|
-
import {
|
|
3
|
+
import { Tiff, TiffImage } from '@cogeotiff/core';
|
|
4
4
|
import { SourceHttp } from '@chunkd/source-http';
|
|
5
5
|
|
|
6
6
|
// Image compression support
|
|
@@ -16,7 +16,7 @@ const EARTH_CIRCUMFERENCE = 40075000.0;
|
|
|
16
16
|
const EARTH_HALF_CIRCUMFERENCE = 20037500.0;
|
|
17
17
|
|
|
18
18
|
class CogTiles {
|
|
19
|
-
cog:
|
|
19
|
+
cog: Tiff;
|
|
20
20
|
|
|
21
21
|
zoomRange = [0, 0];
|
|
22
22
|
|
|
@@ -48,9 +48,9 @@ class CogTiles {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
const source = new SourceHttp(url);
|
|
51
|
-
this.cog = await
|
|
51
|
+
this.cog = await Tiff.create(source);
|
|
52
52
|
|
|
53
|
-
this.cog.images.forEach((image:
|
|
53
|
+
this.cog.images.forEach((image:TiffImage) => {
|
|
54
54
|
image.loadGeoTiffTags();
|
|
55
55
|
});
|
|
56
56
|
|
|
@@ -76,11 +76,11 @@ class CogTiles {
|
|
|
76
76
|
return this.cog;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
getTileSize(cog:
|
|
79
|
+
getTileSize(cog: Tiff) {
|
|
80
80
|
return cog.images[cog.images.length - 1].tileSize.width;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
getZoomRange(cog:
|
|
83
|
+
getZoomRange(cog: Tiff) {
|
|
84
84
|
const img = cog.images[cog.images.length - 1];
|
|
85
85
|
|
|
86
86
|
const minZoom = this.getZoomLevelFromResolution(
|
|
@@ -92,7 +92,7 @@ class CogTiles {
|
|
|
92
92
|
return [minZoom, maxZoom];
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
getBoundsAsLatLon(cog:
|
|
95
|
+
getBoundsAsLatLon(cog: Tiff) {
|
|
96
96
|
const { bbox } = cog.images[cog.images.length - 1];
|
|
97
97
|
|
|
98
98
|
// console.log(bbox)
|
|
@@ -108,12 +108,12 @@ class CogTiles {
|
|
|
108
108
|
return [minXYDeg[0], minXYDeg[1], maxXYDeg[0], maxXYDeg[1]] as [number, number, number, number];
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
getOriginAsLatLon(cog:
|
|
111
|
+
getOriginAsLatLon(cog: Tiff) {
|
|
112
112
|
const { origin } = cog.images[cog.images.length - 1];
|
|
113
113
|
return this.getLatLon(origin);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
getImageTileIndex(img:
|
|
116
|
+
getImageTileIndex(img: TiffImage) {
|
|
117
117
|
const ax = EARTH_HALF_CIRCUMFERENCE + img.origin[0];
|
|
118
118
|
const ay = -(EARTH_HALF_CIRCUMFERENCE + (img.origin[1] - EARTH_CIRCUMFERENCE));
|
|
119
119
|
// let mpt = img.resolution[0] * img.tileSize.width;
|