ol-stac 1.0.4 → 1.0.5
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/package.json +1 -1
- package/util.d.ts +2 -2
- package/util.d.ts.map +1 -1
- package/util.js +53 -6
- package/util.js.map +1 -1
package/package.json
CHANGED
package/util.d.ts
CHANGED
|
@@ -22,10 +22,10 @@ export function getStacObjectsForEvent(event: import('ol/MapBrowserEvent.js').de
|
|
|
22
22
|
/**
|
|
23
23
|
* Get the source info for the GeoTiff from the asset.
|
|
24
24
|
* @param {import('stac-js').Asset} asset The asset to read the information from.
|
|
25
|
-
* @param {Array<number>}
|
|
25
|
+
* @param {Array<number>} selectedBands The (one-based) bands to show.
|
|
26
26
|
* @return {import('ol/source/GeoTIFF.js').SourceInfo} The source info for the GeoTiff asset
|
|
27
27
|
*/
|
|
28
|
-
export function getGeoTiffSourceInfoFromAsset(asset: any,
|
|
28
|
+
export function getGeoTiffSourceInfoFromAsset(asset: any, selectedBands: Array<number>): import('ol/source/GeoTIFF.js').SourceInfo;
|
|
29
29
|
/**
|
|
30
30
|
* Gets the projection from the asset or link.
|
|
31
31
|
* @param {import('stac-js').STACReference} reference The asset or link to read the information from.
|
package/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/ol/util.js"],"names":[],"mappings":"AAmCA;;;;;;;;;GASG;AACH,sCAPW,SAAS,eACT,MAAM,cACN,SAAS,iBACT,MAAM,GACL,KAAK,CA4BhB;AAgBD;;;;;;;;GAQG;AACH,8CAPW,OAAO,uBAAuB,EAAE,OAAO,6HAItC,QAAQ,WAAW,CAAC,CAoC/B;AAED;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/ol/util.js"],"names":[],"mappings":"AAmCA;;;;;;;;;GASG;AACH,sCAPW,SAAS,eACT,MAAM,cACN,SAAS,iBACT,MAAM,GACL,KAAK,CA4BhB;AAgBD;;;;;;;;GAQG;AACH,8CAPW,OAAO,uBAAuB,EAAE,OAAO,6HAItC,QAAQ,WAAW,CAAC,CAoC/B;AAED;;;;;GAKG;AACH,yEAHW,MAAM,MAAM,CAAC,GACZ,OAAO,sBAAsB,EAAE,UAAU,CAmFpD;AAED;;;;;GAKG;AACH,kEAHW,OAAO,YAAY,EAAE,cAAc,GAClC,QAAQ,OAAO,YAAY,EAAE,cAAc,CAAC,CAmBvD;AAED;;;;;;;;GAQG;AACH,+HAHY,KAAK,CAShB;AAED;;;;;GAKG;AACH,iDAFY,MAAM,GAAC,IAAI,CAgBtB;AA1QD;;GAEG;AACH;;;GAGG;AACH;;GAEG;AAEH;;;GAGG;AACH,8BAFU,MAAM,CAG6C;AAyC7D;;;;GAIG;AACH,iCAHU,KAAK,CAG0C;AAEzD;;;;GAIG;AACH,qCAHU,KAAK,CAGoD;wBApEtD,OAAO,iBAAiB,EAAE,SAAS;;sBAOnC,OAAO,eAAe,EAAE,OAAO;kBAhB1B,mBAAmB"}
|
package/util.js
CHANGED
|
@@ -105,17 +105,19 @@ export async function getStacObjectsForEvent(event, exclude = null, selectedFeat
|
|
|
105
105
|
/**
|
|
106
106
|
* Get the source info for the GeoTiff from the asset.
|
|
107
107
|
* @param {import('stac-js').Asset} asset The asset to read the information from.
|
|
108
|
-
* @param {Array<number>}
|
|
108
|
+
* @param {Array<number>} selectedBands The (one-based) bands to show.
|
|
109
109
|
* @return {import('ol/source/GeoTIFF.js').SourceInfo} The source info for the GeoTiff asset
|
|
110
110
|
*/
|
|
111
|
-
export function getGeoTiffSourceInfoFromAsset(asset,
|
|
111
|
+
export function getGeoTiffSourceInfoFromAsset(asset, selectedBands) {
|
|
112
112
|
const sourceInfo = {
|
|
113
113
|
url: asset.getAbsoluteUrl(),
|
|
114
114
|
};
|
|
115
115
|
let source = asset;
|
|
116
|
+
let bands = asset.getBands();
|
|
116
117
|
// If there's just one band, we can also read the information from there.
|
|
117
|
-
if (
|
|
118
|
-
source =
|
|
118
|
+
if (bands.length === 1) {
|
|
119
|
+
source = bands[0];
|
|
120
|
+
bands = [];
|
|
119
121
|
}
|
|
120
122
|
// TODO: It would be useful if OL would allow min/max values per band
|
|
121
123
|
const { minimum, maximum } = source.getMinMaxValues();
|
|
@@ -125,13 +127,58 @@ export function getGeoTiffSourceInfoFromAsset(asset, bands) {
|
|
|
125
127
|
if (typeof maximum === 'number') {
|
|
126
128
|
sourceInfo.max = maximum;
|
|
127
129
|
}
|
|
130
|
+
if (typeof sourceInfo.min !== 'number' &&
|
|
131
|
+
typeof sourceInfo.max !== 'number' &&
|
|
132
|
+
bands.length > 1) {
|
|
133
|
+
// Read from bands as fallback and if available
|
|
134
|
+
for (const band of bands) {
|
|
135
|
+
const { minimum, maximum } = band.getMinMaxValues();
|
|
136
|
+
if (typeof minimum === 'number' &&
|
|
137
|
+
(typeof sourceInfo.min === 'undefined' || minimum < sourceInfo.min)) {
|
|
138
|
+
sourceInfo.min = minimum;
|
|
139
|
+
}
|
|
140
|
+
if (typeof maximum === 'number' &&
|
|
141
|
+
(typeof sourceInfo.max === 'undefined' || maximum > sourceInfo.max)) {
|
|
142
|
+
sourceInfo.max = maximum;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
128
146
|
// TODO: It would be useful if OL would allow multiple no-data values
|
|
129
147
|
const nodata = source.getNoDataValues();
|
|
130
148
|
if (nodata.length > 0) {
|
|
131
149
|
sourceInfo.nodata = nodata[0];
|
|
132
150
|
}
|
|
133
|
-
if (bands.length >
|
|
134
|
-
|
|
151
|
+
else if (bands.length > 1) {
|
|
152
|
+
// Read from bands as fallback and if available
|
|
153
|
+
let nodata = undefined;
|
|
154
|
+
for (const band of bands) {
|
|
155
|
+
const bandNoData = band.getNoDataValues();
|
|
156
|
+
if (bandNoData.length > 0) {
|
|
157
|
+
if (typeof nodata === 'undefined') {
|
|
158
|
+
nodata = bandNoData[0];
|
|
159
|
+
}
|
|
160
|
+
else if (nodata !== bandNoData[0]) {
|
|
161
|
+
nodata = undefined;
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (typeof nodata !== 'undefined') {
|
|
167
|
+
sourceInfo.nodata = nodata;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (selectedBands.length > 0) {
|
|
171
|
+
sourceInfo.bands = selectedBands;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
const visualBands = asset.findVisualBands();
|
|
175
|
+
if (visualBands) {
|
|
176
|
+
sourceInfo.bands = [
|
|
177
|
+
visualBands.red.getIndex() + 1,
|
|
178
|
+
visualBands.green.getIndex() + 1,
|
|
179
|
+
visualBands.blue.getIndex() + 1,
|
|
180
|
+
];
|
|
181
|
+
}
|
|
135
182
|
}
|
|
136
183
|
return sourceInfo;
|
|
137
184
|
}
|
package/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/ol/util.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,YAAY,IAAI,iBAAiB,GAClC,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH;;;GAGG;AACH;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,0DAA0D,CAAC;AAE7D,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,EAAC,KAAK,EAAE,eAAe,EAAC,CAAC,CAAC;AAE3D;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CACtB,WAAW,EACX,WAAW,EACX,SAAS,GAAG,uBAAuB,EACnC,YAAY,GAAG,CAAC;IAEhB,IAAI,IAAI,GAAG,eAAe,CAAC;IAC3B,IAAI,SAAS,EAAE;QACb,IAAI,GAAG,IAAI,IAAI,CAAC;YACd,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;KACJ;IACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;KACnB,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,CAAC;QACf,KAAK,EAAE,IAAI,MAAM,CAAC;YAChB,IAAI;YACJ,MAAM;YACN,MAAM,EAAE,YAAY;SACrB,CAAC;QACF,IAAI;QACJ,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAK,EACL,OAAO,GAAG,IAAI,EACd,gBAAgB,GAAG,IAAI,EACvB,YAAY,GAAG,CAAC;IAEhB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAC7B,KAAK,CAAC,KAAK;IACX,4CAA4C;IAC5C,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,gBAAgB,EAAE;YACpB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAChC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC,EACD;QACE,oCAAoC;QACpC,YAAY;QACZ,wEAAwE;QACxE,uDAAuD;QACvD,WAAW,CAAC,KAAK;YACf,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;gBAChE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;oBAC/D,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CACF,CAAC;IACF,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/ol/util.js"],"names":[],"mappings":"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"}
|