@developmentseed/deck.gl-geotiff 0.3.0-beta.3 → 0.4.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.
Files changed (96) hide show
  1. package/README.md +33 -4
  2. package/dist/cog-layer.d.ts +42 -29
  3. package/dist/cog-layer.d.ts.map +1 -1
  4. package/dist/cog-layer.js +146 -38
  5. package/dist/cog-layer.js.map +1 -1
  6. package/dist/geotiff/geotiff.d.ts.map +1 -1
  7. package/dist/geotiff/geotiff.js +6 -2
  8. package/dist/geotiff/geotiff.js.map +1 -1
  9. package/dist/geotiff/render-pipeline.d.ts +7 -4
  10. package/dist/geotiff/render-pipeline.d.ts.map +1 -1
  11. package/dist/geotiff/render-pipeline.js +119 -16
  12. package/dist/geotiff/render-pipeline.js.map +1 -1
  13. package/dist/geotiff-layer.d.ts +5 -4
  14. package/dist/geotiff-layer.d.ts.map +1 -1
  15. package/dist/geotiff-layer.js.map +1 -1
  16. package/dist/geotiff-reprojection.d.ts +2 -1
  17. package/dist/geotiff-reprojection.d.ts.map +1 -1
  18. package/dist/geotiff-reprojection.js.map +1 -1
  19. package/dist/index.d.ts +3 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/proj.d.ts +20 -0
  24. package/dist/proj.d.ts.map +1 -1
  25. package/dist/proj.js +44 -0
  26. package/dist/proj.js.map +1 -1
  27. package/package.json +12 -12
  28. package/dist/cog-tile-matrix-set.d.ts +0 -3
  29. package/dist/cog-tile-matrix-set.d.ts.map +0 -1
  30. package/dist/cog-tile-matrix-set.js +0 -23
  31. package/dist/cog-tile-matrix-set.js.map +0 -1
  32. package/dist/ellipsoids.d.ts +0 -153
  33. package/dist/ellipsoids.d.ts.map +0 -1
  34. package/dist/ellipsoids.js +0 -153
  35. package/dist/ellipsoids.js.map +0 -1
  36. package/dist/geotiff/high-level/affine.d.ts +0 -16
  37. package/dist/geotiff/high-level/affine.d.ts.map +0 -1
  38. package/dist/geotiff/high-level/affine.js +0 -2
  39. package/dist/geotiff/high-level/affine.js.map +0 -1
  40. package/dist/geotiff/high-level/array.d.ts +0 -37
  41. package/dist/geotiff/high-level/array.d.ts.map +0 -1
  42. package/dist/geotiff/high-level/array.js +0 -2
  43. package/dist/geotiff/high-level/array.js.map +0 -1
  44. package/dist/geotiff/high-level/geotiff.d.ts +0 -63
  45. package/dist/geotiff/high-level/geotiff.d.ts.map +0 -1
  46. package/dist/geotiff/high-level/geotiff.js +0 -135
  47. package/dist/geotiff/high-level/geotiff.js.map +0 -1
  48. package/dist/geotiff/high-level/index.d.ts +0 -8
  49. package/dist/geotiff/high-level/index.d.ts.map +0 -1
  50. package/dist/geotiff/high-level/index.js +0 -5
  51. package/dist/geotiff/high-level/index.js.map +0 -1
  52. package/dist/geotiff/high-level/options.d.ts +0 -11
  53. package/dist/geotiff/high-level/options.d.ts.map +0 -1
  54. package/dist/geotiff/high-level/options.js +0 -2
  55. package/dist/geotiff/high-level/options.js.map +0 -1
  56. package/dist/geotiff/high-level/overview.d.ts +0 -46
  57. package/dist/geotiff/high-level/overview.d.ts.map +0 -1
  58. package/dist/geotiff/high-level/overview.js +0 -124
  59. package/dist/geotiff/high-level/overview.js.map +0 -1
  60. package/dist/geotiff/high-level/tile.d.ts +0 -11
  61. package/dist/geotiff/high-level/tile.d.ts.map +0 -1
  62. package/dist/geotiff/high-level/tile.js +0 -2
  63. package/dist/geotiff/high-level/tile.js.map +0 -1
  64. package/dist/geotiff/high-level/transform.d.ts +0 -23
  65. package/dist/geotiff/high-level/transform.d.ts.map +0 -1
  66. package/dist/geotiff/high-level/transform.js +0 -55
  67. package/dist/geotiff/high-level/transform.js.map +0 -1
  68. package/dist/geotiff/high-level/window.d.ts +0 -23
  69. package/dist/geotiff/high-level/window.d.ts.map +0 -1
  70. package/dist/geotiff/high-level/window.js +0 -31
  71. package/dist/geotiff/high-level/window.js.map +0 -1
  72. package/dist/geotiff/types.d.ts +0 -5
  73. package/dist/geotiff/types.d.ts.map +0 -1
  74. package/dist/geotiff/types.js +0 -7
  75. package/dist/geotiff/types.js.map +0 -1
  76. package/dist/geotiff-types.d.ts +0 -13
  77. package/dist/geotiff-types.d.ts.map +0 -1
  78. package/dist/geotiff-types.js +0 -2
  79. package/dist/geotiff-types.js.map +0 -1
  80. package/dist/geotiff.d.ts +0 -50
  81. package/dist/geotiff.d.ts.map +0 -1
  82. package/dist/geotiff.js +0 -135
  83. package/dist/geotiff.js.map +0 -1
  84. package/dist/mosaic-layer/mosaic-tile-traversal.d.ts +0 -1
  85. package/dist/mosaic-layer/mosaic-tile-traversal.d.ts.map +0 -1
  86. package/dist/mosaic-layer/mosaic-tile-traversal.js +0 -2
  87. package/dist/mosaic-layer/mosaic-tile-traversal.js.map +0 -1
  88. package/dist/mosaic-layer.d.ts +0 -1
  89. package/dist/mosaic-layer.d.ts.map +0 -1
  90. package/dist/mosaic-layer.js +0 -2
  91. package/dist/mosaic-layer.js.map +0 -1
  92. package/dist/texture.d.ts +0 -10
  93. package/dist/texture.d.ts.map +0 -1
  94. package/dist/texture.js +0 -135
  95. package/dist/texture.js.map +0 -1
  96. package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/texture.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import type { TextureProps } from "@luma.gl/core";
