@loaders.gl/tile-converter 4.0.0-alpha.1 → 4.0.0-alpha.10

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.
Files changed (468) hide show
  1. package/bin/converter.js +1 -1
  2. package/dist/3d-tiles-attributes-worker.d.ts +28 -0
  3. package/dist/3d-tiles-attributes-worker.d.ts.map +1 -0
  4. package/dist/3d-tiles-attributes-worker.js +3 -0
  5. package/dist/3d-tiles-attributes-worker.js.map +7 -0
  6. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +90 -0
  7. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -0
  8. package/dist/3d-tiles-converter/3d-tiles-converter.js +275 -226
  9. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +71 -18
  10. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -0
  11. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +256 -236
  12. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +4 -7
  13. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts.map +1 -0
  14. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +22 -9
  15. package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts +9 -0
  16. package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts.map +1 -0
  17. package/dist/3d-tiles-converter/helpers/texture-atlas.js +47 -28
  18. package/dist/3d-tiles-converter/json-templates/tileset.d.ts +15 -0
  19. package/dist/3d-tiles-converter/json-templates/tileset.d.ts.map +1 -0
  20. package/dist/3d-tiles-converter/json-templates/tileset.js +42 -36
  21. package/dist/bundle.d.ts +2 -0
  22. package/dist/bundle.d.ts.map +1 -0
  23. package/dist/bundle.js +2 -2
  24. package/dist/constants.d.ts +2 -0
  25. package/dist/constants.d.ts.map +1 -0
  26. package/dist/constants.js +4 -0
  27. package/dist/converter-cli.d.ts +2 -0
  28. package/dist/converter-cli.d.ts.map +1 -0
  29. package/dist/converter-cli.js +280 -0
  30. package/dist/converter.min.js +185 -190
  31. package/dist/deps-installer/deps-installer.d.ts +11 -3
  32. package/dist/deps-installer/deps-installer.d.ts.map +1 -0
  33. package/dist/deps-installer/deps-installer.js +61 -23
  34. package/dist/dist.min.js +64143 -0
  35. package/dist/es5/3d-tiles-attributes-worker.js +25 -0
  36. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -0
  37. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +467 -0
  38. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
  39. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +293 -0
  40. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
  41. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +18 -0
  42. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
  43. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +33 -0
  44. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
  45. package/dist/es5/3d-tiles-converter/json-templates/tileset.js +61 -0
  46. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -0
  47. package/dist/es5/bundle.js +6 -0
  48. package/dist/es5/bundle.js.map +1 -0
  49. package/dist/es5/constants.js +9 -0
  50. package/dist/es5/constants.js.map +1 -0
  51. package/dist/es5/converter-cli.js +289 -0
  52. package/dist/es5/converter-cli.js.map +1 -0
  53. package/dist/es5/deps-installer/deps-installer.js +124 -0
  54. package/dist/es5/deps-installer/deps-installer.js.map +1 -0
  55. package/dist/es5/i3s-attributes-worker.js +25 -0
  56. package/dist/es5/i3s-attributes-worker.js.map +1 -0
  57. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +116 -0
  58. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
  59. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +89 -0
  60. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -0
  61. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +41 -0
  62. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
  63. package/dist/es5/i3s-converter/helpers/feature-attributes.js +174 -0
  64. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -0
  65. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +213 -0
  66. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -0
  67. package/dist/es5/i3s-converter/helpers/geometry-converter.js +1192 -0
  68. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -0
  69. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +113 -0
  70. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -0
  71. package/dist/es5/i3s-converter/helpers/load-3d-tiles.js +82 -0
  72. package/dist/es5/i3s-converter/helpers/load-3d-tiles.js.map +1 -0
  73. package/dist/es5/i3s-converter/helpers/node-debug.js +76 -0
  74. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -0
  75. package/dist/es5/i3s-converter/helpers/node-index-document.js +521 -0
  76. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -0
  77. package/dist/es5/i3s-converter/helpers/node-pages.js +519 -0
  78. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -0
  79. package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js +111 -0
  80. package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
  81. package/dist/es5/i3s-converter/helpers/tileset-traversal.js +82 -0
  82. package/dist/es5/i3s-converter/helpers/tileset-traversal.js.map +1 -0
  83. package/dist/es5/i3s-converter/i3s-converter.js +1541 -0
  84. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -0
  85. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js +107 -0
  86. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  87. package/dist/es5/i3s-converter/json-templates/layers.js +163 -0
  88. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -0
  89. package/dist/es5/i3s-converter/json-templates/metadata.js +31 -0
  90. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -0
  91. package/dist/es5/i3s-converter/json-templates/node.js +99 -0
  92. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -0
  93. package/dist/es5/i3s-converter/json-templates/scene-server.js +39 -0
  94. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -0
  95. package/dist/es5/i3s-converter/json-templates/shared-resources.js +173 -0
  96. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -0
  97. package/dist/es5/i3s-converter/json-templates/store.js +107 -0
  98. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -0
  99. package/dist/es5/i3s-converter/types.js +18 -0
  100. package/dist/es5/i3s-converter/types.js.map +1 -0
  101. package/dist/es5/i3s-server/README.md +19 -0
  102. package/dist/es5/i3s-server/app.js +27 -0
  103. package/dist/es5/i3s-server/app.js.map +1 -0
  104. package/dist/es5/i3s-server/controllers/index-controller.js +55 -0
  105. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -0
  106. package/dist/es5/i3s-server/controllers/slpk-controller.js +84 -0
  107. package/dist/es5/i3s-server/controllers/slpk-controller.js.map +1 -0
  108. package/dist/es5/i3s-server/routes/index.js +37 -0
  109. package/dist/es5/i3s-server/routes/index.js.map +1 -0
  110. package/dist/es5/i3s-server/routes/slpk-router.js +71 -0
  111. package/dist/es5/i3s-server/routes/slpk-router.js.map +1 -0
  112. package/dist/es5/i3s-server/utils/create-scene-server.js +17 -0
  113. package/dist/es5/i3s-server/utils/create-scene-server.js.map +1 -0
  114. package/dist/es5/index.js +21 -0
  115. package/dist/es5/index.js.map +1 -0
  116. package/dist/es5/lib/utils/compress-util.js +346 -0
  117. package/dist/es5/lib/utils/compress-util.js.map +1 -0
  118. package/dist/es5/lib/utils/file-utils.js +208 -0
  119. package/dist/es5/lib/utils/file-utils.js.map +1 -0
  120. package/dist/es5/lib/utils/geometry-utils.js +15 -0
  121. package/dist/es5/lib/utils/geometry-utils.js.map +1 -0
  122. package/dist/es5/lib/utils/lod-conversion-utils.js +44 -0
  123. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -0
  124. package/dist/es5/lib/utils/queue.js +47 -0
  125. package/dist/es5/lib/utils/queue.js.map +1 -0
  126. package/dist/es5/lib/utils/statistic-utills.d.ts +25 -0
  127. package/dist/es5/lib/utils/statistic-utills.js +147 -0
  128. package/dist/es5/lib/utils/statistic-utills.js.map +1 -0
  129. package/dist/es5/lib/utils/write-queue.js +214 -0
  130. package/dist/es5/lib/utils/write-queue.js.map +1 -0
  131. package/dist/es5/pgm-loader.js +41 -0
  132. package/dist/es5/pgm-loader.js.map +1 -0
  133. package/dist/es5/workers/3d-tiles-attributes-worker.js +28 -0
  134. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -0
  135. package/dist/es5/workers/i3s-attributes-worker.js +30 -0
  136. package/dist/es5/workers/i3s-attributes-worker.js.map +1 -0
  137. package/dist/esm/3d-tiles-attributes-worker.js +16 -0
  138. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -0
  139. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +245 -0
  140. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
  141. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +218 -0
  142. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
  143. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +10 -0
  144. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
  145. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +27 -0
  146. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
  147. package/dist/esm/3d-tiles-converter/json-templates/tileset.js +37 -0
  148. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -0
  149. package/dist/esm/bundle.js +4 -0
  150. package/dist/esm/bundle.js.map +1 -0
  151. package/dist/esm/constants.js +2 -0
  152. package/dist/esm/constants.js.map +1 -0
  153. package/dist/esm/converter-cli.js +232 -0
  154. package/dist/esm/converter-cli.js.map +1 -0
  155. package/dist/esm/deps-installer/deps-installer.js +45 -0
  156. package/dist/esm/deps-installer/deps-installer.js.map +1 -0
  157. package/dist/esm/i3s-attributes-worker.js +16 -0
  158. package/dist/esm/i3s-attributes-worker.js.map +1 -0
  159. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +105 -0
  160. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
  161. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +79 -0
  162. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -0
  163. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +16 -0
  164. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
  165. package/dist/esm/i3s-converter/helpers/feature-attributes.js +147 -0
  166. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -0
  167. package/{src → dist/esm}/i3s-converter/helpers/geometry-attributes.js +80 -106
  168. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -0
  169. package/dist/esm/i3s-converter/helpers/geometry-converter.js +906 -0
  170. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -0
  171. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +110 -0
  172. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -0
  173. package/dist/esm/i3s-converter/helpers/load-3d-tiles.js +35 -0
  174. package/dist/esm/i3s-converter/helpers/load-3d-tiles.js.map +1 -0
  175. package/{src → dist/esm}/i3s-converter/helpers/node-debug.js +20 -41
  176. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -0
  177. package/dist/esm/i3s-converter/helpers/node-index-document.js +201 -0
  178. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -0
  179. package/dist/esm/i3s-converter/helpers/node-pages.js +206 -0
  180. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -0
  181. package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js +48 -0
  182. package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
  183. package/dist/esm/i3s-converter/helpers/tileset-traversal.js +14 -0
  184. package/dist/esm/i3s-converter/helpers/tileset-traversal.js.map +1 -0
  185. package/dist/esm/i3s-converter/i3s-converter.js +778 -0
  186. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -0
  187. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js +89 -0
  188. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  189. package/dist/esm/i3s-converter/json-templates/layers.js +133 -0
  190. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -0
  191. package/dist/esm/i3s-converter/json-templates/metadata.js +22 -0
  192. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -0
  193. package/dist/esm/i3s-converter/json-templates/node.js +80 -0
  194. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -0
  195. package/dist/esm/i3s-converter/json-templates/scene-server.js +28 -0
  196. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -0
  197. package/dist/esm/i3s-converter/json-templates/shared-resources.js +123 -0
  198. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -0
  199. package/dist/esm/i3s-converter/json-templates/store.js +98 -0
  200. package/dist/esm/i3s-converter/json-templates/store.js.map +1 -0
  201. package/dist/esm/i3s-converter/types.js +11 -0
  202. package/dist/esm/i3s-converter/types.js.map +1 -0
  203. package/dist/esm/i3s-server/README.md +19 -0
  204. package/dist/esm/i3s-server/app.js +26 -0
  205. package/dist/esm/i3s-server/app.js.map +1 -0
  206. package/dist/esm/i3s-server/bin/www +102 -0
  207. package/dist/esm/i3s-server/certs/cert.pem +19 -0
  208. package/dist/esm/i3s-server/certs/key.pem +27 -0
  209. package/dist/esm/i3s-server/controllers/index-controller.js +24 -0
  210. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -0
  211. package/dist/esm/i3s-server/controllers/slpk-controller.js +36 -0
  212. package/dist/esm/i3s-server/controllers/slpk-controller.js.map +1 -0
  213. package/dist/esm/i3s-server/routes/index.js +16 -0
  214. package/dist/esm/i3s-server/routes/index.js.map +1 -0
  215. package/dist/esm/i3s-server/routes/slpk-router.js +33 -0
  216. package/dist/esm/i3s-server/routes/slpk-router.js.map +1 -0
  217. package/dist/esm/i3s-server/utils/create-scene-server.js +16 -0
  218. package/dist/esm/i3s-server/utils/create-scene-server.js.map +1 -0
  219. package/dist/esm/index.js +3 -0
  220. package/dist/esm/index.js.map +1 -0
  221. package/dist/esm/lib/utils/compress-util.js +168 -0
  222. package/dist/esm/lib/utils/compress-util.js.map +1 -0
  223. package/dist/esm/lib/utils/file-utils.js +87 -0
  224. package/dist/esm/lib/utils/file-utils.js.map +1 -0
  225. package/dist/esm/lib/utils/geometry-utils.js +8 -0
  226. package/dist/esm/lib/utils/geometry-utils.js.map +1 -0
  227. package/dist/esm/lib/utils/lod-conversion-utils.js +37 -0
  228. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -0
  229. package/dist/esm/lib/utils/queue.js +15 -0
  230. package/dist/esm/lib/utils/queue.js.map +1 -0
  231. package/dist/esm/lib/utils/statistic-utills.d.ts +25 -0
  232. package/dist/esm/lib/utils/statistic-utills.js +62 -0
  233. package/dist/esm/lib/utils/statistic-utills.js.map +1 -0
  234. package/dist/esm/lib/utils/write-queue.js +85 -0
  235. package/dist/esm/lib/utils/write-queue.js.map +1 -0
  236. package/dist/esm/pgm-loader.js +15 -0
  237. package/dist/esm/pgm-loader.js.map +1 -0
  238. package/dist/esm/workers/3d-tiles-attributes-worker.js +8 -0
  239. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -0
  240. package/dist/esm/workers/i3s-attributes-worker.js +7 -0
  241. package/dist/esm/workers/i3s-attributes-worker.js.map +1 -0
  242. package/dist/i3s-attributes-worker.d.ts +45 -0
  243. package/dist/i3s-attributes-worker.d.ts.map +1 -0
  244. package/dist/i3s-attributes-worker.js +9 -0
  245. package/dist/i3s-attributes-worker.js.map +7 -0
  246. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +13 -0
  247. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -0
  248. package/dist/i3s-converter/helpers/batch-ids-extensions.js +138 -0
  249. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +40 -0
  250. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -0
  251. package/dist/i3s-converter/helpers/coordinate-converter.js +119 -42
  252. package/dist/i3s-converter/helpers/create-scene-server-path.d.ts +9 -0
  253. package/dist/i3s-converter/helpers/create-scene-server-path.d.ts.map +1 -0
  254. package/dist/i3s-converter/helpers/create-scene-server-path.js +27 -15
  255. package/dist/i3s-converter/helpers/feature-attributes.d.ts +56 -0
  256. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -0
  257. package/dist/i3s-converter/helpers/feature-attributes.js +216 -0
  258. package/dist/i3s-converter/helpers/geometry-attributes.d.ts +8 -0
  259. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -0
  260. package/dist/i3s-converter/helpers/geometry-attributes.js +188 -185
  261. package/dist/i3s-converter/helpers/geometry-converter.d.ts +41 -35
  262. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -0
  263. package/dist/i3s-converter/helpers/geometry-converter.js +1179 -650
  264. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +28 -0
  265. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -0
  266. package/dist/i3s-converter/helpers/gltf-attributes.js +128 -0
  267. package/dist/i3s-converter/helpers/load-3d-tiles.d.ts +18 -0
  268. package/dist/i3s-converter/helpers/load-3d-tiles.d.ts.map +1 -0
  269. package/dist/i3s-converter/helpers/load-3d-tiles.js +53 -0
  270. package/dist/i3s-converter/helpers/node-debug.d.ts +8 -0
  271. package/dist/i3s-converter/helpers/node-debug.d.ts.map +1 -0
  272. package/dist/i3s-converter/helpers/node-debug.js +106 -74
  273. package/dist/i3s-converter/helpers/node-index-document.d.ts +103 -0
  274. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -0
  275. package/dist/i3s-converter/helpers/node-index-document.js +268 -0
  276. package/dist/i3s-converter/helpers/node-pages.d.ts +125 -113
  277. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -0
  278. package/dist/i3s-converter/helpers/node-pages.js +313 -133
  279. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +23 -0
  280. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -0
  281. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +76 -0
  282. package/dist/i3s-converter/helpers/tileset-traversal.d.ts +25 -0
  283. package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -0
  284. package/dist/i3s-converter/helpers/tileset-traversal.js +29 -0
  285. package/dist/i3s-converter/i3s-converter.d.ts +267 -0
  286. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -0
  287. package/dist/i3s-converter/i3s-converter.js +891 -867
  288. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts +7 -0
  289. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts.map +1 -0
  290. package/dist/i3s-converter/json-templates/geometry-definitions.js +87 -0
  291. package/dist/i3s-converter/json-templates/layers.d.ts +70 -0
  292. package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -0
  293. package/dist/i3s-converter/json-templates/layers.js +138 -190
  294. package/dist/i3s-converter/json-templates/metadata.d.ts +22 -0
  295. package/dist/i3s-converter/json-templates/metadata.d.ts.map +1 -0
  296. package/dist/i3s-converter/json-templates/metadata.js +25 -22
  297. package/dist/i3s-converter/json-templates/node.d.ts +61 -0
  298. package/dist/i3s-converter/json-templates/node.d.ts.map +1 -0
  299. package/dist/i3s-converter/json-templates/node.js +88 -79
  300. package/dist/i3s-converter/json-templates/scene-server.d.ts +28 -0
  301. package/dist/i3s-converter/json-templates/scene-server.d.ts.map +1 -0
  302. package/dist/i3s-converter/json-templates/scene-server.js +31 -28
  303. package/dist/i3s-converter/json-templates/shared-resources.d.ts +14 -0
  304. package/dist/i3s-converter/json-templates/shared-resources.d.ts.map +1 -0
  305. package/dist/i3s-converter/json-templates/shared-resources.js +124 -125
  306. package/dist/i3s-converter/json-templates/store.d.ts +95 -0
  307. package/dist/i3s-converter/json-templates/store.d.ts.map +1 -0
  308. package/dist/i3s-converter/json-templates/store.js +100 -95
  309. package/dist/i3s-converter/types.d.ts +163 -0
  310. package/dist/i3s-converter/types.d.ts.map +1 -0
  311. package/dist/i3s-converter/types.js +17 -0
  312. package/dist/i3s-server/app.d.ts +3 -0
  313. package/dist/i3s-server/app.d.ts.map +1 -0
  314. package/dist/i3s-server/app.js +11 -10
  315. package/dist/i3s-server/controllers/index-controller.d.ts +2 -0
  316. package/dist/i3s-server/controllers/index-controller.d.ts.map +1 -0
  317. package/dist/i3s-server/controllers/index-controller.js +16 -24
  318. package/dist/i3s-server/controllers/slpk-controller.d.ts +3 -0
  319. package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -0
  320. package/dist/i3s-server/controllers/slpk-controller.js +32 -0
  321. package/dist/i3s-server/routes/index.d.ts +3 -0
  322. package/dist/i3s-server/routes/index.d.ts.map +1 -0
  323. package/dist/i3s-server/routes/index.js +11 -15
  324. package/dist/i3s-server/routes/slpk-router.d.ts +3 -0
  325. package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -0
  326. package/dist/i3s-server/routes/slpk-router.js +33 -0
  327. package/dist/i3s-server/utils/create-scene-server.d.ts +11 -0
  328. package/dist/i3s-server/utils/create-scene-server.d.ts.map +1 -0
  329. package/dist/i3s-server/utils/create-scene-server.js +14 -0
  330. package/dist/index.d.ts +3 -0
  331. package/dist/index.d.ts.map +1 -0
  332. package/dist/index.js +10 -5
  333. package/dist/lib/utils/compress-util.d.ts +45 -0
  334. package/dist/lib/utils/compress-util.d.ts.map +1 -0
  335. package/dist/lib/utils/compress-util.js +238 -160
  336. package/dist/lib/utils/file-utils.d.ts +22 -14
  337. package/dist/lib/utils/file-utils.d.ts.map +1 -0
  338. package/dist/lib/utils/file-utils.js +134 -36
  339. package/dist/lib/utils/geometry-utils.d.ts +9 -0
  340. package/dist/lib/utils/geometry-utils.d.ts.map +1 -0
  341. package/dist/lib/utils/geometry-utils.js +18 -0
  342. package/dist/lib/utils/lod-conversion-utils.d.ts +23 -13
  343. package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -0
  344. package/dist/lib/utils/lod-conversion-utils.js +72 -39
  345. package/dist/lib/utils/queue.d.ts +7 -0
  346. package/dist/lib/utils/queue.d.ts.map +1 -0
  347. package/dist/lib/utils/queue.js +18 -0
  348. package/dist/lib/utils/statistic-utills.d.ts +3 -25
  349. package/dist/lib/utils/statistic-utills.d.ts.map +1 -0
  350. package/dist/lib/utils/statistic-utills.js +58 -67
  351. package/dist/lib/utils/write-queue.d.ts +39 -0
  352. package/dist/lib/utils/write-queue.d.ts.map +1 -0
  353. package/dist/lib/utils/write-queue.js +80 -0
  354. package/dist/pgm-loader.d.ts +6 -0
  355. package/dist/pgm-loader.d.ts.map +1 -0
  356. package/dist/pgm-loader.js +23 -14
  357. package/dist/workers/3d-tiles-attributes-worker.d.ts +2 -0
  358. package/dist/workers/3d-tiles-attributes-worker.d.ts.map +1 -0
  359. package/dist/workers/3d-tiles-attributes-worker.js +9 -0
  360. package/dist/workers/i3s-attributes-worker.d.ts +2 -0
  361. package/dist/workers/i3s-attributes-worker.d.ts.map +1 -0
  362. package/dist/workers/i3s-attributes-worker.js +5 -0
  363. package/package.json +34 -24
  364. package/src/3d-tiles-attributes-worker.ts +43 -0
  365. package/src/3d-tiles-converter/3d-tiles-converter.ts +131 -63
  366. package/src/3d-tiles-converter/helpers/{b3dm-converter.js → b3dm-converter.ts} +72 -53
  367. package/src/3d-tiles-converter/helpers/{i3s-obb-to-3d-tiles-obb.js → i3s-obb-to-3d-tiles-obb.ts} +16 -1
  368. package/src/3d-tiles-converter/helpers/texture-atlas.ts +4 -4
  369. package/src/3d-tiles-converter/json-templates/{tileset.js → tileset.ts} +9 -9
  370. package/src/constants.ts +2 -0
  371. package/src/converter-cli.ts +370 -0
  372. package/src/deps-installer/deps-installer.ts +72 -0
  373. package/src/i3s-attributes-worker.ts +59 -0
  374. package/src/i3s-converter/helpers/batch-ids-extensions.ts +202 -0
  375. package/src/i3s-converter/helpers/coordinate-converter.ts +94 -33
  376. package/src/i3s-converter/helpers/create-scene-server-path.ts +29 -0
  377. package/src/i3s-converter/helpers/feature-attributes.ts +247 -0
  378. package/src/i3s-converter/helpers/geometry-attributes.ts +267 -0
  379. package/src/i3s-converter/helpers/geometry-converter.ts +1667 -0
  380. package/src/i3s-converter/helpers/gltf-attributes.ts +163 -0
  381. package/src/i3s-converter/helpers/load-3d-tiles.ts +68 -0
  382. package/src/i3s-converter/helpers/node-debug.ts +146 -0
  383. package/src/i3s-converter/helpers/node-index-document.ts +335 -0
  384. package/src/i3s-converter/helpers/node-pages.ts +344 -0
  385. package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +81 -0
  386. package/src/i3s-converter/helpers/tileset-traversal.ts +51 -0
  387. package/src/i3s-converter/i3s-converter.ts +650 -669
  388. package/src/i3s-converter/json-templates/geometry-definitions.ts +83 -0
  389. package/src/i3s-converter/json-templates/layers.ts +137 -0
  390. package/src/i3s-converter/json-templates/{metadata.js → metadata.ts} +2 -2
  391. package/src/i3s-converter/json-templates/{node.js → node.ts} +12 -12
  392. package/src/i3s-converter/json-templates/{scene-server.js → scene-server.ts} +2 -2
  393. package/src/i3s-converter/json-templates/{shared-resources.js → shared-resources.ts} +17 -17
  394. package/src/i3s-converter/types.ts +185 -0
  395. package/src/i3s-server/README.md +19 -0
  396. package/src/i3s-server/app.js +8 -1
  397. package/src/i3s-server/controllers/slpk-controller.js +38 -0
  398. package/src/i3s-server/routes/slpk-router.js +33 -0
  399. package/src/i3s-server/utils/create-scene-server.js +15 -0
  400. package/src/index.ts +0 -4
  401. package/src/lib/utils/{compress-util.js → compress-util.ts} +105 -18
  402. package/src/lib/utils/file-utils.ts +140 -0
  403. package/src/lib/utils/geometry-utils.ts +14 -0
  404. package/src/lib/utils/{lod-conversion-utils.js → lod-conversion-utils.ts} +31 -5
  405. package/src/lib/utils/queue.ts +17 -0
  406. package/src/lib/utils/write-queue.ts +110 -0
  407. package/src/pgm-loader.ts +3 -3
  408. package/src/workers/3d-tiles-attributes-worker.ts +6 -0
  409. package/src/workers/i3s-attributes-worker.ts +7 -0
  410. package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
  411. package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
  412. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
  413. package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
  414. package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
  415. package/dist/bundle.js.map +0 -1
  416. package/dist/deps-installer/deps-installer.js.map +0 -1
  417. package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
  418. package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
  419. package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
  420. package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
  421. package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
  422. package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
  423. package/dist/i3s-converter/i3s-converter.js.map +0 -1
  424. package/dist/i3s-converter/json-templates/layers.js.map +0 -1
  425. package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
  426. package/dist/i3s-converter/json-templates/node.js.map +0 -1
  427. package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
  428. package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
  429. package/dist/i3s-converter/json-templates/store.js.map +0 -1
  430. package/dist/i3s-server/app.js.map +0 -1
  431. package/dist/i3s-server/controllers/index-controller.js.map +0 -1
  432. package/dist/i3s-server/routes/index.js.map +0 -1
  433. package/dist/index.js.map +0 -1
  434. package/dist/lib/geoid-height-model.d.ts +0 -41
  435. package/dist/lib/geoid-height-model.js +0 -140
  436. package/dist/lib/geoid-height-model.js.map +0 -1
  437. package/dist/lib/pgm-parser.d.ts +0 -14
  438. package/dist/lib/pgm-parser.js +0 -183
  439. package/dist/lib/pgm-parser.js.map +0 -1
  440. package/dist/lib/utils/compress-util.js.map +0 -1
  441. package/dist/lib/utils/compress-utils.d.ts +0 -53
  442. package/dist/lib/utils/file-utils.js.map +0 -1
  443. package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
  444. package/dist/lib/utils/statistic-utills.js.map +0 -1
  445. package/dist/pgm-loader.js.map +0 -1
  446. package/src/3d-tiles-converter/helpers/b3dm-converter.d.ts +0 -23
  447. package/src/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +0 -16
  448. package/src/deps-installer/deps-installer.d.ts +0 -10
  449. package/src/deps-installer/deps-installer.js +0 -22
  450. package/src/i3s-converter/helpers/create-scene-server-path.js +0 -25
  451. package/src/i3s-converter/helpers/geometry-converter.d.ts +0 -40
  452. package/src/i3s-converter/helpers/geometry-converter.js +0 -915
  453. package/src/i3s-converter/helpers/node-pages.d.ts +0 -144
  454. package/src/i3s-converter/helpers/node-pages.js +0 -208
  455. package/src/i3s-converter/json-templates/layers.js +0 -199
  456. package/src/lib/geoid-height-model.d.ts +0 -41
  457. package/src/lib/geoid-height-model.js +0 -239
  458. package/src/lib/pgm-parser.d.ts +0 -14
  459. package/src/lib/pgm-parser.js +0 -179
  460. package/src/lib/utils/compress-utils.d.ts +0 -53
  461. package/src/lib/utils/file-utils.d.ts +0 -43
  462. package/src/lib/utils/file-utils.js +0 -38
  463. package/src/lib/utils/lod-conversion-utils.d.ts +0 -32
  464. /package/dist/{i3s-server → es5/i3s-server}/bin/www +0 -0
  465. /package/dist/{i3s-server → es5/i3s-server}/certs/cert.pem +0 -0
  466. /package/dist/{i3s-server → es5/i3s-server}/certs/key.pem +0 -0
  467. /package/src/i3s-converter/json-templates/{store.js → store.ts} +0 -0
  468. /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
- }