@basemaps/shared 8.9.6 → 8.9.7

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ import assert from 'node:assert';
2
+ import { describe, it } from 'node:test';
3
+ import { getImageryCenterZoom, PreviewSize } from '../imagery.url.js';
4
+ describe('getImageryListCenterZoom', () => {
5
+ const imagery1 = {
6
+ title: 'Imagery 1',
7
+ uri: 's3://bucket/imagery1/',
8
+ projection: 3857,
9
+ tileMatrix: 'WebMercatorQuad',
10
+ bounds: { x: 0, y: 0, width: 111_000, height: 111_000 },
11
+ files: [],
12
+ };
13
+ const imagery2 = {
14
+ title: 'Imagery 2',
15
+ uri: 's3://bucket/imagery2/',
16
+ projection: 3857,
17
+ tileMatrix: 'WebMercatorQuad',
18
+ bounds: { x: 111_000, y: 111_000, width: 111_000, height: 111_000 },
19
+ files: [],
20
+ };
21
+ const negativeImagery = {
22
+ title: 'Imagery 2',
23
+ uri: 's3://bucket/imagery2/',
24
+ projection: 3857,
25
+ tileMatrix: 'WebMercatorQuad',
26
+ bounds: { x: -222_000, y: -222_000, width: 222_000, height: 222_000 },
27
+ files: [],
28
+ };
29
+ it('should calculate center and zoom for a single imagery', () => {
30
+ const result = getImageryCenterZoom([imagery1], PreviewSize);
31
+ assert.equal(result.lat.toFixed(2), '0.50');
32
+ assert.equal(result.lon.toFixed(2), '0.50');
33
+ const resultSingle = getImageryCenterZoom(imagery1, PreviewSize);
34
+ assert.equal(resultSingle.lat.toFixed(2), '0.50');
35
+ assert.equal(resultSingle.lon.toFixed(2), '0.50');
36
+ });
37
+ it('should calculate center and zoom for two imagery sets', () => {
38
+ const result = getImageryCenterZoom([imagery1, imagery2], PreviewSize);
39
+ const resultSingle = getImageryCenterZoom([imagery1], PreviewSize);
40
+ assert.ok(result.zoom <= resultSingle.zoom);
41
+ assert.equal(result.lat.toFixed(2), '1.00');
42
+ assert.equal(result.lon.toFixed(2), '1.00');
43
+ });
44
+ it('should calculate center and zoom for three imagery sets', () => {
45
+ const result = getImageryCenterZoom([imagery1, imagery2, negativeImagery], PreviewSize);
46
+ const resultSingle = getImageryCenterZoom(imagery1, PreviewSize);
47
+ assert.ok(result.zoom <= resultSingle.zoom);
48
+ assert.equal(result.lat.toFixed(2), '0.00');
49
+ assert.equal(result.lon.toFixed(2), '0.00');
50
+ });
51
+ });
52
+ //# sourceMappingURL=imagery.url.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imagery.url.test.js","sourceRoot":"","sources":["../../src/__tests__/imagery.url.test.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,32 @@ export declare const PreviewSize: {
4
4
  width: number;
5
5
  height: number;
6
6
  };
