@loaders.gl/tile-converter 4.0.0-alpha.4 → 4.0.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-attributes-worker.d.ts +28 -0
- package/dist/3d-tiles-attributes-worker.d.ts.map +1 -0
- package/dist/3d-tiles-attributes-worker.js +3 -0
- package/dist/3d-tiles-attributes-worker.js.map +7 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +90 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.js +273 -231
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +79 -18
- package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js +269 -236
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +4 -7
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +22 -9
- package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts +9 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts.map +1 -0
- package/dist/3d-tiles-converter/helpers/texture-atlas.js +47 -28
- package/dist/3d-tiles-converter/json-templates/tileset.d.ts +15 -0
- package/dist/3d-tiles-converter/json-templates/tileset.d.ts.map +1 -0
- package/dist/3d-tiles-converter/json-templates/tileset.js +42 -36
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +2 -2
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/converter-cli.d.ts +2 -0
- package/dist/converter-cli.d.ts.map +1 -0
- package/dist/converter-cli.js +280 -0
- package/dist/converter.min.js +186 -190
- package/dist/deps-installer/deps-installer.d.ts +11 -3
- package/dist/deps-installer/deps-installer.d.ts.map +1 -0
- package/dist/deps-installer/deps-installer.js +60 -23
- package/dist/dist.min.js +63496 -0
- package/dist/es5/3d-tiles-attributes-worker.js +25 -0
- package/dist/es5/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +470 -0
- package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +301 -0
- package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
- package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +18 -0
- package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +33 -0
- package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
- package/dist/es5/3d-tiles-converter/json-templates/tileset.js +61 -0
- package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/constants.js +9 -0
- package/dist/es5/constants.js.map +1 -0
- package/dist/es5/converter-cli.js +289 -0
- package/dist/es5/converter-cli.js.map +1 -0
- package/dist/es5/deps-installer/deps-installer.js +123 -0
- package/dist/es5/deps-installer/deps-installer.js.map +1 -0
- package/dist/es5/i3s-attributes-worker.js +25 -0
- package/dist/es5/i3s-attributes-worker.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +116 -0
- package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js +90 -0
- package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +41 -0
- package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/feature-attributes.js +174 -0
- package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js +213 -0
- package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/geometry-converter.js +1173 -0
- package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js +83 -0
- package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/node-debug.js +76 -0
- package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/node-index-document.js +492 -0
- package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -0
- package/dist/es5/i3s-converter/helpers/node-pages.js +519 -0
- package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -0
- package/dist/es5/i3s-converter/i3s-converter.js +1519 -0
- package/dist/es5/i3s-converter/i3s-converter.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/geometry-definitions.js +107 -0
- package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/layers.js +163 -0
- package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/metadata.js +31 -0
- package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/node.js +99 -0
- package/dist/es5/i3s-converter/json-templates/node.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/scene-server.js +39 -0
- package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/shared-resources.js +173 -0
- package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -0
- package/dist/es5/i3s-converter/json-templates/store.js +107 -0
- package/dist/es5/i3s-converter/json-templates/store.js.map +1 -0
- package/dist/es5/i3s-converter/types.js +2 -0
- package/dist/es5/i3s-converter/types.js.map +1 -0
- package/dist/es5/i3s-server/app.js +18 -0
- package/dist/es5/i3s-server/app.js.map +1 -0
- package/dist/es5/i3s-server/controllers/index-controller.js +55 -0
- package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -0
- package/dist/es5/i3s-server/routes/index.js +37 -0
- package/dist/es5/i3s-server/routes/index.js.map +1 -0
- package/dist/es5/index.js +21 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/utils/compress-util.js +346 -0
- package/dist/es5/lib/utils/compress-util.js.map +1 -0
- package/dist/es5/lib/utils/file-utils.js +208 -0
- package/dist/es5/lib/utils/file-utils.js.map +1 -0
- package/dist/es5/lib/utils/lod-conversion-utils.js +44 -0
- package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -0
- package/dist/es5/lib/utils/queue.js +47 -0
- package/dist/es5/lib/utils/queue.js.map +1 -0
- package/dist/es5/lib/utils/statistic-utills.d.ts +25 -0
- package/dist/es5/lib/utils/statistic-utills.js +147 -0
- package/dist/es5/lib/utils/statistic-utills.js.map +1 -0
- package/dist/es5/lib/utils/write-queue.js +214 -0
- package/dist/es5/lib/utils/write-queue.js.map +1 -0
- package/dist/es5/pgm-loader.js +41 -0
- package/dist/es5/pgm-loader.js.map +1 -0
- package/dist/es5/workers/3d-tiles-attributes-worker.js +28 -0
- package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/es5/workers/i3s-attributes-worker.js +30 -0
- package/dist/es5/workers/i3s-attributes-worker.js.map +1 -0
- package/dist/esm/3d-tiles-attributes-worker.js +16 -0
- package/dist/esm/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +248 -0
- package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +224 -0
- package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
- package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +10 -0
- package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
- package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +27 -0
- package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
- package/dist/esm/3d-tiles-converter/json-templates/tileset.js +37 -0
- package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/constants.js +2 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/converter-cli.js +232 -0
- package/dist/esm/converter-cli.js.map +1 -0
- package/dist/esm/deps-installer/deps-installer.js +44 -0
- package/dist/esm/deps-installer/deps-installer.js.map +1 -0
- package/dist/esm/i3s-attributes-worker.js +16 -0
- package/dist/esm/i3s-attributes-worker.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +105 -0
- package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js +80 -0
- package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +16 -0
- package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/feature-attributes.js +147 -0
- package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -0
- package/{src → dist/esm}/i3s-converter/helpers/geometry-attributes.js +80 -106
- package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/geometry-converter.js +887 -0
- package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js +76 -0
- package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -0
- package/{src → dist/esm}/i3s-converter/helpers/node-debug.js +20 -41
- package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/node-index-document.js +188 -0
- package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -0
- package/dist/esm/i3s-converter/helpers/node-pages.js +206 -0
- package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -0
- package/dist/esm/i3s-converter/i3s-converter.js +771 -0
- package/dist/esm/i3s-converter/i3s-converter.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/geometry-definitions.js +89 -0
- package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/layers.js +133 -0
- package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/metadata.js +22 -0
- package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/node.js +80 -0
- package/dist/esm/i3s-converter/json-templates/node.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/scene-server.js +28 -0
- package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/shared-resources.js +123 -0
- package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -0
- package/dist/esm/i3s-converter/json-templates/store.js +98 -0
- package/dist/esm/i3s-converter/json-templates/store.js.map +1 -0
- package/dist/esm/i3s-converter/types.js +2 -0
- package/dist/esm/i3s-converter/types.js.map +1 -0
- package/dist/esm/i3s-server/app.js +16 -0
- package/dist/esm/i3s-server/app.js.map +1 -0
- package/dist/esm/i3s-server/bin/www +102 -0
- package/dist/esm/i3s-server/certs/cert.pem +19 -0
- package/dist/esm/i3s-server/certs/key.pem +27 -0
- package/dist/esm/i3s-server/controllers/index-controller.js +24 -0
- package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -0
- package/dist/esm/i3s-server/routes/index.js +16 -0
- package/dist/esm/i3s-server/routes/index.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/utils/compress-util.js +168 -0
- package/dist/esm/lib/utils/compress-util.js.map +1 -0
- package/dist/esm/lib/utils/file-utils.js +87 -0
- package/dist/esm/lib/utils/file-utils.js.map +1 -0
- package/dist/esm/lib/utils/lod-conversion-utils.js +37 -0
- package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -0
- package/dist/esm/lib/utils/queue.js +15 -0
- package/dist/esm/lib/utils/queue.js.map +1 -0
- package/dist/esm/lib/utils/statistic-utills.d.ts +25 -0
- package/dist/esm/lib/utils/statistic-utills.js +62 -0
- package/dist/esm/lib/utils/statistic-utills.js.map +1 -0
- package/dist/esm/lib/utils/write-queue.js +85 -0
- package/dist/esm/lib/utils/write-queue.js.map +1 -0
- package/dist/esm/pgm-loader.js +15 -0
- package/dist/esm/pgm-loader.js.map +1 -0
- package/dist/esm/workers/3d-tiles-attributes-worker.js +8 -0
- package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -0
- package/dist/esm/workers/i3s-attributes-worker.js +7 -0
- package/dist/esm/workers/i3s-attributes-worker.js.map +1 -0
- package/dist/i3s-attributes-worker.d.ts +37 -0
- package/dist/i3s-attributes-worker.d.ts.map +1 -0
- package/dist/i3s-attributes-worker.js +9 -0
- package/dist/i3s-attributes-worker.js.map +7 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +11 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/batch-ids-extensions.js +141 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts +41 -0
- package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/coordinate-converter.js +120 -42
- package/dist/i3s-converter/helpers/create-scene-server-path.d.ts +9 -0
- package/dist/i3s-converter/helpers/create-scene-server-path.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/create-scene-server-path.js +27 -15
- package/dist/i3s-converter/helpers/feature-attributes.d.ts +56 -0
- package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/feature-attributes.js +216 -0
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts +8 -0
- package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/geometry-attributes.js +188 -185
- package/dist/i3s-converter/helpers/geometry-converter.d.ts +36 -35
- package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/geometry-converter.js +1149 -650
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts +9 -0
- package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/gltf-attributes.js +88 -0
- package/dist/i3s-converter/helpers/node-debug.d.ts +8 -0
- package/dist/i3s-converter/helpers/node-debug.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-debug.js +106 -74
- package/dist/i3s-converter/helpers/node-index-document.d.ts +95 -0
- package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-index-document.js +250 -0
- package/dist/i3s-converter/helpers/node-pages.d.ts +125 -113
- package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -0
- package/dist/i3s-converter/helpers/node-pages.js +313 -133
- package/dist/i3s-converter/i3s-converter.d.ts +267 -0
- package/dist/i3s-converter/i3s-converter.d.ts.map +1 -0
- package/dist/i3s-converter/i3s-converter.js +860 -861
- package/dist/i3s-converter/json-templates/geometry-definitions.d.ts +7 -0
- package/dist/i3s-converter/json-templates/geometry-definitions.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/geometry-definitions.js +87 -0
- package/dist/i3s-converter/json-templates/layers.d.ts +70 -0
- package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/layers.js +138 -190
- package/dist/i3s-converter/json-templates/metadata.d.ts +22 -0
- package/dist/i3s-converter/json-templates/metadata.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/metadata.js +25 -22
- package/dist/i3s-converter/json-templates/node.d.ts +61 -0
- package/dist/i3s-converter/json-templates/node.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/node.js +88 -79
- package/dist/i3s-converter/json-templates/scene-server.d.ts +28 -0
- package/dist/i3s-converter/json-templates/scene-server.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/scene-server.js +31 -28
- package/dist/i3s-converter/json-templates/shared-resources.d.ts +14 -0
- package/dist/i3s-converter/json-templates/shared-resources.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/shared-resources.js +124 -125
- package/dist/i3s-converter/json-templates/store.d.ts +95 -0
- package/dist/i3s-converter/json-templates/store.d.ts.map +1 -0
- package/dist/i3s-converter/json-templates/store.js +100 -95
- package/dist/i3s-converter/types.d.ts +145 -0
- package/dist/i3s-converter/types.d.ts.map +1 -0
- package/dist/i3s-converter/types.js +2 -0
- package/dist/i3s-server/app.d.ts +3 -0
- package/dist/i3s-server/app.d.ts.map +1 -0
- package/dist/i3s-server/app.js +2 -9
- package/dist/i3s-server/controllers/index-controller.d.ts +2 -0
- package/dist/i3s-server/controllers/index-controller.d.ts.map +1 -0
- package/dist/i3s-server/controllers/index-controller.js +16 -24
- package/dist/i3s-server/routes/index.d.ts +3 -0
- package/dist/i3s-server/routes/index.d.ts.map +1 -0
- package/dist/i3s-server/routes/index.js +11 -15
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -5
- package/dist/lib/utils/compress-util.d.ts +45 -0
- package/dist/lib/utils/compress-util.d.ts.map +1 -0
- package/dist/lib/utils/compress-util.js +238 -160
- package/dist/lib/utils/file-utils.d.ts +22 -14
- package/dist/lib/utils/file-utils.d.ts.map +1 -0
- package/dist/lib/utils/file-utils.js +133 -36
- package/dist/lib/utils/lod-conversion-utils.d.ts +21 -12
- package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -0
- package/dist/lib/utils/lod-conversion-utils.js +72 -39
- package/dist/lib/utils/queue.d.ts +7 -0
- package/dist/lib/utils/queue.d.ts.map +1 -0
- package/dist/lib/utils/queue.js +18 -0
- package/dist/lib/utils/statistic-utills.d.ts +3 -25
- package/dist/lib/utils/statistic-utills.d.ts.map +1 -0
- package/dist/lib/utils/statistic-utills.js +58 -67
- package/dist/lib/utils/write-queue.d.ts +39 -0
- package/dist/lib/utils/write-queue.d.ts.map +1 -0
- package/dist/lib/utils/write-queue.js +80 -0
- package/dist/pgm-loader.d.ts +6 -0
- package/dist/pgm-loader.d.ts.map +1 -0
- package/dist/pgm-loader.js +23 -14
- package/dist/workers/3d-tiles-attributes-worker.d.ts +2 -0
- package/dist/workers/3d-tiles-attributes-worker.d.ts.map +1 -0
- package/dist/workers/3d-tiles-attributes-worker.js +9 -0
- package/dist/workers/i3s-attributes-worker.d.ts +2 -0
- package/dist/workers/i3s-attributes-worker.d.ts.map +1 -0
- package/dist/workers/i3s-attributes-worker.js +5 -0
- package/package.json +35 -24
- package/src/3d-tiles-attributes-worker.ts +43 -0
- package/src/3d-tiles-converter/3d-tiles-converter.ts +124 -59
- package/src/3d-tiles-converter/helpers/{b3dm-converter.js → b3dm-converter.ts} +71 -38
- package/src/3d-tiles-converter/helpers/{i3s-obb-to-3d-tiles-obb.js → i3s-obb-to-3d-tiles-obb.ts} +16 -1
- package/src/3d-tiles-converter/helpers/texture-atlas.ts +4 -4
- package/src/3d-tiles-converter/json-templates/{tileset.js → tileset.ts} +9 -9
- package/src/constants.ts +2 -0
- package/src/converter-cli.ts +370 -0
- package/src/deps-installer/deps-installer.ts +71 -0
- package/src/i3s-attributes-worker.ts +50 -0
- package/src/i3s-converter/helpers/batch-ids-extensions.ts +206 -0
- package/src/i3s-converter/helpers/coordinate-converter.ts +87 -27
- package/src/i3s-converter/helpers/create-scene-server-path.ts +29 -0
- package/src/i3s-converter/helpers/feature-attributes.ts +247 -0
- package/src/i3s-converter/helpers/geometry-attributes.ts +267 -0
- package/src/i3s-converter/helpers/geometry-converter.ts +1608 -0
- package/src/i3s-converter/helpers/gltf-attributes.ts +103 -0
- package/src/i3s-converter/helpers/node-debug.ts +146 -0
- package/src/i3s-converter/helpers/node-index-document.ts +315 -0
- package/src/i3s-converter/helpers/node-pages.ts +344 -0
- package/src/i3s-converter/i3s-converter.ts +557 -627
- package/src/i3s-converter/json-templates/geometry-definitions.ts +83 -0
- package/src/i3s-converter/json-templates/layers.ts +137 -0
- package/src/i3s-converter/json-templates/{metadata.js → metadata.ts} +2 -2
- package/src/i3s-converter/json-templates/{node.js → node.ts} +12 -12
- package/src/i3s-converter/json-templates/{scene-server.js → scene-server.ts} +2 -2
- package/src/i3s-converter/json-templates/{shared-resources.js → shared-resources.ts} +17 -17
- package/src/i3s-converter/types.ts +165 -0
- package/src/index.ts +0 -4
- package/src/lib/utils/{compress-util.js → compress-util.ts} +105 -18
- package/src/lib/utils/file-utils.ts +139 -0
- package/src/lib/utils/{lod-conversion-utils.js → lod-conversion-utils.ts} +27 -5
- package/src/lib/utils/queue.ts +17 -0
- package/src/lib/utils/write-queue.ts +110 -0
- package/src/pgm-loader.ts +3 -3
- package/src/workers/3d-tiles-attributes-worker.ts +6 -0
- package/src/workers/i3s-attributes-worker.ts +7 -0
- package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
- package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
- package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
- package/dist/bundle.js.map +0 -1
- package/dist/deps-installer/deps-installer.js.map +0 -1
- package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
- package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
- package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
- package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
- package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
- package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
- package/dist/i3s-converter/i3s-converter.js.map +0 -1
- package/dist/i3s-converter/json-templates/layers.js.map +0 -1
- package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
- package/dist/i3s-converter/json-templates/node.js.map +0 -1
- package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
- package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
- package/dist/i3s-converter/json-templates/store.js.map +0 -1
- package/dist/i3s-server/app.js.map +0 -1
- package/dist/i3s-server/controllers/index-controller.js.map +0 -1
- package/dist/i3s-server/routes/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/geoid-height-model.d.ts +0 -41
- package/dist/lib/geoid-height-model.js +0 -140
- package/dist/lib/geoid-height-model.js.map +0 -1
- package/dist/lib/pgm-parser.d.ts +0 -14
- package/dist/lib/pgm-parser.js +0 -183
- package/dist/lib/pgm-parser.js.map +0 -1
- package/dist/lib/utils/compress-util.js.map +0 -1
- package/dist/lib/utils/compress-utils.d.ts +0 -53
- package/dist/lib/utils/file-utils.js.map +0 -1
- package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
- package/dist/lib/utils/statistic-utills.js.map +0 -1
- package/dist/pgm-loader.js.map +0 -1
- package/src/3d-tiles-converter/helpers/b3dm-converter.d.ts +0 -23
- package/src/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +0 -16
- package/src/deps-installer/deps-installer.d.ts +0 -10
- package/src/deps-installer/deps-installer.js +0 -22
- package/src/i3s-converter/helpers/create-scene-server-path.js +0 -25
- package/src/i3s-converter/helpers/geometry-converter.d.ts +0 -40
- package/src/i3s-converter/helpers/geometry-converter.js +0 -915
- package/src/i3s-converter/helpers/node-pages.d.ts +0 -144
- package/src/i3s-converter/helpers/node-pages.js +0 -208
- package/src/i3s-converter/json-templates/layers.js +0 -199
- package/src/lib/geoid-height-model.d.ts +0 -41
- package/src/lib/geoid-height-model.js +0 -239
- package/src/lib/pgm-parser.d.ts +0 -14
- package/src/lib/pgm-parser.js +0 -179
- package/src/lib/utils/compress-utils.d.ts +0 -53
- package/src/lib/utils/file-utils.d.ts +0 -43
- package/src/lib/utils/file-utils.js +0 -38
- package/src/lib/utils/lod-conversion-utils.d.ts +0 -32
- /package/dist/{i3s-server → es5/i3s-server}/bin/www +0 -0
- /package/dist/{i3s-server → es5/i3s-server}/certs/cert.pem +0 -0
- /package/dist/{i3s-server → es5/i3s-server}/certs/key.pem +0 -0
- /package/src/i3s-converter/json-templates/{store.js → store.ts} +0 -0
- /package/src/lib/utils/{statistic-utills.js → statistic-utills.ts} +0 -0
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Represents one page node
|
|
3
|
-
* {@link https://github.com/Esri/i3s-spec/blob/master/docs/1.7/node.cmn.md}
|
|
4
|
-
*/
|
|
5
|
-
export type PageNodeType = {
|
|
6
|
-
lodThreshold: number;
|
|
7
|
-
obb: any;
|
|
8
|
-
children: any[];
|
|
9
|
-
mesh?: {
|
|
10
|
-
geometry: {
|
|
11
|
-
resource?: number;
|
|
12
|
-
definition?: number;
|
|
13
|
-
};
|
|
14
|
-
material?: {
|
|
15
|
-
resource?: number;
|
|
16
|
-
definition?: number;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* class NodePages - wrapper of nodePages array
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* import writeFile from './helpers/write-file';
|
|
26
|
-
*
|
|
27
|
-
* // create an instance of the class
|
|
28
|
-
* const nodePages = new NodePages(writeFile, HARDCODED_NODES_PER_PAGE);
|
|
29
|
-
* ...
|
|
30
|
-
* // push root node
|
|
31
|
-
* const parentId = nodePages.push({
|
|
32
|
-
lodThreshold: HARDCODED_MAX_SCREEN_THRESHOLD_SQ,
|
|
33
|
-
obb: coordinates.obb,
|
|
34
|
-
children: []
|
|
35
|
-
});
|
|
36
|
-
* ...
|
|
37
|
-
* // push node with parent relation
|
|
38
|
-
* const nodeInPage = {
|
|
39
|
-
lodThreshold: HARDCODED_MAX_SCREEN_THRESHOLD_SQ,
|
|
40
|
-
obb: coordinates.obb,
|
|
41
|
-
children: [],
|
|
42
|
-
mesh: {
|
|
43
|
-
geometry: {
|
|
44
|
-
definition: 0
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
* const nodeId = this.nodePages.push(nodeInPage, parentId);
|
|
49
|
-
* ...
|
|
50
|
-
* // save all the nodePages in the end of pushing all the nodes
|
|
51
|
-
* await this.nodePages.save(layers0path);
|
|
52
|
-
*/
|
|
53
|
-
export default class NodePages {
|
|
54
|
-
readonly nodesPerPage: number;
|
|
55
|
-
readonly nodesCounter: number;
|
|
56
|
-
readonly writeFile: any;
|
|
57
|
-
readonly nodePages: {nodes: PageNodeType[]}[];
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* @constructs
|
|
61
|
-
* Create a nodePages instance.
|
|
62
|
-
* @param writeFileFunc - function to save one nodePage into a file
|
|
63
|
-
* @param nodesPerPage - length limit for one nodePage. An additional nodePage is created when this limit is met
|
|
64
|
-
*/
|
|
65
|
-
constructor(writeFileFunc, nodesPerPage);
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Setup function to save node pages
|
|
69
|
-
* @param func - function which should be used to save node pages
|
|
70
|
-
*/
|
|
71
|
-
useWriteFunction(func: Function): void;
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Get the node by its end-to-end index
|
|
75
|
-
* @param id - end-to-end index of the node
|
|
76
|
-
* @return the node object
|
|
77
|
-
*/
|
|
78
|
-
getNodeById(id: number): object;
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Add a child id into the parent node.children array
|
|
82
|
-
* @param parentId - end-to-end parent node index
|
|
83
|
-
* @param childId - end-to-end child node index
|
|
84
|
-
*/
|
|
85
|
-
addChildRelation(parentId: number, childId: number): void;
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Update resource index in node.mesh object
|
|
89
|
-
* @param {object} node - node object
|
|
90
|
-
*/
|
|
91
|
-
updateResourceInMesh(node: object): void;
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Update material in node.mesh object by node id
|
|
95
|
-
* @param id - end-to-end index of the node
|
|
96
|
-
* @param materialId - id from scene layer materialDefinitions
|
|
97
|
-
*/
|
|
98
|
-
updateMaterialByNodeId(id: number, materialId: number);
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Update vertexCount in node.mesh.geometry object by node id
|
|
102
|
-
* @param id - end-to-end index of the node
|
|
103
|
-
* @param vertexCount - vertex count for particular node
|
|
104
|
-
*/
|
|
105
|
-
updateVertexCountByNodeId(id: number, vertexCount: number);
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Update resource in node.mesh.attribute object by node id
|
|
109
|
-
* @param id - end-to-end index of the node
|
|
110
|
-
*/
|
|
111
|
-
updateNodeAttributeByNodeId(id: number);
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Update featureCount in node.mesh.geometry object by node id
|
|
115
|
-
* @param id - end-to-end index of the node
|
|
116
|
-
* @param featureCount - features count of the node
|
|
117
|
-
*/
|
|
118
|
-
updateFeatureCountByNodeId(id: number, featureCount: number);
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Update texelCountHint in node.mesh.material object by node id
|
|
122
|
-
* @param id - end-to-end index of the node
|
|
123
|
-
* @param texelCountHint - texelCountHint of particular node
|
|
124
|
-
*/
|
|
125
|
-
updateTexelCountHintByNodeId(id: number, texelCountHint: number);
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Put new node in nodePages array
|
|
129
|
-
* @param node - node object
|
|
130
|
-
* @param parentId - index of parent node
|
|
131
|
-
* @return
|
|
132
|
-
*/
|
|
133
|
-
push(node: PageNodeType, parentId?: number): number;
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Save all the node pages
|
|
137
|
-
* Run this method when all nodes is pushed in nodePages
|
|
138
|
-
* @param {string} layers0path - path of layer
|
|
139
|
-
* @param {Object} fileMap - fileMap which keep info for slpk archive
|
|
140
|
-
* @param {boolean} slpk
|
|
141
|
-
* @return {promise}
|
|
142
|
-
*/
|
|
143
|
-
save(layers0path: string, fileMap: Object, slpk: boolean): Promise<void>;
|
|
144
|
-
}
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import {join} from 'path';
|
|
2
|
-
import transform from 'json-map-transform';
|
|
3
|
-
import {METADATA as metadataTemplate} from '../json-templates/metadata';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* class NodePages - wrapper of nodePages array
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* import {writeFile} from './helpers/write-file';
|
|
10
|
-
*
|
|
11
|
-
* // create an instance of the class
|
|
12
|
-
* const nodePages = new NodePages(writeFile, HARDCODED_NODES_PER_PAGE);
|
|
13
|
-
* ...
|
|
14
|
-
* // push root node
|
|
15
|
-
* const parentId = nodePages.push({
|
|
16
|
-
lodThreshold: HARDCODED_MAX_SCREEN_THRESHOLD_SQ,
|
|
17
|
-
obb: coordinates.obb,
|
|
18
|
-
children: []
|
|
19
|
-
});
|
|
20
|
-
* ...
|
|
21
|
-
* // push node with parent relation
|
|
22
|
-
* const nodeInPage = {
|
|
23
|
-
lodThreshold: HARDCODED_MAX_SCREEN_THRESHOLD_SQ,
|
|
24
|
-
obb: coordinates.obb,
|
|
25
|
-
children: [],
|
|
26
|
-
mesh: {
|
|
27
|
-
geometry: {
|
|
28
|
-
definition: 0
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
* const nodeId = this.nodePages.push(nodeInPage, parentId);
|
|
33
|
-
* ...
|
|
34
|
-
* // save all the nodePages in the end of pushing all the nodes
|
|
35
|
-
* await this.nodePages.save(layers0path);
|
|
36
|
-
*/
|
|
37
|
-
export default class NodePages {
|
|
38
|
-
/**
|
|
39
|
-
* @constructs
|
|
40
|
-
* Create a nodePages instance.
|
|
41
|
-
* @param writeFileFunc - function to save one nodePage into a file
|
|
42
|
-
* @param nodesPerPage - length limit for one nodePage. An additional nodePage is created when this limit is met
|
|
43
|
-
*/
|
|
44
|
-
constructor(writeFileFunc, nodesPerPage) {
|
|
45
|
-
this.nodesPerPage = nodesPerPage;
|
|
46
|
-
this.nodesCounter = 0;
|
|
47
|
-
this.nodePages = [{}];
|
|
48
|
-
this.nodePages[0].nodes = [];
|
|
49
|
-
this.writeFile = writeFileFunc;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
useWriteFunction(func) {
|
|
53
|
-
this.writeFile = func;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Get the node by its end-to-end index
|
|
58
|
-
* @param {number} id - end-to-end index of the node
|
|
59
|
-
* @return {object} the node object
|
|
60
|
-
*/
|
|
61
|
-
getNodeById(id) {
|
|
62
|
-
const pageIndex = Math.floor(id / this.nodesPerPage);
|
|
63
|
-
const nodeIndex = id % this.nodesPerPage;
|
|
64
|
-
return this.nodePages[pageIndex].nodes[nodeIndex];
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Update material in node.mesh object by node id
|
|
69
|
-
* @param id - end-to-end index of the node
|
|
70
|
-
* @param materialId - id from scene layer materialDefinitions
|
|
71
|
-
*/
|
|
72
|
-
updateMaterialByNodeId(id, materialId) {
|
|
73
|
-
const node = this.getNodeById(id);
|
|
74
|
-
if (!node.mesh) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
node.mesh.material = {
|
|
78
|
-
definition: materialId,
|
|
79
|
-
resource: node.index
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Update vertexCount in node.mesh.geometry object by node id
|
|
85
|
-
* @param id - end-to-end index of the node
|
|
86
|
-
* @param vertexCount - vertex count for particular node
|
|
87
|
-
*/
|
|
88
|
-
updateVertexCountByNodeId(id, vertexCount) {
|
|
89
|
-
const node = this.getNodeById(id);
|
|
90
|
-
if (!node.mesh) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
node.mesh.geometry.vertexCount = vertexCount;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Update resource in node.mesh.attribute object by node id
|
|
98
|
-
* @param id - end-to-end index of the node
|
|
99
|
-
*/
|
|
100
|
-
updateNodeAttributeByNodeId(id) {
|
|
101
|
-
const node = this.getNodeById(id);
|
|
102
|
-
if (!node.mesh) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
node.mesh.attribute.resource = node.index;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Update featureCount in node.mesh.geometry object by node id
|
|
110
|
-
* @param id - end-to-end index of the node
|
|
111
|
-
* @param featureCount - features count of the node
|
|
112
|
-
*/
|
|
113
|
-
updateFeatureCountByNodeId(id, featureCount) {
|
|
114
|
-
const node = this.getNodeById(id);
|
|
115
|
-
if (!node.mesh) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
node.mesh.geometry.featureCount = featureCount;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
updateTexelCountHintByNodeId(id, texelCountHint) {
|
|
122
|
-
const node = this.getNodeById(id);
|
|
123
|
-
if (!node.mesh || !node.mesh.material) {
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
node.mesh.material.texelCountHint = texelCountHint;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Add a child id into the parent node.children array
|
|
131
|
-
* @param {number | null} parentId - end-to-end parent node index
|
|
132
|
-
* @param {number} childId - end-to-end child node index
|
|
133
|
-
* @return {void}
|
|
134
|
-
*/
|
|
135
|
-
addChildRelation(parentId, childId) {
|
|
136
|
-
if (parentId === null) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
const parentNode = this.getNodeById(parentId);
|
|
140
|
-
parentNode.children.push(childId);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Update resource index in node.mesh object
|
|
145
|
-
* @param {object} node - node object
|
|
146
|
-
* @return {void}
|
|
147
|
-
*/
|
|
148
|
-
updateResourceInMesh(node) {
|
|
149
|
-
if (node.mesh) {
|
|
150
|
-
node.mesh.geometry.resource = node.index;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Put new node in nodePages array
|
|
156
|
-
* @param {object} node - node object
|
|
157
|
-
* @param {number | null} parentId - index of parent node
|
|
158
|
-
* @return {number}
|
|
159
|
-
*/
|
|
160
|
-
push(node, parentId = null) {
|
|
161
|
-
let currentNodePage = this.nodePages[this.nodePages.length - 1];
|
|
162
|
-
if (currentNodePage.nodes.length === this.nodesPerPage) {
|
|
163
|
-
currentNodePage = {nodes: []};
|
|
164
|
-
this.nodePages.push(currentNodePage);
|
|
165
|
-
}
|
|
166
|
-
node.index = this.nodesCounter++;
|
|
167
|
-
currentNodePage.nodes.push(node);
|
|
168
|
-
this.addChildRelation(parentId, node.index);
|
|
169
|
-
this.updateResourceInMesh(node);
|
|
170
|
-
return node.index;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Save all the node pages
|
|
175
|
-
* Run this method when all nodes is pushed in nodePages
|
|
176
|
-
* @param {string} layers0Path - path of layer
|
|
177
|
-
* @param {Object} fileMap
|
|
178
|
-
* @param {boolean} slpk
|
|
179
|
-
* @return {promise}
|
|
180
|
-
*/
|
|
181
|
-
async save(layers0Path, fileMap, slpk = false) {
|
|
182
|
-
const promises = [];
|
|
183
|
-
if (slpk) {
|
|
184
|
-
for (const [index, nodePage] of this.nodePages.entries()) {
|
|
185
|
-
const nodePageStr = JSON.stringify(nodePage);
|
|
186
|
-
const slpkPath = join(layers0Path, 'nodepages');
|
|
187
|
-
promises.push(this.writeFile(slpkPath, nodePageStr, `${index.toString()}.json`));
|
|
188
|
-
fileMap[`nodePages/${index.toString()}.json.gz`] = `${slpkPath}.json.gz`;
|
|
189
|
-
}
|
|
190
|
-
const metadata = transform({nodeCount: this.nodesCounter}, metadataTemplate);
|
|
191
|
-
const compress = false;
|
|
192
|
-
fileMap['metadata.json'] = await this.writeFile(
|
|
193
|
-
layers0Path,
|
|
194
|
-
JSON.stringify(metadata),
|
|
195
|
-
'metadata.json',
|
|
196
|
-
compress
|
|
197
|
-
);
|
|
198
|
-
} else {
|
|
199
|
-
for (const [index, nodePage] of this.nodePages.entries()) {
|
|
200
|
-
const nodePageStr = JSON.stringify(nodePage);
|
|
201
|
-
const nodePagePath = join(layers0Path, 'nodepages', index.toString());
|
|
202
|
-
promises.push(this.writeFile(nodePagePath, nodePageStr));
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
await Promise.all(promises);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import transform from 'json-map-transform';
|
|
2
|
-
import {STORE} from './store';
|
|
3
|
-
|
|
4
|
-
const PLAIN_GEOMETRY_DEFINITION = {
|
|
5
|
-
offset: 8,
|
|
6
|
-
position: {
|
|
7
|
-
type: 'Float32',
|
|
8
|
-
component: 3
|
|
9
|
-
},
|
|
10
|
-
normal: {
|
|
11
|
-
type: 'Float32',
|
|
12
|
-
component: 3
|
|
13
|
-
},
|
|
14
|
-
uv0: {
|
|
15
|
-
type: 'Float32',
|
|
16
|
-
component: 2
|
|
17
|
-
},
|
|
18
|
-
color: {
|
|
19
|
-
type: 'UInt8',
|
|
20
|
-
component: 4
|
|
21
|
-
},
|
|
22
|
-
featureId: {
|
|
23
|
-
binding: 'per-feature',
|
|
24
|
-
type: 'UInt64',
|
|
25
|
-
component: 1
|
|
26
|
-
},
|
|
27
|
-
faceRange: {
|
|
28
|
-
binding: 'per-feature',
|
|
29
|
-
type: 'UInt32',
|
|
30
|
-
component: 2
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const PLAIN_GEOMETRY_DEFINITION_WITHOUT_UV0 = {
|
|
35
|
-
offset: 8,
|
|
36
|
-
position: {
|
|
37
|
-
type: 'Float32',
|
|
38
|
-
component: 3
|
|
39
|
-
},
|
|
40
|
-
normal: {
|
|
41
|
-
type: 'Float32',
|
|
42
|
-
component: 3
|
|
43
|
-
},
|
|
44
|
-
color: {
|
|
45
|
-
type: 'UInt8',
|
|
46
|
-
component: 4
|
|
47
|
-
},
|
|
48
|
-
featureId: {
|
|
49
|
-
binding: 'per-feature',
|
|
50
|
-
type: 'UInt64',
|
|
51
|
-
component: 1
|
|
52
|
-
},
|
|
53
|
-
faceRange: {
|
|
54
|
-
binding: 'per-feature',
|
|
55
|
-
type: 'UInt32',
|
|
56
|
-
component: 2
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const COMPRESSED_GEOMETRY_DEFINITION = {
|
|
61
|
-
compressedAttributes: {
|
|
62
|
-
encoding: 'draco',
|
|
63
|
-
attributes: ['position', 'normal', 'uv0', 'color', 'feature-index']
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const COMPRESSED_GEOMETRY_DEFINITION_WITHOUT_UV0 = {
|
|
68
|
-
compressedAttributes: {
|
|
69
|
-
encoding: 'draco',
|
|
70
|
-
attributes: ['position', 'normal', 'color', 'feature-index']
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
const SPATIAL_REFERENCE = {
|
|
75
|
-
wkid: {
|
|
76
|
-
path: 'wkid',
|
|
77
|
-
default: 4326
|
|
78
|
-
},
|
|
79
|
-
latestWkid: {
|
|
80
|
-
path: 'latestWkid',
|
|
81
|
-
default: 4326
|
|
82
|
-
},
|
|
83
|
-
vcsWkid: {
|
|
84
|
-
path: 'vcsWkid',
|
|
85
|
-
default: 5773
|
|
86
|
-
},
|
|
87
|
-
latestVcsWkid: {
|
|
88
|
-
path: 'latestVcsWkid',
|
|
89
|
-
default: 5773
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
const HEIGHT_MODEL_INFO = {
|
|
94
|
-
heightModel: {
|
|
95
|
-
path: 'heightModel',
|
|
96
|
-
default: 'gravity_related_height'
|
|
97
|
-
},
|
|
98
|
-
vertCRS: {
|
|
99
|
-
path: 'vertCRS',
|
|
100
|
-
default: 'EGM96_Geoid'
|
|
101
|
-
},
|
|
102
|
-
heightUnit: {
|
|
103
|
-
path: 'heightUnit',
|
|
104
|
-
default: 'meter'
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
const NODE_PAGES = {
|
|
109
|
-
nodesPerPage: {
|
|
110
|
-
path: 'nodesPerPage'
|
|
111
|
-
},
|
|
112
|
-
lodSelectionMetricType: {
|
|
113
|
-
path: 'lodSelectionMetricType',
|
|
114
|
-
default: 'maxScreenThresholdSQ'
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
export const LAYERS = {
|
|
119
|
-
version: {
|
|
120
|
-
path: 'version',
|
|
121
|
-
transform: (val) => val.toUpperCase()
|
|
122
|
-
},
|
|
123
|
-
id: {
|
|
124
|
-
path: 'id',
|
|
125
|
-
default: 0
|
|
126
|
-
},
|
|
127
|
-
name: {
|
|
128
|
-
path: 'name'
|
|
129
|
-
},
|
|
130
|
-
href: {
|
|
131
|
-
path: 'href',
|
|
132
|
-
default: './layers/0'
|
|
133
|
-
},
|
|
134
|
-
layerType: {
|
|
135
|
-
path: 'layerType',
|
|
136
|
-
default: 'IntegratedMesh'
|
|
137
|
-
},
|
|
138
|
-
spatialReference: {
|
|
139
|
-
path: 'spatialReference',
|
|
140
|
-
transform: (val) => transform(val, SPATIAL_REFERENCE)
|
|
141
|
-
},
|
|
142
|
-
capabilities: {
|
|
143
|
-
path: 'capabilities',
|
|
144
|
-
default: ['View', 'Query']
|
|
145
|
-
},
|
|
146
|
-
store: {
|
|
147
|
-
path: 'store',
|
|
148
|
-
transform: (val) => transform(val, STORE)
|
|
149
|
-
},
|
|
150
|
-
heightModelInfo: {
|
|
151
|
-
path: 'heightModelInfo',
|
|
152
|
-
transform: (val) => transform(val, HEIGHT_MODEL_INFO)
|
|
153
|
-
},
|
|
154
|
-
nodePages: {
|
|
155
|
-
path: 'nodePages',
|
|
156
|
-
transform: (val) => transform(val, NODE_PAGES)
|
|
157
|
-
},
|
|
158
|
-
materialDefinitions: {
|
|
159
|
-
path: 'materialDefinitions',
|
|
160
|
-
default: []
|
|
161
|
-
},
|
|
162
|
-
textureSetDefinitions: {
|
|
163
|
-
path: 'textureSetDefinitions',
|
|
164
|
-
default: []
|
|
165
|
-
},
|
|
166
|
-
geometryDefinitions: {
|
|
167
|
-
path: 'compressGeometry',
|
|
168
|
-
transform: (val) => {
|
|
169
|
-
const result = [{}, {}];
|
|
170
|
-
result[0].geometryBuffers = [];
|
|
171
|
-
result[1].geometryBuffers = [];
|
|
172
|
-
|
|
173
|
-
result[0].geometryBuffers.push(PLAIN_GEOMETRY_DEFINITION);
|
|
174
|
-
result[1].geometryBuffers.push(PLAIN_GEOMETRY_DEFINITION_WITHOUT_UV0);
|
|
175
|
-
if (val) {
|
|
176
|
-
result[0].geometryBuffers.push(COMPRESSED_GEOMETRY_DEFINITION);
|
|
177
|
-
result[1].geometryBuffers.push(COMPRESSED_GEOMETRY_DEFINITION_WITHOUT_UV0);
|
|
178
|
-
}
|
|
179
|
-
return result;
|
|
180
|
-
},
|
|
181
|
-
default: [
|
|
182
|
-
{
|
|
183
|
-
geometryBuffers: [PLAIN_GEOMETRY_DEFINITION, PLAIN_GEOMETRY_DEFINITION_WITHOUT_UV0]
|
|
184
|
-
}
|
|
185
|
-
]
|
|
186
|
-
},
|
|
187
|
-
attributeStorageInfo: {
|
|
188
|
-
path: 'attributeStorageInfo',
|
|
189
|
-
default: []
|
|
190
|
-
},
|
|
191
|
-
fields: {
|
|
192
|
-
path: 'fields',
|
|
193
|
-
default: []
|
|
194
|
-
},
|
|
195
|
-
popupInfo: {
|
|
196
|
-
path: 'popupInfo',
|
|
197
|
-
default: null
|
|
198
|
-
}
|
|
199
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* class GeoidHeightModel - "Gravity Height Model"
|
|
3
|
-
* Calculates difference between mean see level height and WGS84 ellipsoid height
|
|
4
|
-
* Input data have to be loaded from "Earth Gravity Model" *.pgm file with "PGMLoader"
|
|
5
|
-
* A particular model file can be loaded on https://geographiclib.sourceforge.io/html/geoid.html
|
|
6
|
-
*
|
|
7
|
-
* The implementation is ported from GeographicLib-1.50.1
|
|
8
|
-
*/
|
|
9
|
-
export class GeoidHeightModel {
|
|
10
|
-
/**
|
|
11
|
-
* @constructs
|
|
12
|
-
* Create a GeoidHeightModel instance.
|
|
13
|
-
* @param options - object which includes parameters parsed from *.pgm header
|
|
14
|
-
* @param options.data - binary buffer of *.pgm file
|
|
15
|
-
*/
|
|
16
|
-
constructor(options: {
|
|
17
|
-
cubic: boolean;
|
|
18
|
-
_width: number;
|
|
19
|
-
_height: number;
|
|
20
|
-
_rlonres: number;
|
|
21
|
-
_rlatres: number;
|
|
22
|
-
_offset: number;
|
|
23
|
-
_scale: number;
|
|
24
|
-
_swidth: number;
|
|
25
|
-
_datastart: number;
|
|
26
|
-
_maxerror: number;
|
|
27
|
-
_rmserror: number;
|
|
28
|
-
_description: string;
|
|
29
|
-
_datetime: string;
|
|
30
|
-
data: Uint8Array;
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Calculates difference between mean see level height and WGS84 ellipsoid height
|
|
35
|
-
* Code is ported from /GeographicLib-1.50.1/src/Geoid.cpp
|
|
36
|
-
* @param lat - latitude
|
|
37
|
-
* @param lon - longitude
|
|
38
|
-
* @returns height in meters
|
|
39
|
-
*/
|
|
40
|
-
getHeight(lat: number, lon: number): number;
|
|
41
|
-
}
|