2
- import type { GeoTIFFImage, TypedArray } from "geotiff";
3
- /**
4
- * Infers texture properties from a GeoTIFF image and its associated data.
5
- */
6
- export declare function createTextureProps(image: GeoTIFFImage, data: TypedArray, options: {
7
- width: number;
8
- height: number;
9
- }): TextureProps;
10
- //# sourceMappingURL=texture.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../src/texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGxD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzC,YAAY,CAiBd"}
package/dist/texture.js DELETED
@@ -1,135 +0,0 @@
1
- /**
2
- * Infers texture properties from a GeoTIFF image and its associated data.
3
- */
4
- export function createTextureProps(image, data, options) {
5
- const ifd = image.getFileDirectory();
6
- const samplesPerPixel = ifd.SamplesPerPixel;
7
- const textureFormat = inferTextureFormat(samplesPerPixel, ifd.BitsPerSample, ifd.SampleFormat);
8
- return {
9
- data,
10
- dimension: "2d",
11
- format: textureFormat,
12
- width: options.width,
13
- height: options.height,
14
- };
15
- }
16
- /**
17
- * Infer the TextureFormat given values from GeoTIFF tags.
18
- */
19
- function inferTextureFormat(samplesPerPixel, bitsPerSample, sampleFormat) {
20
- const channelCount = verifySamplesPerPixel(samplesPerPixel);
21
- const bitWidth = verifyIdenticalBitsPerSample(bitsPerSample);
22
- const scalarKind = inferScalarKind(sampleFormat);
23
- const formatKey = `${channelCount}:${scalarKind}:${bitWidth}`;
24
- const format = FORMAT_TABLE[formatKey];
25
- if (!format) {
26
- throw new Error(`Unsupported texture format for SamplesPerPixel=${samplesPerPixel}, BitsPerSample=${bitsPerSample}, SampleFormat=${sampleFormat}`);
27
- }
28
- return format;
29
- }
30
- function verifySamplesPerPixel(samplesPerPixel) {
31
- if (samplesPerPixel === 1 ||
32
- samplesPerPixel === 2 ||
33
- samplesPerPixel === 3 ||
34
- samplesPerPixel === 4) {
35
- return samplesPerPixel;
36
- }
37
- throw new Error(`Unsupported SamplesPerPixel ${samplesPerPixel}. Only 1, 2, 3, or 4 are supported.`);
38
- }
39
- function verifyIdenticalBitsPerSample(bitsPerSample) {
40
- // bitsPerSamples is non-empty
41
- const first = bitsPerSample[0];
42
- for (let i = 1; i < bitsPerSample.length; i++) {
43
- if (bitsPerSample[i] !== first) {
44
- throw new Error(`Unsupported varying BitsPerSample ${bitsPerSample}. All samples must have the same bit width.`);
45
- }
46
- }
47
- if (first !== 8 && first !== 16 && first !== 32) {
48
- throw new Error(`Unsupported BitsPerSample ${first}. Only 8, 16, or 32 are supported.`);
49
- }
50
- return first;
51
- }
52
- /**
53
- * Map the geotiff tag SampleFormat to known kinds of scalars
54
- */
55
- function inferScalarKind(sampleFormat) {
56
- // Only support identical SampleFormats for all samples
57
- const first = sampleFormat[0];
58
- for (let i = 1; i < sampleFormat.length; i++) {
59
- if (sampleFormat[i] !== first) {
60
- throw new Error(`Unsupported varying SampleFormat ${sampleFormat}. All samples must have the same format.`);
61
- }
62
- }
63
- switch (first) {
64
- case 1:
65
- return "uint";
66
- case 2:
67
- return "sint";
68
- case 3:
69
- return "float";
70
- default:
71
- throw new Error(`Unsupported SampleFormat ${sampleFormat}`);
72
- }
73
- }
74
- /**
75
- * A mapping of our texture format "key" to allowed TextureFormats defined by
76
- * luma.gl.
77
- *
78
- * See https://luma.gl/docs/api-reference/core/texture-formats for details on
79
- * texture formats.
80
- *
81
- * You can use `device.isTextureFormatSupported(format)` check if it is possible
82
- * to create and sample textures with a specific texture format on your current
83
- * device.
84
- *
85
- * This explicit mapping ensures that Typescript can verify that all keys
86
- * correspond to valid TextureFormats.
87
- */
88
- const FORMAT_TABLE = {
89
- // 1 byte per pixel
90
- "1:sint:8": "r8sint",
91
- "1:uint:8": "r8uint",
92
- "1:unorm:8": "r8unorm",
93
- // 2 bytes per pixel (one channel)
94
- "1:float:16": "r16float",
95
- "1:sint:16": "r16sint",
96
- "1:uint:16": "r16uint",
97
- "1:unorm:16": "r16unorm",
98
- // 2 bytes per pixel (two channels)
99
- "2:sint:8": "rg8sint",
100
- "2:uint:8": "rg8uint",
101
- "2:unorm:8": "rg8unorm",
102
- // 4 bytes per pixel (one channel)
103
- "1:float:32": "r32float",
104
- "1:sint:32": "r32sint",
105
- "1:uint:32": "r32uint",
106
- // 4 bytes per pixel (two channels)
107
- "2:float:16": "rg16float",
108
- "2:sint:16": "rg16sint",
109
- "2:uint:16": "rg16uint",
110
- "2:unorm:16": "rg16unorm",
111
- // 4 bytes per pixel (four channels)
112
- "4:sint:8": "rgba8sint",
113
- "4:uint:8": "rgba8uint",
114
- "4:unorm:8": "rgba8unorm",
115
- // 6 bytes per pixel (three channels)
116
- // Note: this is supported on WebGL2 but not supported on WebGPU
117
- // I expect actual switch to WebGPU to be quite a ways off still
118
- "3:uint:16": "rgb16unorm-webgl",
119
- // 8 bytes per pixel (two channels)
120
- "2:float:32": "rg32float",
121
- "2:sint:32": "rg32sint",
122
- "2:uint:32": "rg32uint",
123
- // 8 bytes per pixel (four channels)
124
- "4:float:16": "rgba16float",
125
- "4:sint:16": "rgba16sint",
126
- "4:uint:16": "rgba16uint",
127
- "4:unorm:16": "rgba16unorm",
128
- // 12 bytes per pixel (three channels)
129
- "3:float:32": "rgb32float-webgl",
130
- // 16 bytes per pixel (four channels)
131
- "4:float:32": "rgba32float",
132
- "4:sint:32": "rgba32sint",
133
- "4:uint:32": "rgba32uint",
134
- };
135
- //# sourceMappingURL=texture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"texture.js","sourceRoot":"","sources":["../src/texture.ts"],"names":[],"mappings":"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"}