7
- export declare function getImageryCenterZoom(im: ConfigImagery, previewSize: Size): {
7
+ /**
8
+ * Find the approximate center and zoom level for of a imagery set
9
+ *
10
+ * @param imageryList
11
+ * @param previewSize
12
+ * @returns approximate center and zoom level for the imagery set
13
+ */
14
+ export declare function getImageryCenterZoom(imagery: ConfigImagery | ConfigImagery[], previewSize?: Size): {
8
15
  lat: number;
9
16
  lon: number;
10
17
  zoom: number;
11
18
  };
19
+ /**
20
+ * Create a slug for a location that can be used in basemaps links and is human readable
21
+ *
22
+ * in the format `@${lat},${lon},z${llz.zoom}`;
23
+ *
24
+ * @example "@-36.5518610,174.8770907,z8"
25
+ * @param llz
26
+ * @returns
27
+ */
28
+ export declare function toSlug(llz: {
29
+ lat: number;
30
+ lon: number;
31
+ zoom: number;
32
+ }): string;
12
33
  export interface PreviewConfig {
13
34
  /** imagery to create a preview URL for */
14
35
  imagery: ConfigImagery;
@@ -1,32 +1,54 @@
1
1
  import { standardizeLayerName } from '@basemaps/config';
2
- import { Projection, TileMatrixSets } from '@basemaps/geo';
2
+ import { Bounds, Projection, TileMatrixSets } from '@basemaps/geo';
3
3
  export const PreviewSize = { width: 1200, height: 630 };
4
- export function getImageryCenterZoom(im, previewSize) {
5
- const center = { x: im.bounds.x + im.bounds.width / 2, y: im.bounds.y + im.bounds.height / 2 };
4
+ /**
5
+ * Find the approximate center and zoom level for of a imagery set
6
+ *
7
+ * @param imageryList
8
+ * @param previewSize
9
+ * @returns approximate center and zoom level for the imagery set
10
+ */
11
+ export function getImageryCenterZoom(imagery, previewSize = PreviewSize) {
12
+ const bounds = Array.isArray(imagery) ? Bounds.union(imagery.map((i) => i.bounds)) : imagery.bounds;
13
+ const tileMatrix = Array.isArray(imagery) ? imagery[0].tileMatrix : imagery.tileMatrix;
14
+ const center = { x: bounds.x + bounds.width / 2, y: bounds.y + bounds.height / 2 };
6
15
  // Find a approximate GSD needed to show most of the imagery
7
- const aspectWidth = im.bounds.width / previewSize.width;
8
- const aspectHeight = im.bounds.height / previewSize.height;
16
+ const aspectWidth = bounds.width / previewSize.width;
17
+ const aspectHeight = bounds.height / previewSize.height;
9
18
  const bestAspect = Math.min(aspectHeight, aspectWidth);
10
- const tms = TileMatrixSets.find(im.tileMatrix);
19
+ const tms = TileMatrixSets.find(tileMatrix);
11
20
  if (tms == null)
12
- throw new Error(`Failed to lookup tileMatrix: ${im.tileMatrix}`);
21
+ throw new Error(`Failed to lookup tileMatrix: ${tileMatrix}`);
13
22
  const proj = Projection.get(tms);
14
23
  const centerLatLon = proj.toWgs84([center.x, center.y]);
15
24
  const targetZoom = Math.max(tms.findBestZoom(bestAspect) - 12, 0);
16
25
  return { lat: centerLatLon[1], lon: centerLatLon[0], zoom: targetZoom };
17
26
  }
27
+ /**
28
+ * Create a slug for a location that can be used in basemaps links and is human readable
29
+ *
30
+ * in the format `@${lat},${lon},z${llz.zoom}`;
31
+ *
32
+ * @example "@-36.5518610,174.8770907,z8"
33
+ * @param llz
34
+ * @returns
35
+ */
36
+ export function toSlug(llz) {
37
+ const lat = llz.lat.toFixed(7);
38
+ const lon = llz.lon.toFixed(7);
39
+ return `@${lat},${lon},z${llz.zoom}`;
40
+ }
18
41
  export function getPreviewUrl(ctx) {
19
- const location = getImageryCenterZoom(ctx.imagery, ctx.size ?? PreviewSize);
42
+ const location = getImageryCenterZoom(ctx.imagery, ctx.size);
20
43
  const targetZoom = location.zoom;
21
44
  const lat = location.lat.toFixed(7);
22
45
  const lon = location.lon.toFixed(7);
23
- const slug = `@${lat},${lon},z${location.zoom}`;
24
46
  const name = standardizeLayerName(ctx.imagery.name);
25
47
  const query = getPreviewQuery(ctx);
26
48
  return {
27
49
  name,
28
50
  location,
29
- slug,
51
+ slug: toSlug(location),
30
52
  query,
31
53
  url: `/v1/preview/${name}/${ctx.imagery.tileMatrix}/${targetZoom}/${lon}/${lat}${query}`,
32
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"imagery.url.js","sourceRoot":"","sources":["../src/imagery.url.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imagery.url.js","sourceRoot":"","sources":["../src/imagery.url.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export { ConfigDynamoBase } from './dynamo/dynamo.config.base.js';
8
8
  export { ConfigProviderDynamo } from './dynamo/dynamo.config.js';
9
9
  export { Fsa as fsa, FsaCache, FsaChunk, FsaLog, s3Config, signS3Get, stringToUrlFolder, urlToString, } from './file.system.js';
10
10
  export { Fqdn } from './file.system.middleware.js';
11
- export { getImageryCenterZoom, getPreviewQuery, getPreviewUrl, PreviewSize } from './imagery.url.js';
11
+ export { getImageryCenterZoom, getPreviewQuery, getPreviewUrl, PreviewSize, toSlug } from './imagery.url.js';
12
12
  export { LogConfig, LogStorage, LogType } from './log.js';
13
13
  export { LoggerFatalError } from './logger.fatal.error.js';
14
14
  export { toQueryString } from './url.js';
package/build/index.js CHANGED
@@ -10,7 +10,7 @@ export { ConfigDynamoBase } from './dynamo/dynamo.config.base.js';
10
10
  export { ConfigProviderDynamo } from './dynamo/dynamo.config.js';
11
11
  export { Fsa as fsa, FsaCache, FsaChunk, FsaLog, s3Config, signS3Get, stringToUrlFolder, urlToString, } from './file.system.js';
12
12
  export { Fqdn } from './file.system.middleware.js';
13
- export { getImageryCenterZoom, getPreviewQuery, getPreviewUrl, PreviewSize } from './imagery.url.js';
13
+ export { getImageryCenterZoom, getPreviewQuery, getPreviewUrl, PreviewSize, toSlug } from './imagery.url.js';
14
14
  export { LogConfig, LogStorage } from './log.js';
15
15
  export { LoggerFatalError } from './logger.fatal.error.js';
16
16
  export { toQueryString } from './url.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,GAAG,GAAG,CAAC;AACzD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,GAAG,IAAI,GAAG,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAW,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,GAAG,GAAG,CAAC;AACzD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,GAAG,IAAI,GAAG,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAE,UAAU,EAAW,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basemaps/shared",
3
- "version": "8.9.6",
3
+ "version": "8.9.7",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -50,5 +50,5 @@
50
50
  "files": [
51
51
  "build/"
52
52
  ],
53
- "gitHead": "8e7b083ad11f25ed8eb61a7d2382efe48d208bb5"
53
+ "gitHead": "e9bb0101152463385db641a64975365b4f19b18e"
54
54
  }