@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.
@@ -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 { CogTiff, CogTiffImage } from '@cogeotiff/core';
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: CogTiff;
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<CogTiff>;
16
- getTileSize(cog: CogTiff): number;
17
- getZoomRange(cog: CogTiff): number[];
18
- getBoundsAsLatLon(cog: CogTiff): [number, number, number, number];
19
- getOriginAsLatLon(cog: CogTiff): number[];
20
- getImageTileIndex(img: CogTiffImage): number[];
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.2",
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.2",
32
- "@cogeotiff/core": "8.1.0",
33
- "@deck.gl/core": "^8.9.34",
34
- "@deck.gl/extensions": "^8.9.34",
35
- "@deck.gl/geo-layers": "^8.9.34",
36
- "@deck.gl/layers": "^8.9.34",
37
- "@deck.gl/mesh-layers": "^8.9.34",
38
- "@deck.gl/react": "^8.9.34",
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": "^8.5.21",
41
- "@math.gl/web-mercator": "^3.6.3",
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.0.7",
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.TEXTURE_MAG_FILTER]: this.blurredTexture ? GL.LINEAR : GL.NEAREST,
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
@@ -1,6 +1,6 @@
1
1
  /* eslint 'max-len': [1, { code: 100, comments: 999, ignoreStrings: true, ignoreUrls: true }] */
2
2
  // COG loading
3
- import { CogTiff, CogTiffImage } from '@cogeotiff/core';
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: CogTiff;
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 CogTiff.create(source);
51
+ this.cog = await Tiff.create(source);
52
52
 
53
- this.cog.images.forEach((image:CogTiffImage) => {
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: CogTiff) {
79
+ getTileSize(cog: Tiff) {
80
80
  return cog.images[cog.images.length - 1].tileSize.width;
81
81
  }
82
82
 
83
- getZoomRange(cog: CogTiff) {
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: CogTiff) {
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: CogTiff) {
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: CogTiffImage) {
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;