@loaders.gl/tile-converter 4.3.0-alpha.5 → 4.3.0-alpha.6

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.
@@ -7,7 +7,7 @@ import { PGMLoader } from "../pgm-loader.js";
7
7
  import { i3sObbTo3dTilesObb } from "./helpers/i3s-obb-to-3d-tiles-obb.js";
8
8
  import { convertScreenThresholdToGeometricError } from "../lib/utils/lod-conversion-utils.js";
9
9
  import { writeFile, removeDir } from "../lib/utils/file-utils.js";
10
- import { calculateFilesSize, timeConverter } from "../lib/utils/statistic-utills.js";
10
+ import { calculateDatasetSize, timeConverter } from "../lib/utils/statistic-utils.js";
11
11
  import { TILESET as tilesetTemplate } from "./json-templates/tileset.js";
12
12
  import { createObbFromMbs } from "../i3s-converter/helpers/coordinate-converter.js";
13
13
  import { WorkerFarm } from '@loaders.gl/worker-utils';
@@ -371,7 +371,7 @@ export default class Tiles3DConverter {
371
371
  * @param params - output files data
372
372
  */
373
373
  async _finishConversion(params) {
374
- const filesSize = await calculateFilesSize(params);
374
+ const filesSize = await calculateDatasetSize(params);
375
375
  const diff = process.hrtime(this.conversionStartTime);
376
376
  const conversionTime = timeConverter(diff);
377
377
  console.log(`------------------------------------------------`); // eslint-disable-line
@@ -1 +1 @@
1
- {"version":3,"file":"load-i3s.d.ts","sourceRoot":"","sources":["../../../src/3d-tiles-converter/helpers/load-i3s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAO,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAEhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,kBACV,gBAAgB,GAAG,IAAI,cAC1B,aAAa,sBACL,gBAAgB,kBACpB,aAAa,GAAG,IAAI,KACnC,QAAQ,cAAc,GAAG,IAAI,CAuC/B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAUzE;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,gBAAgB,EAC7B,UAAU,EAAE,aAAa,GAAG,IAAI,gBAUjC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAapF"}
1
+ {"version":3,"file":"load-i3s.d.ts","sourceRoot":"","sources":["../../../src/3d-tiles-converter/helpers/load-i3s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAO,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAEhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,kBACV,gBAAgB,GAAG,IAAI,cAC1B,aAAa,sBACL,gBAAgB,kBACpB,aAAa,GAAG,IAAI,KACnC,QAAQ,cAAc,GAAG,IAAI,CAuC/B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAUzE;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,gBAAgB,EAC7B,UAAU,EAAE,aAAa,GAAG,IAAI,gBAUjC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpF"}
@@ -85,13 +85,14 @@ export async function getNodeCount(fileSystem) {
85
85
  if (!fileSystem?.fileProvider) {
86
86
  return 0;
87
87
  }
88
- let count = 0;
88
+ const nodeSet = new Set();
89
89
  const filesIterator = makeZipCDHeaderIterator(fileSystem.fileProvider);
90
90
  for await (const file of filesIterator) {
91
91
  const filename = file.fileName;
92
- if (filename.indexOf('3dNodeIndexDocument.json.gz') >= 0) {
93
- count++;
92
+ const nodeNumberSearchResult = /^nodes\/(\d+)\//.exec(filename);
93
+ if (nodeNumberSearchResult) {
94
+ nodeSet.add(nodeNumberSearchResult[1]);
94
95
  }
95
96
  }
96
- return count;
97
+ return nodeSet.size;
97
98
  }
@@ -88,8 +88,7 @@ function printHelp() {
88
88
  console.log('--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]');
89
89
  console.log('--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]');
90
90
  console.log('--input-type [tileset input type: I3S or 3DTILES]');
91
- console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"');
92
- console.log('--no-egm [Disable Geod transformation via the EGM file]');
91
+ console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format or "None" to not use it. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"');
93
92
  console.log('--token [Token for Cesium ION tilesets authentication]');
94
93
  console.log('--no-draco [Disable draco compression for geometry]');
95
94
  console.log('--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]');
@@ -198,8 +197,7 @@ function parseOptions(args) {
198
197
  generateBoundingVolumes: false,
199
198
  validate: false,
200
199
  addHash: false,
201
- quiet: false,
202
- noEgm: false
200
+ quiet: false
203
201
  };
204
202
  // eslint-disable-next-line complexity
205
203
  args.forEach((arg, index) => {
@@ -232,9 +230,6 @@ function parseOptions(args) {
232
230
  case '--egm':
233
231
  opts.egm = getStringValue(index, args);
234
232
  break;
235
- case '--no-egm':
236
- opts.noEgm = getBooleanValue(index, args);
237
- break;
238
233
  case '--token':
239
234
  opts.token = getStringValue(index, args);
240
235
  break;