@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.
- package/dist/3d-tiles-converter/3d-tiles-converter.js +2 -2
- package/dist/3d-tiles-converter/helpers/load-i3s.d.ts.map +1 -1
- package/dist/3d-tiles-converter/helpers/load-i3s.js +5 -4
- package/dist/converter-cli.js +2 -7
- package/dist/converter.min.cjs +77 -77
- package/dist/deps-installer/deps-installer.js +1 -1
- package/dist/i3s-converter/helpers/progress.js +1 -1
- package/dist/i3s-converter/i3s-converter.d.ts +0 -1
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
- package/dist/i3s-converter/i3s-converter.js +5 -5
- package/dist/index.cjs +35 -16
- package/dist/index.cjs.map +3 -3
- package/dist/lib/utils/statistic-utils.d.ts +20 -0
- package/dist/lib/utils/statistic-utils.d.ts.map +1 -0
- package/dist/lib/utils/{statistic-utills.js → statistic-utils.js} +37 -5
- package/dist/pgm-loader.js +1 -1
- package/package.json +16 -16
- package/src/3d-tiles-converter/3d-tiles-converter.ts +2 -2
- package/src/3d-tiles-converter/helpers/load-i3s.ts +5 -4
- package/src/converter-cli.ts +3 -9
- package/src/i3s-converter/helpers/progress.ts +1 -1
- package/src/i3s-converter/i3s-converter.ts +5 -7
- package/src/lib/utils/{statistic-utills.ts → statistic-utils.ts} +44 -5
- package/dist/lib/utils/statistic-utills.d.ts +0 -11
- package/dist/lib/utils/statistic-utills.d.ts.map +0 -1
|
@@ -9,7 +9,7 @@ import { ChildProcessProxy } from '@loaders.gl/worker-utils';
|
|
|
9
9
|
import { DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS } from '@loaders.gl/draco';
|
|
10
10
|
import { BASIS_EXTERNAL_LIBRARIES } from '@loaders.gl/textures';
|
|
11
11
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
12
|
-
const VERSION = typeof "4.3.0-alpha.
|
|
12
|
+
const VERSION = typeof "4.3.0-alpha.5" !== 'undefined' ? "4.3.0-alpha.5" : 'latest';
|
|
13
13
|
const PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';
|
|
14
14
|
/**
|
|
15
15
|
* Install external dependencies for converter:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import process from 'process';
|
|
2
|
-
import { timeConverter } from "../../lib/utils/statistic-
|
|
2
|
+
import { timeConverter } from "../../lib/utils/statistic-utils.js";
|
|
3
3
|
/** Defines a threshold that is used to check if the process velocity can be consifered trust. */
|
|
4
4
|
const THRESHOLD_DEFAULT = 0.2;
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,qBAAqB,EAAC,6CAA0C;AAExE,OAAO,KAAK,EAEV,oBAAoB,EAGpB,+BAA+B,EAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAC,cAAc,EAAC,oCAAiC;AAC7D,OAAO,KAAK,EACV,YAAY,EAMb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAOrC,OAAO,SAAS,gCAA6B;AAkB7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAA8B,MAAM,iBAAiB,CAAC;AAGnF,OAAO,EAGL,cAAc,EAGf,mBAAgB;AAEjB,OAAO,UAAU,oCAAiC;AAkBlD,OAAO,EAAC,QAAQ,EAAC,8BAA2B;AAE5C,OAAO,EAAC,cAAc,EAAsC,wCAAqC;AACjG,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAWtC,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE;QAAC,MAAM,EAAE,YAAY,CAAA;KAAC,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import md5 from 'md5';
|
|
|
12
12
|
import NodePages from "./helpers/node-pages.js";
|
|
13
13
|
import { writeFile, removeDir, writeFileForSlpk, removeFile } from "../lib/utils/file-utils.js";
|
|
14
14
|
import { compressFileWithGzip } from "../lib/utils/compress-util.js";
|
|
15
|
-
import {
|
|
15
|
+
import { calculateDatasetSize, timeConverter } from "../lib/utils/statistic-utils.js";
|
|
16
16
|
import convertB3dmToI3sGeometry, { getPropertyTable } from "./helpers/geometry-converter.js";
|
|
17
17
|
import { createBoundingVolumes, convertBoundingVolumeToI3SFullExtent } from "./helpers/coordinate-converter.js";
|
|
18
18
|
import { createSceneServerPath } from "./helpers/create-scene-server-path.js";
|
|
@@ -140,7 +140,7 @@ export default class I3SConverter {
|
|
|
140
140
|
return BROWSER_ERROR_MESSAGE;
|
|
141
141
|
}
|
|
142
142
|
this.conversionStartTime = process.hrtime();
|
|
143
|
-
const { tilesetName, egmFilePath, inputUrl, validate, outputPath, draco = true, maxDepth, token, generateTextures, generateBoundingVolumes, instantNodeWriting = false, mergeMaterials = true, inquirer, metadataClass, analyze = false
|
|
143
|
+
const { tilesetName, egmFilePath, inputUrl, validate, outputPath, draco = true, maxDepth, token, generateTextures, generateBoundingVolumes, instantNodeWriting = false, mergeMaterials = true, inquirer, metadataClass, analyze = false } = options;
|
|
144
144
|
this.options = {
|
|
145
145
|
outputPath,
|
|
146
146
|
tilesetName,
|
|
@@ -162,8 +162,8 @@ export default class I3SConverter {
|
|
|
162
162
|
this.generateBoundingVolumes = Boolean(generateBoundingVolumes);
|
|
163
163
|
this.writeQueue = new WriteQueue(this.conversionDump);
|
|
164
164
|
this.writeQueue.startListening();
|
|
165
|
-
if (
|
|
166
|
-
console.log('--
|
|
165
|
+
if (egmFilePath.toLowerCase() === 'none') {
|
|
166
|
+
console.log('--egm chousen to be "none", skip loading egm file'); // eslint-disable-line
|
|
167
167
|
}
|
|
168
168
|
else {
|
|
169
169
|
console.log('Loading egm file...'); // eslint-disable-line
|
|
@@ -1121,7 +1121,7 @@ export default class I3SConverter {
|
|
|
1121
1121
|
const addRefinementPercentage = tilesWithAddRefineCount
|
|
1122
1122
|
? (tilesWithAddRefineCount / tilesCount) * 100
|
|
1123
1123
|
: 0;
|
|
1124
|
-
const filesSize = await
|
|
1124
|
+
const filesSize = await calculateDatasetSize(params);
|
|
1125
1125
|
const diff = process.hrtime(this.conversionStartTime);
|
|
1126
1126
|
const conversionTime = timeConverter(diff);
|
|
1127
1127
|
console.log('------------------------------------------------'); // eslint-disable-line no-undef, no-console
|
package/dist/index.cjs
CHANGED
|
@@ -670,7 +670,7 @@ var NodePages = class {
|
|
|
670
670
|
}
|
|
671
671
|
};
|
|
672
672
|
|
|
673
|
-
// dist/lib/utils/statistic-
|
|
673
|
+
// dist/lib/utils/statistic-utils.js
|
|
674
674
|
var import_path3 = require("path");
|
|
675
675
|
var import_fs3 = require("fs");
|
|
676
676
|
function timeConverter(time) {
|
|
@@ -706,18 +706,36 @@ function timeConverterFromSecondsAndMilliseconds(timeInSeconds, milliseconds) {
|
|
|
706
706
|
}
|
|
707
707
|
return result;
|
|
708
708
|
}
|
|
709
|
-
async function
|
|
710
|
-
const { outputPath, tilesetName } = params;
|
|
709
|
+
async function calculateDatasetSize(params) {
|
|
710
|
+
const { slpk, outputPath, tilesetName } = params;
|
|
711
711
|
const fullOutputPath = getAbsoluteFilePath(outputPath);
|
|
712
712
|
try {
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
713
|
+
if (slpk) {
|
|
714
|
+
const slpkPath = (0, import_path3.join)(fullOutputPath, `${tilesetName}.slpk`);
|
|
715
|
+
const stat = await import_fs3.promises.stat(slpkPath);
|
|
716
|
+
return stat.size;
|
|
717
|
+
}
|
|
718
|
+
const directoryPath = (0, import_path3.join)(fullOutputPath, tilesetName);
|
|
719
|
+
const totalSize = await getDirectorySize(directoryPath);
|
|
720
|
+
return totalSize;
|
|
716
721
|
} catch (error) {
|
|
717
722
|
console.log("Calculate file sizes error: ", error);
|
|
718
723
|
return null;
|
|
719
724
|
}
|
|
720
725
|
}
|
|
726
|
+
async function getDirectorySize(dirPath) {
|
|
727
|
+
let totalFileSize = 0;
|
|
728
|
+
const files = await import_fs3.promises.readdir(dirPath);
|
|
729
|
+
for (const file of files) {
|
|
730
|
+
const fileStat = await import_fs3.promises.stat((0, import_path3.join)(dirPath, file));
|
|
731
|
+
if (fileStat.isDirectory()) {
|
|
732
|
+
totalFileSize += await getDirectorySize((0, import_path3.join)(dirPath, file));
|
|
733
|
+
} else {
|
|
734
|
+
totalFileSize += fileStat.size;
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
return totalFileSize;
|
|
738
|
+
}
|
|
721
739
|
|
|
722
740
|
// dist/i3s-converter/helpers/geometry-converter.js
|
|
723
741
|
var import_core4 = require("@math.gl/core");
|
|
@@ -2307,7 +2325,7 @@ function convertScreenThresholdToGeometricError(node) {
|
|
|
2307
2325
|
|
|
2308
2326
|
// dist/pgm-loader.js
|
|
2309
2327
|
var import_geoid = require("@math.gl/geoid");
|
|
2310
|
-
var VERSION = true ? "4.3.0-alpha.
|
|
2328
|
+
var VERSION = true ? "4.3.0-alpha.5" : "latest";
|
|
2311
2329
|
var PGMLoader = {
|
|
2312
2330
|
dataType: null,
|
|
2313
2331
|
batchType: null,
|
|
@@ -4334,7 +4352,7 @@ var I3SConverter = class {
|
|
|
4334
4352
|
return BROWSER_ERROR_MESSAGE;
|
|
4335
4353
|
}
|
|
4336
4354
|
this.conversionStartTime = import_process4.default.hrtime();
|
|
4337
|
-
const { tilesetName, egmFilePath, inputUrl, validate, outputPath, draco = true, maxDepth, token, generateTextures, generateBoundingVolumes, instantNodeWriting = false, mergeMaterials: mergeMaterials2 = true, inquirer, metadataClass, analyze = false
|
|
4355
|
+
const { tilesetName, egmFilePath, inputUrl, validate, outputPath, draco = true, maxDepth, token, generateTextures, generateBoundingVolumes, instantNodeWriting = false, mergeMaterials: mergeMaterials2 = true, inquirer, metadataClass, analyze = false } = options;
|
|
4338
4356
|
this.options = {
|
|
4339
4357
|
outputPath,
|
|
4340
4358
|
tilesetName,
|
|
@@ -4356,8 +4374,8 @@ var I3SConverter = class {
|
|
|
4356
4374
|
this.generateBoundingVolumes = Boolean(generateBoundingVolumes);
|
|
4357
4375
|
this.writeQueue = new WriteQueue(this.conversionDump);
|
|
4358
4376
|
this.writeQueue.startListening();
|
|
4359
|
-
if (
|
|
4360
|
-
console.log(
|
|
4377
|
+
if (egmFilePath.toLowerCase() === "none") {
|
|
4378
|
+
console.log('--egm chousen to be "none", skip loading egm file');
|
|
4361
4379
|
} else {
|
|
4362
4380
|
console.log("Loading egm file...");
|
|
4363
4381
|
this.geoidHeightModel = await (0, import_core9.load)(egmFilePath, PGMLoader);
|
|
@@ -5259,7 +5277,7 @@ var I3SConverter = class {
|
|
|
5259
5277
|
async _finishConversion(params) {
|
|
5260
5278
|
const { tilesCount, tilesWithAddRefineCount } = this.refinementCounter;
|
|
5261
5279
|
const addRefinementPercentage = tilesWithAddRefineCount ? tilesWithAddRefineCount / tilesCount * 100 : 0;
|
|
5262
|
-
const filesSize = await
|
|
5280
|
+
const filesSize = await calculateDatasetSize(params);
|
|
5263
5281
|
const diff = import_process4.default.hrtime(this.conversionStartTime);
|
|
5264
5282
|
const conversionTime = timeConverter(diff);
|
|
5265
5283
|
console.log("------------------------------------------------");
|
|
@@ -5747,15 +5765,16 @@ async function getNodeCount(fileSystem) {
|
|
|
5747
5765
|
if (!(fileSystem == null ? void 0 : fileSystem.fileProvider)) {
|
|
5748
5766
|
return 0;
|
|
5749
5767
|
}
|
|
5750
|
-
|
|
5768
|
+
const nodeSet = /* @__PURE__ */ new Set();
|
|
5751
5769
|
const filesIterator = (0, import_zip3.makeZipCDHeaderIterator)(fileSystem.fileProvider);
|
|
5752
5770
|
for await (const file of filesIterator) {
|
|
5753
5771
|
const filename = file.fileName;
|
|
5754
|
-
|
|
5755
|
-
|
|
5772
|
+
const nodeNumberSearchResult = /^nodes\/(\d+)\//.exec(filename);
|
|
5773
|
+
if (nodeNumberSearchResult) {
|
|
5774
|
+
nodeSet.add(nodeNumberSearchResult[1]);
|
|
5756
5775
|
}
|
|
5757
5776
|
}
|
|
5758
|
-
return
|
|
5777
|
+
return nodeSet.size;
|
|
5759
5778
|
}
|
|
5760
5779
|
|
|
5761
5780
|
// dist/3d-tiles-converter/3d-tiles-converter.js
|
|
@@ -6095,7 +6114,7 @@ var Tiles3DConverter = class {
|
|
|
6095
6114
|
* @param params - output files data
|
|
6096
6115
|
*/
|
|
6097
6116
|
async _finishConversion(params) {
|
|
6098
|
-
const filesSize = await
|
|
6117
|
+
const filesSize = await calculateDatasetSize(params);
|
|
6099
6118
|
const diff = import_process5.default.hrtime(this.conversionStartTime);
|
|
6100
6119
|
const conversionTime = timeConverter(diff);
|
|
6101
6120
|
console.log(`------------------------------------------------`);
|