@vcmap/core 6.2.2 → 6.2.3

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.
@@ -63,6 +63,7 @@ export type WMSFeatureProviderOptions = AbstractFeatureProviderOptions & {
63
63
  * @default '1.1.1'
64
64
  */
65
65
  version?: string;
66
+ htmlPositionFeatureTitle?: string;
66
67
  };
67
68
  declare const gmlFormats: {
68
69
  GML: typeof GML3;
@@ -110,6 +111,7 @@ declare class WMSFeatureProvider extends AbstractFeatureProvider {
110
111
  * The feature response projection, if not present in the response format.
111
112
  */
112
113
  projection: Projection | undefined;
114
+ htmlPositionFeatureTitle?: string;
113
115
  constructor(layerName: string, options: WMSFeatureProviderOptions);
114
116
  get wmsSource(): TileWMS;
115
117
  set wmsSource(source: TileWMS);
@@ -7,6 +7,7 @@ import Point from 'ol/geom/Point.js';
7
7
  import { getTransform } from 'ol/proj.js';
8
8
  import { Feature } from 'ol';
9
9
  import WMSGetFeatureInfo from 'ol/format/WMSGetFeatureInfo.js';
10
+ import { containsCoordinate } from 'ol/extent.js';
10
11
  import { parseInteger } from '@vcsuite/parsers';
11
12
  import { getLogger } from '@vcsuite/logger';
12
13
  import AbstractFeatureProvider from './abstractFeatureProvider.js';
@@ -71,6 +72,20 @@ export function getFormat(responseType, options = {}, format, gmlFormatKey) {
71
72
  }
72
73
  return null;
73
74
  }
75
+ /**
76
+ * Calculates meters per degree at a given coordinate's latitude
77
+ * @param coordinate - Coordinate in geographic projection
78
+ * @returns Meters per degree at the coordinate's latitude
79
+ */
80
+ function getMetersPerDegreeAtCoordinate(coordinate) {
81
+ const latitude = coordinate[1];
82
+ const latitudeRadians = (latitude * Math.PI) / 180;
83
+ // Meters per degree longitude varies with latitude: cos(lat) * metersPerDegreeAtEquator
84
+ // Meters per degree latitude is approximately constant at ~111,320 m
85
+ // Using an average that accounts for longitude compression at latitude
86
+ const metersPerDegreeAtEquator = 111320;
87
+ return metersPerDegreeAtEquator * Math.cos(latitudeRadians);
88
+ }
74
89
  class WMSFeatureProvider extends AbstractFeatureProvider {
75
90
  static get className() {
76
91
  return 'WMSFeatureProvider';
@@ -120,6 +135,7 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
120
135
  * The feature response projection, if not present in the response format.
121
136
  */
122
137
  projection;
138
+ htmlPositionFeatureTitle;
123
139
  constructor(layerName, options) {
124
140
  super(layerName, options);
125
141
  const defaultOptions = WMSFeatureProvider.getDefaultOptions();
@@ -150,6 +166,7 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
150
166
  this.projection = options.projection
151
167
  ? new Projection(options.projection)
152
168
  : undefined;
169
+ this.htmlPositionFeatureTitle = options.htmlPositionFeatureTitle;
153
170
  }
154
171
  get wmsSource() {
155
172
  if (!this._wmsSource) {
@@ -167,7 +184,7 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
167
184
  let features = [];
168
185
  try {
169
186
  if (this.featureInfoResponseType === 'text/html') {
170
- features = [new Feature()];
187
+ features = [new Feature({ title: this.htmlPositionFeatureTitle })];
171
188
  }
172
189
  else {
173
190
  features = this.featureFormat.readFeatures(data, {
@@ -192,15 +209,24 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
192
209
  return [];
193
210
  }
194
211
  async getFeaturesByCoordinate(coordinate, resolution, headers) {
212
+ if (this.extent?.isValid() &&
213
+ !containsCoordinate(this.extent.getCoordinatesInProjection(mercatorProjection), coordinate)) {
214
+ return [];
215
+ }
195
216
  const projection = this.wmsSource.getProjection();
196
217
  let coords = coordinate;
218
+ let res = resolution;
197
219
  if (projection) {
198
220
  const transform = getTransform(mercatorProjection.proj, projection);
199
- // error in TransformFunction type definition, remove undefined after openlayer fixed the type
200
- coords = transform(coordinate.slice(), undefined, undefined);
221
+ coords = transform(coordinate.slice());
201
222
  }
202
- const metersPerUnit = 111194.87428468118;
203
- const url = this.wmsSource.getFeatureInfoUrl(coords, resolution / metersPerUnit, projection, { INFO_FORMAT: this.featureInfoResponseType });
223
+ if (projection.getUnits() === 'degrees') {
224
+ const metersPerDegree = getMetersPerDegreeAtCoordinate(coords);
225
+ res = resolution / metersPerDegree;
226
+ }
227
+ const url = this.wmsSource.getFeatureInfoUrl(coords, res, projection, {
228
+ INFO_FORMAT: this.featureInfoResponseType,
229
+ });
204
230
  if (this.featureInfoResponseType === 'text/html') {
205
231
  return this.featureResponseCallback(null, coordinate).map((f) => this.getProviderFeature(f));
206
232
  }
@@ -258,6 +284,9 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
258
284
  if (this.extent) {
259
285
  config.extent = this.extent.toJSON();
260
286
  }
287
+ if (this.htmlPositionFeatureTitle) {
288
+ config.htmlPositionFeatureTitle = this.htmlPositionFeatureTitle;
289
+ }
261
290
  return config;
262
291
  }
263
292
  destroy() {
@@ -1 +1 @@
1
- {"version":3,"file":"wmsFeatureProvider.js","sourceRoot":"","sources":["../../../src/featureProvider/wmsFeatureProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wmsFeatureProvider.js","sourceRoot":"","sources":["../../../src/featureProvider/wmsFeatureProvider.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export default class COGImageryProvider {
9
9
  private _tilingScheme;
10
10
  private _tileGrid;
11
11
  private _boundTileLoader;
12
+ readonly tileWidth: number;
13
+ readonly tileHeight: number;
12
14
  constructor(_source: GeoTIFFSource);
13
15
  get _ready(): boolean;
14
16
  get ready(): boolean;
@@ -17,8 +19,6 @@ export default class COGImageryProvider {
17
19
  readonly errorEvent: CesiumEvent;
18
20
  get credit(): undefined;
19
21
  get proxy(): undefined;
20
- get tileWidth(): number;
21
- get tileHeight(): number;
22
22
  get maximumLevel(): number;
23
23
  get minimumLevel(): number;
24
24
  get tileDiscardPolicy(): undefined;
@@ -49,6 +49,8 @@ export default class COGImageryProvider {
49
49
  _tilingScheme;
50
50
  _tileGrid;
51
51
  _boundTileLoader;
52
+ tileWidth = 256;
53
+ tileHeight = 256;
52
54
  constructor(_source) {
53
55
  this._source = _source;
54
56
  this._emptyCanvas = createEmptyCanvas(this.tileWidth, this.tileHeight);
@@ -61,6 +63,10 @@ export default class COGImageryProvider {
61
63
  else {
62
64
  this._boundTileLoader = this._loadUnalignedTile.bind(this);
63
65
  }
66
+ // @ts-expect-error protected
67
+ const [width, height] = this._source.getTileSize(0);
68
+ this.tileWidth = Math.round(width);
69
+ this.tileHeight = Math.round(height);
64
70
  }
65
71
  // eslint-disable-next-line class-methods-use-this,@typescript-eslint/naming-convention
66
72
  get _ready() {
@@ -85,32 +91,6 @@ export default class COGImageryProvider {
85
91
  get proxy() {
86
92
  return undefined;
87
93
  }
88
- get tileWidth() {
89
- const tileGrid = this._source.getTileGrid();
90
- if (tileGrid) {
91
- const tileSizeAtZoom0 = tileGrid.getTileSize(0);
92
- if (Array.isArray(tileSizeAtZoom0)) {
93
- return Math.round(tileSizeAtZoom0[0]);
94
- }
95
- else {
96
- return Math.round(tileSizeAtZoom0); // same width and height
97
- }
98
- }
99
- return 256;
100
- }
101
- get tileHeight() {
102
- const tileGrid = this._source.getTileGrid();
103
- if (tileGrid) {
104
- const tileSizeAtZoom0 = tileGrid.getTileSize(0);
105
- if (Array.isArray(tileSizeAtZoom0)) {
106
- return Math.round(tileSizeAtZoom0[1]);
107
- }
108
- else {
109
- return Math.round(tileSizeAtZoom0); // same width and height
110
- }
111
- }
112
- return 256;
113
- }
114
94
  get maximumLevel() {
115
95
  const tileGrid = this._source.getTileGrid();
116
96
  if (tileGrid) {
@@ -1 +1 @@
1
- {"version":3,"file":"cogImageryProvider.js","sourceRoot":"","sources":["../../../../src/layer/cesium/cogImageryProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cogImageryProvider.js","sourceRoot":"","sources":["../../../../src/layer/cesium/cogImageryProvider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import GeoTIFF from 'ol/source/GeoTIFF.js';
1
+ import GeoTIFF, { type GeoTIFFSourceOptions } from 'ol/source/GeoTIFF.js';
2
2
  import RasterLayer, { type RasterLayerImplementationOptions, type RasterLayerOptions } from './rasterLayer.js';
3
3
  import type VcsMap from '../map/vcsMap.js';
4
4
  import COGOpenlayersImpl from './openlayers/cogOpenlayersImpl.js';
@@ -17,6 +17,11 @@ export type COGLayerOptions = Omit<RasterLayerOptions, 'tilingSchema'> & {
17
17
  * Passed directly to the GeoTIFF source.
18
18
  */
19
19
  interpolate?: boolean;
20
+ /**
21
+ * Passed directly to the GeoTIFF.js source options see
22
+ * https://openlayers.org/en/latest/apidoc/module-ol_source_GeoTIFF.html#~GeoTIFFSourceOptions
23
+ */
24
+ sourceOptions?: GeoTIFFSourceOptions;
20
25
  };
21
26
  export type COGLayerImplementationOptions = RasterLayerImplementationOptions & {
22
27
  source: GeoTIFF;
@@ -45,6 +45,7 @@ class COGLayer extends RasterLayer {
45
45
  convertToRGB: 'auto',
46
46
  normalize: undefined,
47
47
  interpolate: undefined,
48
+ sourceOptions: undefined,
48
49
  };
49
50
  }
50
51
  _sourceOptions;
@@ -56,6 +57,9 @@ class COGLayer extends RasterLayer {
56
57
  convertToRGB: options.convertToRGB ?? defaultOptions.convertToRGB,
57
58
  normalize: options.normalize,
58
59
  interpolate: options.interpolate,
60
+ sourceOptions: options.sourceOptions
61
+ ? structuredClone(options.sourceOptions)
62
+ : defaultOptions.sourceOptions,
59
63
  };
60
64
  this._supportedMaps = [OpenlayersMap.className, CesiumMap.className];
61
65
  }
@@ -97,6 +101,9 @@ class COGLayer extends RasterLayer {
97
101
  if (this._sourceOptions.interpolate != null) {
98
102
  config.interpolate = this._sourceOptions.interpolate;
99
103
  }
104
+ if (this._sourceOptions.sourceOptions != null) {
105
+ config.sourceOptions = structuredClone(this._sourceOptions.sourceOptions);
106
+ }
100
107
  return config;
101
108
  }
102
109
  destroy() {
@@ -1 +1 @@
1
- {"version":3,"file":"cogLayer.js","sourceRoot":"","sources":["../../../src/layer/cogLayer.ts"],"names":[],"mappings":"AAAA,OAAO,OAA2C,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,WAAW,EAAE,EAGlB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAqB3D,SAAS,yBAAyB,CAAC,MAAe;IAChD,IAAI,GAA0B,CAAC;IAC/B,OAAO,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnD,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;gBAClC,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBACrE,CAAC;qBAAM,IAAI,UAAU,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;oBACjD,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,UAAU,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;oBACjD,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACxC,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,QAAS,SAAQ,WAA8C;IACnE,MAAM,KAAK,SAAS;QAClB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,OAAO;YACL,GAAG,WAAW,CAAC,iBAAiB,EAAE;YAClC,YAAY,EAAE,MAAM;YACpB,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,SAAS;SACvB,CAAC;IACJ,CAAC;IAEO,cAAc,CAA0B;IACxC,OAAO,CAAsB;IAErC,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;YACjE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC;gBACzB,GAAG,IAAI,CAAC,cAAc;gBACtB,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,wBAAwB;QACtB,OAAO;YACL,GAAG,KAAK,CAAC,wBAAwB,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,OAAQ;SACtB,CAAC;IACJ,CAAC;IAED,2BAA2B,CACzB,GAAW;QAEX,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAEpD,OAAO,MAAM,CAAC,YAAY,CAAC;QAC3B,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,KAAK,cAAc,CAAC,YAAY,EAAE,CAAC;YACrE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC1C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC5C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,eAAe;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,MAAM,CAAC;gBAChB,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE;aACxC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;CACF;AAED,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/D,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"cogLayer.js","sourceRoot":"","sources":["../../../src/layer/cogLayer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcmap/core",
3
- "version": "6.2.2",
3
+ "version": "6.2.3",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -13,6 +13,7 @@ import type { TileWMS } from 'ol/source.js';
13
13
  import type FeatureFormat from 'ol/format/Feature.js';
14
14
  import WMSGetFeatureInfo from 'ol/format/WMSGetFeatureInfo.js';
15
15
  import type { Options as WMSGetFeatureInfoOptions } from 'ol/format/WMSGetFeatureInfo.js';
16
+ import { containsCoordinate } from 'ol/extent.js';
16
17
  import { parseInteger } from '@vcsuite/parsers';
17
18
  import { getLogger } from '@vcsuite/logger';
18
19
  import type { AbstractFeatureProviderOptions } from './abstractFeatureProvider.js';
@@ -76,6 +77,7 @@ export type WMSFeatureProviderOptions = AbstractFeatureProviderOptions & {
76
77
  * @default '1.1.1'
77
78
  */
78
79
  version?: string;
80
+ htmlPositionFeatureTitle?: string;
79
81
  };
80
82
 
81
83
  const gmlFormats = { GML: GML3, GML2, GML3, GML32 };
@@ -153,6 +155,22 @@ export function getFormat(
153
155
  return null;
154
156
  }
155
157
 
158
+ /**
159
+ * Calculates meters per degree at a given coordinate's latitude
160
+ * @param coordinate - Coordinate in geographic projection
161
+ * @returns Meters per degree at the coordinate's latitude
162
+ */
163
+ function getMetersPerDegreeAtCoordinate(coordinate: Coordinate): number {
164
+ const latitude = coordinate[1];
165
+ const latitudeRadians = (latitude * Math.PI) / 180;
166
+
167
+ // Meters per degree longitude varies with latitude: cos(lat) * metersPerDegreeAtEquator
168
+ // Meters per degree latitude is approximately constant at ~111,320 m
169
+ // Using an average that accounts for longitude compression at latitude
170
+ const metersPerDegreeAtEquator = 111320;
171
+ return metersPerDegreeAtEquator * Math.cos(latitudeRadians);
172
+ }
173
+
156
174
  class WMSFeatureProvider extends AbstractFeatureProvider {
157
175
  static get className(): string {
158
176
  return 'WMSFeatureProvider';
@@ -213,6 +231,8 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
213
231
  */
214
232
  projection: Projection | undefined;
215
233
 
234
+ htmlPositionFeatureTitle?: string;
235
+
216
236
  constructor(layerName: string, options: WMSFeatureProviderOptions) {
217
237
  super(layerName, options);
218
238
  const defaultOptions = WMSFeatureProvider.getDefaultOptions();
@@ -250,6 +270,7 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
250
270
  this.projection = options.projection
251
271
  ? new Projection(options.projection)
252
272
  : undefined;
273
+ this.htmlPositionFeatureTitle = options.htmlPositionFeatureTitle;
253
274
  }
254
275
 
255
276
  get wmsSource(): TileWMS {
@@ -273,7 +294,7 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
273
294
 
274
295
  try {
275
296
  if (this.featureInfoResponseType === 'text/html') {
276
- features = [new Feature()];
297
+ features = [new Feature({ title: this.htmlPositionFeatureTitle })];
277
298
  } else {
278
299
  features = this.featureFormat!.readFeatures(data, {
279
300
  dataProjection: this.projection ? this.projection.proj : undefined,
@@ -305,21 +326,31 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
305
326
  resolution: number,
306
327
  headers?: Record<string, string>,
307
328
  ): Promise<Feature[]> {
329
+ if (
330
+ this.extent?.isValid() &&
331
+ !containsCoordinate(
332
+ this.extent.getCoordinatesInProjection(mercatorProjection),
333
+ coordinate,
334
+ )
335
+ ) {
336
+ return [];
337
+ }
338
+
308
339
  const projection = this.wmsSource.getProjection() as OLProjection;
309
340
  let coords = coordinate;
341
+ let res = resolution;
310
342
  if (projection) {
311
343
  const transform = getTransform(mercatorProjection.proj, projection);
312
- // error in TransformFunction type definition, remove undefined after openlayer fixed the type
313
- coords = transform(coordinate.slice(), undefined, undefined);
344
+ coords = transform(coordinate.slice());
345
+ }
346
+ if (projection.getUnits() === 'degrees') {
347
+ const metersPerDegree = getMetersPerDegreeAtCoordinate(coords);
348
+ res = resolution / metersPerDegree;
314
349
  }
315
350
 
316
- const metersPerUnit = 111194.87428468118;
317
- const url = this.wmsSource.getFeatureInfoUrl(
318
- coords,
319
- resolution / metersPerUnit,
320
- projection,
321
- { INFO_FORMAT: this.featureInfoResponseType },
322
- );
351
+ const url = this.wmsSource.getFeatureInfoUrl(coords, res, projection, {
352
+ INFO_FORMAT: this.featureInfoResponseType,
353
+ });
323
354
 
324
355
  if (this.featureInfoResponseType === 'text/html') {
325
356
  return this.featureResponseCallback(null, coordinate).map((f) =>
@@ -389,6 +420,9 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
389
420
  if (this.extent) {
390
421
  config.extent = this.extent.toJSON();
391
422
  }
423
+ if (this.htmlPositionFeatureTitle) {
424
+ config.htmlPositionFeatureTitle = this.htmlPositionFeatureTitle;
425
+ }
392
426
 
393
427
  return config as WMSFeatureProviderOptions;
394
428
  }
package/src/global.d.ts CHANGED
@@ -4,7 +4,6 @@ import type { mouseOverSymbol } from './util/editor/editorSymbols.js';
4
4
  import type { default as VcsModule, VcsModuleConfig } from './vcsModule.js';
5
5
 
6
6
  declare global {
7
- // eslint-disable-next-line no-var
8
7
  var useVcsCustomShading: boolean | undefined;
9
8
 
10
9
  interface Window {
@@ -98,6 +98,10 @@ export default class COGImageryProvider {
98
98
  level: number,
99
99
  ) => Promise<ImageryTypes>;
100
100
 
101
+ readonly tileWidth: number = 256;
102
+
103
+ readonly tileHeight: number = 256;
104
+
101
105
  constructor(private _source: GeoTIFFSource) {
102
106
  this._emptyCanvas = createEmptyCanvas(this.tileWidth, this.tileHeight);
103
107
  this._projection = this._source.getProjection()!;
@@ -108,6 +112,11 @@ export default class COGImageryProvider {
108
112
  } else {
109
113
  this._boundTileLoader = this._loadUnalignedTile.bind(this);
110
114
  }
115
+
116
+ // @ts-expect-error protected
117
+ const [width, height] = this._source.getTileSize(0);
118
+ this.tileWidth = Math.round(width);
119
+ this.tileHeight = Math.round(height);
111
120
  }
112
121
 
113
122
  // eslint-disable-next-line class-methods-use-this,@typescript-eslint/naming-convention
@@ -140,32 +149,6 @@ export default class COGImageryProvider {
140
149
  return undefined;
141
150
  }
142
151
 
143
- get tileWidth(): number {
144
- const tileGrid = this._source.getTileGrid();
145
- if (tileGrid) {
146
- const tileSizeAtZoom0 = tileGrid.getTileSize(0);
147
- if (Array.isArray(tileSizeAtZoom0)) {
148
- return Math.round(tileSizeAtZoom0[0]);
149
- } else {
150
- return Math.round(tileSizeAtZoom0); // same width and height
151
- }
152
- }
153
- return 256;
154
- }
155
-
156
- get tileHeight(): number {
157
- const tileGrid = this._source.getTileGrid();
158
- if (tileGrid) {
159
- const tileSizeAtZoom0 = tileGrid.getTileSize(0);
160
- if (Array.isArray(tileSizeAtZoom0)) {
161
- return Math.round(tileSizeAtZoom0[1]);
162
- } else {
163
- return Math.round(tileSizeAtZoom0); // same width and height
164
- }
165
- }
166
- return 256;
167
- }
168
-
169
152
  get maximumLevel(): number {
170
153
  const tileGrid = this._source.getTileGrid();
171
154
  if (tileGrid) {
@@ -1,4 +1,7 @@
1
- import GeoTIFF, { type Options as GeoTIFFOptions } from 'ol/source/GeoTIFF.js';
1
+ import GeoTIFF, {
2
+ type GeoTIFFSourceOptions,
3
+ type Options as GeoTIFFOptions,
4
+ } from 'ol/source/GeoTIFF.js';
2
5
  import type { EventsKey } from 'ol/events.js';
3
6
  import { unByKey } from 'ol/Observable.js';
4
7
  import RasterLayer, {
@@ -28,6 +31,11 @@ export type COGLayerOptions = Omit<RasterLayerOptions, 'tilingSchema'> & {
28
31
  * Passed directly to the GeoTIFF source.
29
32
  */
30
33
  interpolate?: boolean;
34
+ /**
35
+ * Passed directly to the GeoTIFF.js source options see
36
+ * https://openlayers.org/en/latest/apidoc/module-ol_source_GeoTIFF.html#~GeoTIFFSourceOptions
37
+ */
38
+ sourceOptions?: GeoTIFFSourceOptions;
31
39
  };
32
40
 
33
41
  export type COGLayerImplementationOptions = RasterLayerImplementationOptions & {
@@ -72,6 +80,7 @@ class COGLayer extends RasterLayer<COGOpenlayersImpl | COGCesiumImpl> {
72
80
  convertToRGB: 'auto',
73
81
  normalize: undefined,
74
82
  interpolate: undefined,
83
+ sourceOptions: undefined,
75
84
  };
76
85
  }
77
86
 
@@ -85,6 +94,9 @@ class COGLayer extends RasterLayer<COGOpenlayersImpl | COGCesiumImpl> {
85
94
  convertToRGB: options.convertToRGB ?? defaultOptions.convertToRGB,
86
95
  normalize: options.normalize,
87
96
  interpolate: options.interpolate,
97
+ sourceOptions: options.sourceOptions
98
+ ? structuredClone(options.sourceOptions)
99
+ : defaultOptions.sourceOptions,
88
100
  };
89
101
 
90
102
  this._supportedMaps = [OpenlayersMap.className, CesiumMap.className];
@@ -138,6 +150,10 @@ class COGLayer extends RasterLayer<COGOpenlayersImpl | COGCesiumImpl> {
138
150
  config.interpolate = this._sourceOptions.interpolate;
139
151
  }
140
152
 
153
+ if (this._sourceOptions.sourceOptions != null) {
154
+ config.sourceOptions = structuredClone(this._sourceOptions.sourceOptions);
155
+ }
156
+
141
157
  return config;
142
158
  }
143
159