@loaders.gl/i3s 4.1.0-alpha.10 → 4.1.0-alpha.11
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/arcgis-webscene-loader.js +1 -1
- package/dist/dist.dev.js +114 -12
- package/dist/i3s-attribute-loader.js +1 -1
- package/dist/i3s-building-scene-layer-loader.js +1 -1
- package/dist/i3s-content-loader.js +1 -1
- package/dist/i3s-content-worker-node.js +2 -2
- package/dist/i3s-content-worker-node.js.map +2 -2
- package/dist/i3s-content-worker.js +6 -6
- package/dist/i3s-loader.js +1 -1
- package/dist/i3s-node-page-loader.js +1 -1
- package/dist/i3s-slpk-loader.js +1 -1
- package/dist/index.cjs +9 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts +10 -0
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts.map +1 -1
- package/dist/lib/parsers/parse-arcgis-webscene.js +8 -1
- package/dist/lib/parsers/parse-arcgis-webscene.js.map +1 -1
- package/package.json +10 -10
- package/src/index.ts +1 -0
- package/src/lib/parsers/parse-arcgis-webscene.ts +17 -1
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
);
|
|
107
107
|
globalThis._loadersgl_.version = NPM_TAG;
|
|
108
108
|
} else {
|
|
109
|
-
globalThis._loadersgl_.version = "4.1.0-alpha.
|
|
109
|
+
globalThis._loadersgl_.version = "4.1.0-alpha.11";
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
return globalThis._loadersgl_.version;
|
|
@@ -1442,7 +1442,7 @@
|
|
|
1442
1442
|
var navigator_ = globalThis.navigator || {};
|
|
1443
1443
|
|
|
1444
1444
|
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/utils/globals.js
|
|
1445
|
-
var VERSION2 = true ? "4.1.0-alpha.
|
|
1445
|
+
var VERSION2 = true ? "4.1.0-alpha.11" : "untranspiled source";
|
|
1446
1446
|
var isBrowser4 = isBrowser3();
|
|
1447
1447
|
|
|
1448
1448
|
// ../../node_modules/@probe.gl/log/dist/utils/local-storage.js
|
|
@@ -5310,7 +5310,7 @@
|
|
|
5310
5310
|
_defineProperty(Ellipsoid, "WGS84", new Ellipsoid(WGS84_RADIUS_X, WGS84_RADIUS_Y, WGS84_RADIUS_Z));
|
|
5311
5311
|
|
|
5312
5312
|
// ../images/src/lib/utils/version.ts
|
|
5313
|
-
var VERSION3 = true ? "4.1.0-alpha.
|
|
5313
|
+
var VERSION3 = true ? "4.1.0-alpha.11" : "latest";
|
|
5314
5314
|
|
|
5315
5315
|
// ../images/src/lib/category-api/image-type.ts
|
|
5316
5316
|
var parseImageNode = globalThis.loaders?.parseImageNode;
|
|
@@ -5716,7 +5716,7 @@
|
|
|
5716
5716
|
};
|
|
5717
5717
|
|
|
5718
5718
|
// ../draco/src/lib/utils/version.ts
|
|
5719
|
-
var VERSION4 = true ? "4.1.0-alpha.
|
|
5719
|
+
var VERSION4 = true ? "4.1.0-alpha.11" : "latest";
|
|
5720
5720
|
|
|
5721
5721
|
// ../draco/src/draco-loader.ts
|
|
5722
5722
|
var DracoLoader = {
|
|
@@ -6319,7 +6319,7 @@
|
|
|
6319
6319
|
}
|
|
6320
6320
|
|
|
6321
6321
|
// ../textures/src/lib/utils/version.ts
|
|
6322
|
-
var VERSION5 = true ? "4.1.0-alpha.
|
|
6322
|
+
var VERSION5 = true ? "4.1.0-alpha.11" : "latest";
|
|
6323
6323
|
|
|
6324
6324
|
// ../textures/src/lib/parsers/basis-module-loader.ts
|
|
6325
6325
|
var BASIS_EXTERNAL_LIBRARIES = {
|
|
@@ -7847,7 +7847,7 @@
|
|
|
7847
7847
|
}
|
|
7848
7848
|
|
|
7849
7849
|
// src/i3s-content-loader.ts
|
|
7850
|
-
var VERSION6 = true ? "4.1.0-alpha.
|
|
7850
|
+
var VERSION6 = true ? "4.1.0-alpha.11" : "latest";
|
|
7851
7851
|
var I3SContentLoader = {
|
|
7852
7852
|
name: "I3S Content (Indexed Scene Layers)",
|
|
7853
7853
|
id: "i3s-content",
|
package/dist/i3s-loader.js
CHANGED
|
@@ -3,7 +3,7 @@ import { I3SContentLoader } from "./i3s-content-loader.js";
|
|
|
3
3
|
import { normalizeTileData, normalizeTilesetData } from "./lib/parsers/parse-i3s.js";
|
|
4
4
|
import { COORDINATE_SYSTEM } from "./lib/parsers/constants.js";
|
|
5
5
|
import { getUrlWithoutParams } from "./lib/utils/url-utils.js";
|
|
6
|
-
const VERSION = typeof "4.1.0-alpha.
|
|
6
|
+
const VERSION = typeof "4.1.0-alpha.11" !== 'undefined' ? "4.1.0-alpha.11" : 'latest';
|
|
7
7
|
const TILESET_REGEX = /layers\/[0-9]+$/;
|
|
8
8
|
const TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
9
9
|
const SLPK_HEX = '504b0304';
|
package/dist/i3s-slpk-loader.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataViewFile } from '@loaders.gl/loader-utils';
|
|
2
2
|
import { parseSLPKArchive } from "./lib/parsers/parse-slpk/parse-slpk.js";
|
|
3
|
-
const VERSION = typeof "4.1.0-alpha.
|
|
3
|
+
const VERSION = typeof "4.1.0-alpha.11" !== 'undefined' ? "4.1.0-alpha.11" : 'latest';
|
|
4
4
|
export const SLPKLoader = {
|
|
5
5
|
name: 'I3S SLPK (Scene Layer Package)',
|
|
6
6
|
id: 'slpk',
|
package/dist/index.cjs
CHANGED
|
@@ -27,6 +27,7 @@ __export(src_exports, {
|
|
|
27
27
|
I3SContentLoader: () => I3SContentLoader,
|
|
28
28
|
I3SLoader: () => I3SLoader,
|
|
29
29
|
I3SNodePageLoader: () => I3SNodePageLoader,
|
|
30
|
+
LayerError: () => LayerError,
|
|
30
31
|
SLPKLoader: () => SLPKLoader,
|
|
31
32
|
customizeColors: () => customizeColors,
|
|
32
33
|
loadFeatureAttributes: () => loadFeatureAttributes,
|
|
@@ -1420,12 +1421,19 @@ var SUPPORTED_LAYERS_TYPES = [
|
|
|
1420
1421
|
];
|
|
1421
1422
|
var NO_AVAILABLE_SUPPORTED_LAYERS_ERROR = "NO_AVAILABLE_SUPPORTED_LAYERS_ERROR";
|
|
1422
1423
|
var NOT_SUPPORTED_CRS_ERROR = "NOT_SUPPORTED_CRS_ERROR";
|
|
1424
|
+
var LayerError = class extends Error {
|
|
1425
|
+
constructor(message, details) {
|
|
1426
|
+
super(message);
|
|
1427
|
+
this.details = details;
|
|
1428
|
+
this.name = "LayerError";
|
|
1429
|
+
}
|
|
1430
|
+
};
|
|
1423
1431
|
async function parseWebscene(data) {
|
|
1424
1432
|
const layer0 = JSON.parse(new TextDecoder().decode(data));
|
|
1425
1433
|
const { operationalLayers } = layer0;
|
|
1426
1434
|
const { layers, unsupportedLayers } = await parseOperationalLayers(operationalLayers, true);
|
|
1427
1435
|
if (!layers.length) {
|
|
1428
|
-
throw new
|
|
1436
|
+
throw new LayerError(NO_AVAILABLE_SUPPORTED_LAYERS_ERROR, unsupportedLayers);
|
|
1429
1437
|
}
|
|
1430
1438
|
return {
|
|
1431
1439
|
header: layer0,
|
package/dist/index.d.ts
CHANGED
|
@@ -10,5 +10,6 @@ export { I3SNodePageLoader } from './i3s-node-page-loader';
|
|
|
10
10
|
export { ArcGISWebSceneLoader } from './arcgis-webscene-loader';
|
|
11
11
|
export type { SLPKArchive } from './lib/parsers/parse-slpk/slpk-archieve';
|
|
12
12
|
export { parseSLPKArchive } from './lib/parsers/parse-slpk/parse-slpk';
|
|
13
|
+
export { LayerError } from './lib/parsers/parse-arcgis-webscene';
|
|
13
14
|
export { customizeColors } from './lib/utils/customize-colors';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,eAAe,EACf,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AACjB,YAAY,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAE,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAC,2BAA2B,EAAC,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AAE9D,YAAY,EAAC,WAAW,EAAC,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,eAAe,EACf,GAAG,EACH,GAAG,EACH,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AACjB,YAAY,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAE,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAC,2BAA2B,EAAC,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AAE9D,YAAY,EAAC,WAAW,EAAC,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,5 +7,6 @@ export { I3SBuildingSceneLayerLoader } from "./i3s-building-scene-layer-loader.j
|
|
|
7
7
|
export { I3SNodePageLoader } from "./i3s-node-page-loader.js";
|
|
8
8
|
export { ArcGISWebSceneLoader } from "./arcgis-webscene-loader.js";
|
|
9
9
|
export { parseSLPKArchive } from "./lib/parsers/parse-slpk/parse-slpk.js";
|
|
10
|
+
export { LayerError } from "./lib/parsers/parse-arcgis-webscene.js";
|
|
10
11
|
export { customizeColors } from "./lib/utils/customize-colors.js";
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["COORDINATE_SYSTEM","I3SLoader","SLPKLoader","I3SContentLoader","I3SAttributeLoader","loadFeatureAttributes","I3SBuildingSceneLayerLoader","I3SNodePageLoader","ArcGISWebSceneLoader","parseSLPKArchive","customizeColors"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport type {\n BoundingVolumes,\n Mbs,\n Obb,\n I3STilesetHeader,\n I3STileContent,\n I3STileHeader,\n SceneLayer3D,\n AttributeStorageInfo,\n Field,\n ESRIField,\n PopupInfo,\n Node3DIndexDocument,\n LodSelection,\n NodeReference,\n Resource,\n MaxScreenThresholdSQ,\n NodeInPage,\n SharedResources,\n Attribute,\n Extent,\n FeatureAttribute,\n FieldInfo,\n I3SMaterialDefinition,\n TextureDefinitionInfo,\n MaterialDefinitionInfo,\n FullExtent,\n StatisticsInfo,\n StatsInfo,\n Histogram,\n ValueCount,\n BuildingSceneSublayer,\n OperationalLayer,\n TextureSetDefinitionFormats\n} from './types';\nexport type {I3SLoaderOptions} from './i3s-loader';\n\nexport {COORDINATE_SYSTEM} from './lib/parsers/constants';\n\nexport {I3SLoader} from './i3s-loader';\nexport {SLPKLoader} from './i3s-slpk-loader';\nexport {I3SContentLoader} from './i3s-content-loader';\nexport {I3SAttributeLoader, loadFeatureAttributes} from './i3s-attribute-loader';\nexport {I3SBuildingSceneLayerLoader} from './i3s-building-scene-layer-loader';\nexport {I3SNodePageLoader} from './i3s-node-page-loader';\nexport {ArcGISWebSceneLoader} from './arcgis-webscene-loader';\n\nexport type {SLPKArchive} from './lib/parsers/parse-slpk/slpk-archieve';\nexport {parseSLPKArchive} from './lib/parsers/parse-slpk/parse-slpk';\nexport {customizeColors} from './lib/utils/customize-colors';\n"],"mappings":"SAyCQA,iBAAiB;AAAA,SAEjBC,SAAS;AAAA,SACTC,UAAU;AAAA,SACVC,gBAAgB;AAAA,SAChBC,kBAAkB,EAAEC,qBAAqB;AAAA,SACzCC,2BAA2B;AAAA,SAC3BC,iBAAiB;AAAA,SACjBC,oBAAoB;AAAA,SAGpBC,gBAAgB;AAAA,SAChBC,eAAe"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["COORDINATE_SYSTEM","I3SLoader","SLPKLoader","I3SContentLoader","I3SAttributeLoader","loadFeatureAttributes","I3SBuildingSceneLayerLoader","I3SNodePageLoader","ArcGISWebSceneLoader","parseSLPKArchive","LayerError","customizeColors"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport type {\n BoundingVolumes,\n Mbs,\n Obb,\n I3STilesetHeader,\n I3STileContent,\n I3STileHeader,\n SceneLayer3D,\n AttributeStorageInfo,\n Field,\n ESRIField,\n PopupInfo,\n Node3DIndexDocument,\n LodSelection,\n NodeReference,\n Resource,\n MaxScreenThresholdSQ,\n NodeInPage,\n SharedResources,\n Attribute,\n Extent,\n FeatureAttribute,\n FieldInfo,\n I3SMaterialDefinition,\n TextureDefinitionInfo,\n MaterialDefinitionInfo,\n FullExtent,\n StatisticsInfo,\n StatsInfo,\n Histogram,\n ValueCount,\n BuildingSceneSublayer,\n OperationalLayer,\n TextureSetDefinitionFormats\n} from './types';\nexport type {I3SLoaderOptions} from './i3s-loader';\n\nexport {COORDINATE_SYSTEM} from './lib/parsers/constants';\n\nexport {I3SLoader} from './i3s-loader';\nexport {SLPKLoader} from './i3s-slpk-loader';\nexport {I3SContentLoader} from './i3s-content-loader';\nexport {I3SAttributeLoader, loadFeatureAttributes} from './i3s-attribute-loader';\nexport {I3SBuildingSceneLayerLoader} from './i3s-building-scene-layer-loader';\nexport {I3SNodePageLoader} from './i3s-node-page-loader';\nexport {ArcGISWebSceneLoader} from './arcgis-webscene-loader';\n\nexport type {SLPKArchive} from './lib/parsers/parse-slpk/slpk-archieve';\nexport {parseSLPKArchive} from './lib/parsers/parse-slpk/parse-slpk';\nexport {LayerError} from './lib/parsers/parse-arcgis-webscene';\nexport {customizeColors} from './lib/utils/customize-colors';\n"],"mappings":"SAyCQA,iBAAiB;AAAA,SAEjBC,SAAS;AAAA,SACTC,UAAU;AAAA,SACVC,gBAAgB;AAAA,SAChBC,kBAAkB,EAAEC,qBAAqB;AAAA,SACzCC,2BAA2B;AAAA,SAC3BC,iBAAiB;AAAA,SACjBC,oBAAoB;AAAA,SAGpBC,gBAAgB;AAAA,SAChBC,UAAU;AAAA,SACVC,eAAe"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { ArcGISWebSceneData } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Provides additional information in the exception Error object, e.g. unsupported layer types.
|
|
4
|
+
* @param message - message used in the Error object
|
|
5
|
+
* @param details - additional information that can be used to handle the exception.
|
|
6
|
+
* @example throw new LayerError(NO_AVAILABLE_SUPPORTED_LAYERS_ERROR, unsupportedLayers);
|
|
7
|
+
*/
|
|
8
|
+
export declare class LayerError extends Error {
|
|
9
|
+
details: unknown;
|
|
10
|
+
constructor(message: string, details: unknown);
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
13
|
* Parses ArcGIS WebScene
|
|
4
14
|
* @param data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arcgis-webscene.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-arcgis-webscene.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAmB,MAAM,aAAa,CAAC;AA2BtE;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAclF"}
|
|
1
|
+
{"version":3,"file":"parse-arcgis-webscene.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-arcgis-webscene.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAAmB,MAAM,aAAa,CAAC;AA2BtE;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAG1B,OAAO,EAAE,OAAO;gBADvB,OAAO,EAAE,MAAM,EACR,OAAO,EAAE,OAAO;CAK1B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAclF"}
|
|
@@ -7,6 +7,13 @@ const GROUP_LAYER = 'GroupLayer';
|
|
|
7
7
|
const SUPPORTED_LAYERS_TYPES = [ARCGIS_SCENE_SERVER_LAYER_TYPE, INTEGRATED_MESH_LAYER, BUILDING_SCENE_LAYER, GROUP_LAYER];
|
|
8
8
|
const NO_AVAILABLE_SUPPORTED_LAYERS_ERROR = 'NO_AVAILABLE_SUPPORTED_LAYERS_ERROR';
|
|
9
9
|
const NOT_SUPPORTED_CRS_ERROR = 'NOT_SUPPORTED_CRS_ERROR';
|
|
10
|
+
export class LayerError extends Error {
|
|
11
|
+
constructor(message, details) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.details = details;
|
|
14
|
+
this.name = 'LayerError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
10
17
|
export async function parseWebscene(data) {
|
|
11
18
|
const layer0 = JSON.parse(new TextDecoder().decode(data));
|
|
12
19
|
const {
|
|
@@ -17,7 +24,7 @@ export async function parseWebscene(data) {
|
|
|
17
24
|
unsupportedLayers
|
|
18
25
|
} = await parseOperationalLayers(operationalLayers, true);
|
|
19
26
|
if (!layers.length) {
|
|
20
|
-
throw new
|
|
27
|
+
throw new LayerError(NO_AVAILABLE_SUPPORTED_LAYERS_ERROR, unsupportedLayers);
|
|
21
28
|
}
|
|
22
29
|
return {
|
|
23
30
|
header: layer0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arcgis-webscene.js","names":["JSONLoader","load","SUPPORTED_WKID","ARCGIS_SCENE_SERVER_LAYER_TYPE","BUILDING_SCENE_LAYER","INTEGRATED_MESH_LAYER","GROUP_LAYER","SUPPORTED_LAYERS_TYPES","NO_AVAILABLE_SUPPORTED_LAYERS_ERROR","NOT_SUPPORTED_CRS_ERROR","parseWebscene","data","layer0","JSON","parse","TextDecoder","decode","operationalLayers","layers","unsupportedLayers","parseOperationalLayers","length","
|
|
1
|
+
{"version":3,"file":"parse-arcgis-webscene.js","names":["JSONLoader","load","SUPPORTED_WKID","ARCGIS_SCENE_SERVER_LAYER_TYPE","BUILDING_SCENE_LAYER","INTEGRATED_MESH_LAYER","GROUP_LAYER","SUPPORTED_LAYERS_TYPES","NO_AVAILABLE_SUPPORTED_LAYERS_ERROR","NOT_SUPPORTED_CRS_ERROR","LayerError","Error","constructor","message","details","name","parseWebscene","data","layer0","JSON","parse","TextDecoder","decode","operationalLayers","layers","unsupportedLayers","parseOperationalLayers","length","header","layersList","needToCheckCRS","index","_layer$layers","layer","isLayerSupported","includes","layerType","checkSupportedIndexCRS","push","childLayers","childUnsupportedLayers","_layerJson$spatialRef","layerJson","url","wkid","spatialReference","error"],"sources":["../../../src/lib/parsers/parse-arcgis-webscene.ts"],"sourcesContent":["import {JSONLoader, load} from '@loaders.gl/core';\nimport type {ArcGISWebSceneData, OperationalLayer} from '../../types';\n\n/**\n * WKID, or Well-Known ID, of the CRS. Specify either WKID or WKT of the CRS.\n * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/spatialReference.cmn.md\n */\nconst SUPPORTED_WKID = 4326;\n\nconst ARCGIS_SCENE_SERVER_LAYER_TYPE = 'ArcGISSceneServiceLayer';\nconst BUILDING_SCENE_LAYER = 'BuildingSceneLayer';\nconst INTEGRATED_MESH_LAYER = 'IntegratedMeshLayer';\nconst GROUP_LAYER = 'GroupLayer';\n\n/**\n * Supported layers list\n * Possible operational layers in WebScene: https://developers.arcgis.com/web-scene-specification/objects/operationalLayers/\n */\nconst SUPPORTED_LAYERS_TYPES = [\n ARCGIS_SCENE_SERVER_LAYER_TYPE,\n INTEGRATED_MESH_LAYER,\n BUILDING_SCENE_LAYER,\n GROUP_LAYER\n];\n\nconst NO_AVAILABLE_SUPPORTED_LAYERS_ERROR = 'NO_AVAILABLE_SUPPORTED_LAYERS_ERROR';\nconst NOT_SUPPORTED_CRS_ERROR = 'NOT_SUPPORTED_CRS_ERROR';\n\n/**\n * Provides additional information in the exception Error object, e.g. unsupported layer types.\n * @param message - message used in the Error object\n * @param details - additional information that can be used to handle the exception.\n * @example throw new LayerError(NO_AVAILABLE_SUPPORTED_LAYERS_ERROR, unsupportedLayers);\n */\nexport class LayerError extends Error {\n constructor(\n message: string,\n public details: unknown\n ) {\n super(message);\n this.name = 'LayerError';\n }\n}\n\n/**\n * Parses ArcGIS WebScene\n * @param data\n */\nexport async function parseWebscene(data: ArrayBuffer): Promise<ArcGISWebSceneData> {\n const layer0 = JSON.parse(new TextDecoder().decode(data));\n const {operationalLayers} = layer0;\n const {layers, unsupportedLayers} = await parseOperationalLayers(operationalLayers, true);\n\n if (!layers.length) {\n throw new LayerError(NO_AVAILABLE_SUPPORTED_LAYERS_ERROR, unsupportedLayers);\n }\n\n return {\n header: layer0,\n layers,\n unsupportedLayers\n };\n}\n\n/**\n * Recursively parses WebScene operational layers.\n * @param layersList\n */\nasync function parseOperationalLayers(\n layersList: OperationalLayer[],\n needToCheckCRS: boolean\n): Promise<{layers: OperationalLayer[]; unsupportedLayers: OperationalLayer[]}> {\n const layers: OperationalLayer[] = [];\n let unsupportedLayers: OperationalLayer[] = [];\n\n for (let index = 0; index < layersList.length; index++) {\n const layer = layersList[index];\n const isLayerSupported = SUPPORTED_LAYERS_TYPES.includes(layer.layerType);\n\n if (isLayerSupported) {\n if (needToCheckCRS && layer.layerType !== GROUP_LAYER) {\n await checkSupportedIndexCRS(layer);\n needToCheckCRS = false;\n }\n\n layers.push(layer);\n } else {\n unsupportedLayers.push(layer);\n }\n\n if (layer.layers?.length) {\n const {layers: childLayers, unsupportedLayers: childUnsupportedLayers} =\n await parseOperationalLayers(layer.layers, needToCheckCRS);\n layer.layers = childLayers;\n unsupportedLayers = [...unsupportedLayers, ...childUnsupportedLayers];\n }\n }\n\n return {layers, unsupportedLayers};\n}\n\n/**\n * Check if layer has supported CRS\n * @param layer\n */\nasync function checkSupportedIndexCRS(layer: OperationalLayer) {\n try {\n const layerJson = await load(layer.url, JSONLoader);\n // @ts-expect-error\n const wkid = layerJson?.spatialReference?.wkid;\n\n if (wkid !== SUPPORTED_WKID) {\n throw new Error(NOT_SUPPORTED_CRS_ERROR);\n }\n } catch (error) {\n throw error;\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/i3s",
|
|
3
|
-
"version": "4.1.0-alpha.
|
|
3
|
+
"version": "4.1.0-alpha.11",
|
|
4
4
|
"description": "i3s .",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
"build-worker-node": "esbuild src/workers/i3s-content-worker-node.ts --outfile=dist/i3s-content-worker-node.js --platform=node --target=node16 --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@loaders.gl/compression": "4.1.0-alpha.
|
|
45
|
-
"@loaders.gl/crypto": "4.1.0-alpha.
|
|
46
|
-
"@loaders.gl/draco": "4.1.0-alpha.
|
|
47
|
-
"@loaders.gl/images": "4.1.0-alpha.
|
|
48
|
-
"@loaders.gl/loader-utils": "4.1.0-alpha.
|
|
49
|
-
"@loaders.gl/schema": "4.1.0-alpha.
|
|
50
|
-
"@loaders.gl/textures": "4.1.0-alpha.
|
|
51
|
-
"@loaders.gl/tiles": "4.1.0-alpha.
|
|
44
|
+
"@loaders.gl/compression": "4.1.0-alpha.11",
|
|
45
|
+
"@loaders.gl/crypto": "4.1.0-alpha.11",
|
|
46
|
+
"@loaders.gl/draco": "4.1.0-alpha.11",
|
|
47
|
+
"@loaders.gl/images": "4.1.0-alpha.11",
|
|
48
|
+
"@loaders.gl/loader-utils": "4.1.0-alpha.11",
|
|
49
|
+
"@loaders.gl/schema": "4.1.0-alpha.11",
|
|
50
|
+
"@loaders.gl/textures": "4.1.0-alpha.11",
|
|
51
|
+
"@loaders.gl/tiles": "4.1.0-alpha.11",
|
|
52
52
|
"@math.gl/core": "^4.0.0",
|
|
53
53
|
"@math.gl/culling": "^4.0.0",
|
|
54
54
|
"@math.gl/geospatial": "^4.0.0"
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"@loaders.gl/core": "^4.0.0"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "5d3e23bf93762b48c8c1d6d926ede7a97fe43ab0"
|
|
60
60
|
}
|
package/src/index.ts
CHANGED
|
@@ -51,4 +51,5 @@ export {ArcGISWebSceneLoader} from './arcgis-webscene-loader';
|
|
|
51
51
|
|
|
52
52
|
export type {SLPKArchive} from './lib/parsers/parse-slpk/slpk-archieve';
|
|
53
53
|
export {parseSLPKArchive} from './lib/parsers/parse-slpk/parse-slpk';
|
|
54
|
+
export {LayerError} from './lib/parsers/parse-arcgis-webscene';
|
|
54
55
|
export {customizeColors} from './lib/utils/customize-colors';
|
|
@@ -26,6 +26,22 @@ const SUPPORTED_LAYERS_TYPES = [
|
|
|
26
26
|
const NO_AVAILABLE_SUPPORTED_LAYERS_ERROR = 'NO_AVAILABLE_SUPPORTED_LAYERS_ERROR';
|
|
27
27
|
const NOT_SUPPORTED_CRS_ERROR = 'NOT_SUPPORTED_CRS_ERROR';
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Provides additional information in the exception Error object, e.g. unsupported layer types.
|
|
31
|
+
* @param message - message used in the Error object
|
|
32
|
+
* @param details - additional information that can be used to handle the exception.
|
|
33
|
+
* @example throw new LayerError(NO_AVAILABLE_SUPPORTED_LAYERS_ERROR, unsupportedLayers);
|
|
34
|
+
*/
|
|
35
|
+
export class LayerError extends Error {
|
|
36
|
+
constructor(
|
|
37
|
+
message: string,
|
|
38
|
+
public details: unknown
|
|
39
|
+
) {
|
|
40
|
+
super(message);
|
|
41
|
+
this.name = 'LayerError';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
29
45
|
/**
|
|
30
46
|
* Parses ArcGIS WebScene
|
|
31
47
|
* @param data
|
|
@@ -36,7 +52,7 @@ export async function parseWebscene(data: ArrayBuffer): Promise<ArcGISWebSceneDa
|
|
|
36
52
|
const {layers, unsupportedLayers} = await parseOperationalLayers(operationalLayers, true);
|
|
37
53
|
|
|
38
54
|
if (!layers.length) {
|
|
39
|
-
throw new
|
|
55
|
+
throw new LayerError(NO_AVAILABLE_SUPPORTED_LAYERS_ERROR, unsupportedLayers);
|
|
40
56
|
}
|
|
41
57
|
|
|
42
58
|
return {
|