@basemaps/shared 7.12.0 → 7.15.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.
- package/build/cli/info.d.ts +2 -0
- package/build/cli/info.js +2 -0
- package/build/cli/info.js.map +1 -1
- package/build/const.d.ts +12 -3
- package/build/const.js +9 -0
- package/build/const.js.map +1 -1
- package/build/file.system.js +19 -2
- package/build/file.system.js.map +1 -1
- package/build/scripts/debug.tile.matrix.d.ts +1 -0
- package/build/scripts/debug.tile.matrix.js +111 -0
- package/build/scripts/debug.tile.matrix.js.map +1 -0
- package/package.json +4 -4
package/build/cli/info.d.ts
CHANGED
package/build/cli/info.js
CHANGED
|
@@ -8,6 +8,8 @@ export const CliInfo = {
|
|
|
8
8
|
hash: process.env['GIT_HASH'] ?? GitTag().hash,
|
|
9
9
|
buildId: process.env['BUILD_ID'],
|
|
10
10
|
};
|
|
11
|
+
/** ISO date of when this command was run */
|
|
12
|
+
export const CliDate = new Date().toISOString();
|
|
11
13
|
/** Unique Id for this instance of the cli being run */
|
|
12
14
|
export const CliId = ulid.ulid();
|
|
13
15
|
//# sourceMappingURL=info.js.map
|
package/build/cli/info.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/cli/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,uCAAuC;AACvC,MAAM,CAAC,MAAM,OAAO,GAAyE;IAC3F,mGAAmG;IACnG,OAAO,EAAE,GAAG,GAAG,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO;IACvD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI;IAC9C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;CACjC,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/cli/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,uCAAuC;AACvC,MAAM,CAAC,MAAM,OAAO,GAAyE;IAC3F,mGAAmG;IACnG,OAAO,EAAE,GAAG,GAAG,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO;IACvD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI;IAC9C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;CACjC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAEhD,uDAAuD;AACvD,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC"}
|
package/build/const.d.ts
CHANGED
|
@@ -40,9 +40,18 @@ export declare const Env: {
|
|
|
40
40
|
DockerContainerTag: string;
|
|
41
41
|
};
|
|
42
42
|
Analytics: {
|
|
43
|
-
CloudFrontId:
|
|
44
|
-
CloudFrontSourceBucket:
|
|
45
|
-
|
|
43
|
+
readonly CloudFrontId: "ANALYTICS_CLOUD_FRONT_ID";
|
|
44
|
+
readonly CloudFrontSourceBucket: "ANALYTICS_CLOUD_FRONT_SOURCE_BUCKET";
|
|
45
|
+
/** Where to store the analytic cache data */
|
|
46
|
+
readonly CacheBucket: "ANALYTICS_CACHE_BUCKET";
|
|
47
|
+
/** Max number of records to process in the analytics process */
|
|
48
|
+
readonly MaxRecords: "ANALYTICS_MAX_RECORDS";
|
|
49
|
+
/** Elastic server Id */
|
|
50
|
+
readonly ElasticId: "ELASTIC_ID";
|
|
51
|
+
/** ElasticSearch's API key */
|
|
52
|
+
readonly ElasticApiKey: "ELASTIC_API_KEY";
|
|
53
|
+
/** Index to use for storing analytic data */
|
|
54
|
+
readonly ElasticIndexName: "ELASTIC_INDEX_NAME";
|
|
46
55
|
};
|
|
47
56
|
/** Load a environment var defaulting to defaultOutput if it does not exist */
|
|
48
57
|
get(envName: string): string | undefined;
|
package/build/const.js
CHANGED
|
@@ -43,7 +43,16 @@ export const Env = {
|
|
|
43
43
|
Analytics: {
|
|
44
44
|
CloudFrontId: 'ANALYTICS_CLOUD_FRONT_ID',
|
|
45
45
|
CloudFrontSourceBucket: 'ANALYTICS_CLOUD_FRONT_SOURCE_BUCKET',
|
|
46
|
+
/** Where to store the analytic cache data */
|
|
46
47
|
CacheBucket: 'ANALYTICS_CACHE_BUCKET',
|
|
48
|
+
/** Max number of records to process in the analytics process */
|
|
49
|
+
MaxRecords: 'ANALYTICS_MAX_RECORDS',
|
|
50
|
+
/** Elastic server Id */
|
|
51
|
+
ElasticId: 'ELASTIC_ID',
|
|
52
|
+
/** ElasticSearch's API key */
|
|
53
|
+
ElasticApiKey: 'ELASTIC_API_KEY',
|
|
54
|
+
/** Index to use for storing analytic data */
|
|
55
|
+
ElasticIndexName: 'ELASTIC_INDEX_NAME',
|
|
47
56
|
},
|
|
48
57
|
/** Load a environment var defaulting to defaultOutput if it does not exist */
|
|
49
58
|
get(envName) {
|
package/build/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE;QACH,MAAM,EAAE,gBAAgB;KACzB;IACD,MAAM,EAAE;QACN,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,QAAQ;QACnB,kBAAkB,EAAE,IAAI;KACzB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,cAAc;QACzB,kBAAkB,EAAE,IAAI;KACzB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,iDAAiD;IACjD,aAAa,EAAE,qBAAqB;IAEpC;;;OAGG;IACH,mBAAmB,EAAE,wBAAwB;IAE7C,yCAAyC;IACzC,eAAe,EAAE,kBAAkB;IAEnC,0DAA0D;IAC1D,UAAU,EAAE,aAAa;IAEzB,6DAA6D;IAC7D,UAAU,EAAE,2BAA2B;IAEvC,uDAAuD;IACvD,oBAAoB,EAAE,yBAAyB;IAE/C,6BAA6B;IAC7B,iBAAiB,EAAE,sBAAsB;IAEzC,uBAAuB;IACvB,WAAW,EAAE,kBAAkB;IAE/B,IAAI,EAAE;QACJ,gDAAgD;QAChD,SAAS,EAAE,aAAa;QACxB,2DAA2D;QAC3D,eAAe,EAAE,uBAAuB;QACxC,kBAAkB,EAAE,2BAA2B;KAChD;IAED,SAAS,EAAE;QACT,YAAY,EAAE,0BAA0B;QACxC,sBAAsB,EAAE,qCAAqC;
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE;QACH,MAAM,EAAE,gBAAgB;KACzB;IACD,MAAM,EAAE;QACN,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,QAAQ;QACnB,kBAAkB,EAAE,IAAI;KACzB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,cAAc;QACzB,kBAAkB,EAAE,IAAI;KACzB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,iDAAiD;IACjD,aAAa,EAAE,qBAAqB;IAEpC;;;OAGG;IACH,mBAAmB,EAAE,wBAAwB;IAE7C,yCAAyC;IACzC,eAAe,EAAE,kBAAkB;IAEnC,0DAA0D;IAC1D,UAAU,EAAE,aAAa;IAEzB,6DAA6D;IAC7D,UAAU,EAAE,2BAA2B;IAEvC,uDAAuD;IACvD,oBAAoB,EAAE,yBAAyB;IAE/C,6BAA6B;IAC7B,iBAAiB,EAAE,sBAAsB;IAEzC,uBAAuB;IACvB,WAAW,EAAE,kBAAkB;IAE/B,IAAI,EAAE;QACJ,gDAAgD;QAChD,SAAS,EAAE,aAAa;QACxB,2DAA2D;QAC3D,eAAe,EAAE,uBAAuB;QACxC,kBAAkB,EAAE,2BAA2B;KAChD;IAED,SAAS,EAAE;QACT,YAAY,EAAE,0BAA0B;QACxC,sBAAsB,EAAE,qCAAqC;QAE7D,6CAA6C;QAC7C,WAAW,EAAE,wBAAwB;QAErC,gEAAgE;QAChE,UAAU,EAAE,uBAAuB;QAEnC,wBAAwB;QACxB,SAAS,EAAE,YAAY;QACvB,8BAA8B;QAC9B,aAAa,EAAE,iBAAiB;QAChC,6CAA6C;QAC7C,gBAAgB,EAAE,oBAAoB;KAC9B;IAEV,+EAA+E;IAC/E,GAAG,CAAC,OAAe;QACjB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,gGAAgG;IAChG,SAAS,CAAC,OAAe,EAAE,aAAqB;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC;IAClD,CAAC;CACF,CAAC"}
|
package/build/file.system.js
CHANGED
|
@@ -41,9 +41,26 @@ credentials.onFileSystemFound = (acc, fs, path) => {
|
|
|
41
41
|
applyS3MiddleWare(fs);
|
|
42
42
|
fsa.register(acc.prefix, fs);
|
|
43
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Split JSON or comma separated lists into individual components
|
|
46
|
+
*
|
|
47
|
+
* Allowing for credentials to be loaded from multiple sources eg
|
|
48
|
+
*
|
|
49
|
+
* @example comma separated list
|
|
50
|
+
* ```typescript
|
|
51
|
+
* "s3://foo/bar.json,s3://foo/baz.json"
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
function splitConfig(x) {
|
|
55
|
+
if (x.startsWith('['))
|
|
56
|
+
return JSON.parse(x);
|
|
57
|
+
return x.split(',');
|
|
58
|
+
}
|
|
44
59
|
const credentialPath = Env.get(Env.AwsRoleConfigPath);
|
|
45
|
-
if (credentialPath)
|
|
46
|
-
|
|
60
|
+
if (credentialPath) {
|
|
61
|
+
for (const loc of splitConfig(credentialPath))
|
|
62
|
+
credentials.registerConfig(fsa.toUrl(loc), s3Fs);
|
|
63
|
+
}
|
|
47
64
|
s3Fs.credentials = credentials;
|
|
48
65
|
fsa.register('https://', new FsHttp());
|
|
49
66
|
fsa.register('s3://', s3Fs);
|
package/build/file.system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.system.js","sourceRoot":"","sources":["../src/file.system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAuB,uBAAuB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAC7B,IAAI,QAAQ,CAAC;IACX;;;;OAIG;IACH,qBAAqB,EAAE,IAAI;CAC5B,CAAC,CACH,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CACnC,IAAI,QAAQ,CAAC;IACX,qBAAqB,EAAE,IAAI;IAC3B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACnB;CACnB,CAAC,CACH,CAAC;AAEF,qEAAqE;AACrE,SAAS,iBAAiB,CAAC,EAAW;IACpC,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI;QAAE,OAAO;IAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACxD,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAC9B,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAExB,MAAM,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;AAElD,WAAW,CAAC,iBAAiB,GAAG,CAAC,GAAwB,EAAE,EAAY,EAAE,IAAU,EAAQ,EAAE;IAC3F,IAAI,EAAE,IAAI,IAAI;QAAE,OAAO;IACvB,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC5G,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACtB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtD,IAAI,cAAc;
|
|
1
|
+
{"version":3,"file":"file.system.js","sourceRoot":"","sources":["../src/file.system.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { Bounds, Epsg, getXyOrder, GoogleTms, Projection, ProjectionLoader } from '@basemaps/geo';
|
|
3
|
+
import { writeFileSync } from 'fs';
|
|
4
|
+
import { CliInfo } from '../cli/info.js';
|
|
5
|
+
/**
|
|
6
|
+
* Attempt to create a debug tile matrix given a projection code.
|
|
7
|
+
*
|
|
8
|
+
* General flow of the creation
|
|
9
|
+
* - Lookup the projection information from spatial reference
|
|
10
|
+
* - Attempt to find the bounds of the projection
|
|
11
|
+
* - Using the bounds attempt to find a tile matrix zoom level that would cover the entire bounds
|
|
12
|
+
* - Create a basic debugging tile matrix from the information
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Change the projection to create here
|
|
16
|
+
*/
|
|
17
|
+
const TargetProjection = 3793;
|
|
18
|
+
/**
|
|
19
|
+
* Find a zoom level that has approximatly the same bounds as the bounds of the source projection,
|
|
20
|
+
* because the WebMercatorQuad covers the entire world most other projections do not work well, outside
|
|
21
|
+
* their own bounds try and find a zoom level that does not overflow the bounds too much
|
|
22
|
+
*
|
|
23
|
+
* @param minSize
|
|
24
|
+
* @returns one zoom level bigger than the minimum zoom level
|
|
25
|
+
*/
|
|
26
|
+
function findZoomOffset(minSize) {
|
|
27
|
+
for (let i = 1; i < GoogleTms.maxZoom; i++) {
|
|
28
|
+
const size = GoogleTms.pixelScale(i) * 256;
|
|
29
|
+
const sizeDiff = minSize - size;
|
|
30
|
+
if (sizeDiff > 0)
|
|
31
|
+
return Math.max(0, i - 1);
|
|
32
|
+
}
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Normalize axis names to X or Y
|
|
37
|
+
*
|
|
38
|
+
* @param ax Axis
|
|
39
|
+
* @returns Normalized axis name
|
|
40
|
+
* @throws if axis is unknown
|
|
41
|
+
*/
|
|
42
|
+
function axisName(ax) {
|
|
43
|
+
switch (ax.abbreviation.toLowerCase()) {
|
|
44
|
+
case 'x':
|
|
45
|
+
case 'e':
|
|
46
|
+
return 'x';
|
|
47
|
+
case 'y':
|
|
48
|
+
case 'n':
|
|
49
|
+
return 'y';
|
|
50
|
+
default:
|
|
51
|
+
throw new Error('Unknown axis abbreviation: ' + ax.abbreviation);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async function main() {
|
|
55
|
+
await ProjectionLoader.load(TargetProjection);
|
|
56
|
+
const proj = Projection.get(TargetProjection);
|
|
57
|
+
// Load the projection JSON from spatialreference and look for a bounding box of the projection
|
|
58
|
+
const projJson = (await fetch(`https://spatialreference.org/ref/epsg/${TargetProjection}/projjson.json`).then((f) => f.json()));
|
|
59
|
+
const upperLeft = proj.fromWgs84([projJson.bbox.west_longitude, projJson.bbox.north_latitude]);
|
|
60
|
+
const lowerRight = proj.fromWgs84([projJson.bbox.east_longitude, projJson.bbox.south_latitude]);
|
|
61
|
+
const minSize = Math.max(Math.abs(upperLeft[0] - lowerRight[0]), Math.abs(upperLeft[1] - lowerRight[1]));
|
|
62
|
+
const zOffset = findZoomOffset(minSize);
|
|
63
|
+
console.log('found zoom offset: ' + zOffset);
|
|
64
|
+
const filePrefix = `./debug-tms-${TargetProjection}`;
|
|
65
|
+
const centerLon = (projJson.bbox.west_longitude + projJson.bbox.east_longitude) / 2;
|
|
66
|
+
const centerLat = (projJson.bbox.north_latitude + projJson.bbox.south_latitude) / 2;
|
|
67
|
+
const bounds = Bounds.fromUpperLeftLowerRight({ x: projJson.bbox.east_longitude, y: projJson.bbox.north_latitude }, { x: projJson.bbox.west_longitude, y: projJson.bbox.south_latitude });
|
|
68
|
+
const feature = Projection.get(Epsg.Wgs84).boundsToGeoJsonFeature(bounds);
|
|
69
|
+
console.log('Writing bounds', `${filePrefix}-bounds.geojson`);
|
|
70
|
+
writeFileSync(`${filePrefix}-bounds.geojson`, JSON.stringify(feature));
|
|
71
|
+
const tileZeroWidth = GoogleTms.pixelScale(zOffset) * 256;
|
|
72
|
+
const halfTileZeroWidth = tileZeroWidth / 2;
|
|
73
|
+
const centerProjected = proj.fromWgs84([centerLon, centerLat]);
|
|
74
|
+
const tileMatrix = structuredClone(GoogleTms.def);
|
|
75
|
+
const xyOrder = getXyOrder(TargetProjection);
|
|
76
|
+
const xy = xyOrder === 'xy' ? { x: 0, y: 1 } : { x: 1, y: 0 };
|
|
77
|
+
const axisOrder = projJson.coordinate_system.axis.map(axisName).join('');
|
|
78
|
+
if (xyOrder !== axisOrder) {
|
|
79
|
+
throw new Error(`getXyOrder: ${axisOrder} is not the same as expected ordering from proj json`);
|
|
80
|
+
}
|
|
81
|
+
tileMatrix.title = 'Debug tile matrix for EPSG:' + TargetProjection;
|
|
82
|
+
tileMatrix.boundingBox.lowerCorner = [
|
|
83
|
+
centerProjected[xy.x] - halfTileZeroWidth,
|
|
84
|
+
centerProjected[xy.y] - halfTileZeroWidth,
|
|
85
|
+
];
|
|
86
|
+
tileMatrix.boundingBox.upperCorner = [
|
|
87
|
+
centerProjected[xy.x] + halfTileZeroWidth,
|
|
88
|
+
centerProjected[xy.y] + halfTileZeroWidth,
|
|
89
|
+
];
|
|
90
|
+
delete tileMatrix.wellKnownScaleSet;
|
|
91
|
+
tileMatrix.tileMatrix = tileMatrix.tileMatrix.slice(zOffset).map((x, i) => {
|
|
92
|
+
x.identifier = String(i);
|
|
93
|
+
x.matrixWidth = 2 ** i;
|
|
94
|
+
x.matrixHeight = 2 ** i;
|
|
95
|
+
x.topLeftCorner = [tileMatrix.boundingBox.upperCorner[0], tileMatrix.boundingBox.lowerCorner[1]];
|
|
96
|
+
return x;
|
|
97
|
+
});
|
|
98
|
+
tileMatrix.identifier = `Debug_` + projJson.name.replace(/ /g, '').replace(/\//g, '_');
|
|
99
|
+
tileMatrix.supportedCRS = `https://www.opengis.net/def/crs/EPSG/0/${TargetProjection}`;
|
|
100
|
+
tileMatrix.boundingBox.crs = tileMatrix.supportedCRS;
|
|
101
|
+
// Log how the tile matrix was generated
|
|
102
|
+
tileMatrix['$generated'] = { ...CliInfo, createdAt: new Date().toISOString() };
|
|
103
|
+
tileMatrix['$options'] = { sourceTileMatrix: GoogleTms.identifier, zoomOffset: zOffset };
|
|
104
|
+
console.log('Writing tile matrix', `${filePrefix}-tile-matrix.json`);
|
|
105
|
+
writeFileSync(`${filePrefix}-tile-matrix.json`, JSON.stringify(tileMatrix, null, 2));
|
|
106
|
+
}
|
|
107
|
+
main().catch((e) => {
|
|
108
|
+
console.error(e);
|
|
109
|
+
throw e;
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=debug.tile.matrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.tile.matrix.js","sourceRoot":"","sources":["../../src/scripts/debug.tile.matrix.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@basemaps/shared",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.15.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"@aws-sdk/client-dynamodb": "^3.470.0",
|
|
27
27
|
"@aws-sdk/client-s3": "^3.472.0",
|
|
28
28
|
"@aws-sdk/util-dynamodb": "^3.470.0",
|
|
29
|
-
"@basemaps/config": "^7.
|
|
30
|
-
"@basemaps/geo": "^7.
|
|
29
|
+
"@basemaps/config": "^7.15.0",
|
|
30
|
+
"@basemaps/geo": "^7.15.0",
|
|
31
31
|
"@chunkd/fs": "^11.2.0",
|
|
32
32
|
"@chunkd/fs-aws": "^11.3.0",
|
|
33
33
|
"@chunkd/middleware": "^11.1.0",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"files": [
|
|
49
49
|
"build/"
|
|
50
50
|
],
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "a2fa0faa57e5591a50900fd469dbb9637b7d9c8e"
|
|
52
52
|
}
|