@loaders.gl/tiles 5.0.0-alpha.11 → 5.0.0-alpha.13

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 (698) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +18 -72
  3. package/dist/dist.dev.js +5874 -23815
  4. package/dist/dist.min.js +3 -3
  5. package/dist/image-set.d.ts +1 -1
  6. package/dist/image-set.d.ts.map +1 -1
  7. package/dist/index.cjs +2803 -10209
  8. package/dist/index.cjs.map +3 -3
  9. package/dist/index.d.ts +4 -43
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -26
  12. package/dist/index.js.map +1 -1
  13. package/dist/mlt/bundled.d.ts +3 -0
  14. package/dist/mlt/bundled.d.ts.map +1 -0
  15. package/dist/mlt/bundled.js +5 -0
  16. package/dist/mlt/bundled.js.map +1 -0
  17. package/dist/mlt/index.cjs +3701 -0
  18. package/dist/mlt/index.cjs.map +6 -0
  19. package/dist/mlt/index.d.ts +10 -0
  20. package/dist/mlt/index.d.ts.map +1 -0
  21. package/dist/mlt/index.js +12 -0
  22. package/dist/mlt/index.js.map +1 -0
  23. package/dist/mlt/lib/encode-mlt-geometry.d.ts +6 -0
  24. package/dist/mlt/lib/encode-mlt-geometry.d.ts.map +1 -0
  25. package/dist/mlt/lib/encode-mlt-geometry.js +150 -0
  26. package/dist/mlt/lib/encode-mlt-geometry.js.map +1 -0
  27. package/dist/mlt/lib/encode-mlt-streams.d.ts +13 -0
  28. package/dist/mlt/lib/encode-mlt-streams.d.ts.map +1 -0
  29. package/dist/mlt/lib/encode-mlt-streams.js +57 -0
  30. package/dist/mlt/lib/encode-mlt-streams.js.map +1 -0
  31. package/dist/mlt/lib/encode-mlt.d.ts +6 -0
  32. package/dist/mlt/lib/encode-mlt.d.ts.map +1 -0
  33. package/dist/mlt/lib/encode-mlt.js +174 -0
  34. package/dist/mlt/lib/encode-mlt.js.map +1 -0
  35. package/dist/mlt/lib/parse-mlt.d.ts +11 -0
  36. package/dist/mlt/lib/parse-mlt.d.ts.map +1 -0
  37. package/dist/mlt/lib/parse-mlt.js +675 -0
  38. package/dist/mlt/lib/parse-mlt.js.map +1 -0
  39. package/dist/mlt/mlt-format.d.ts +14 -0
  40. package/dist/mlt/mlt-format.d.ts.map +1 -0
  41. package/dist/mlt/mlt-format.js +17 -0
  42. package/dist/mlt/mlt-format.js.map +1 -0
  43. package/dist/mlt/mlt-loader-with-parser.d.ts +91 -0
  44. package/dist/mlt/mlt-loader-with-parser.d.ts.map +1 -0
  45. package/dist/mlt/mlt-loader-with-parser.js +29 -0
  46. package/dist/mlt/mlt-loader-with-parser.js.map +1 -0
  47. package/dist/mlt/mlt-loader.d.ts +115 -0
  48. package/dist/mlt/mlt-loader.d.ts.map +1 -0
  49. package/dist/mlt/mlt-loader.js +38 -0
  50. package/dist/mlt/mlt-loader.js.map +1 -0
  51. package/dist/mlt/mlt-source-loader.d.ts +82 -0
  52. package/dist/mlt/mlt-source-loader.d.ts.map +1 -0
  53. package/dist/mlt/mlt-source-loader.js +179 -0
  54. package/dist/mlt/mlt-source-loader.js.map +1 -0
  55. package/dist/mlt/mlt-writer.d.ts +45 -0
  56. package/dist/mlt/mlt-writer.d.ts.map +1 -0
  57. package/dist/mlt/mlt-writer.js +21 -0
  58. package/dist/mlt/mlt-writer.js.map +1 -0
  59. package/dist/mlt/unbundled.d.ts +3 -0
  60. package/dist/mlt/unbundled.d.ts.map +1 -0
  61. package/dist/mlt/unbundled.js +5 -0
  62. package/dist/mlt/unbundled.js.map +1 -0
  63. package/dist/mvt/arrow-table-tile-source-loader-types.d.ts +36 -0
  64. package/dist/mvt/arrow-table-tile-source-loader-types.d.ts.map +1 -0
  65. package/dist/mvt/arrow-table-tile-source-loader-types.js +36 -0
  66. package/dist/mvt/arrow-table-tile-source-loader-types.js.map +1 -0
  67. package/dist/mvt/arrow-table-tile-source-loader.cjs +6343 -0
  68. package/dist/mvt/arrow-table-tile-source-loader.cjs.map +6 -0
  69. package/dist/mvt/arrow-table-tile-source-loader.d.ts +69 -0
  70. package/dist/mvt/arrow-table-tile-source-loader.d.ts.map +1 -0
  71. package/dist/mvt/arrow-table-tile-source-loader.js +216 -0
  72. package/dist/mvt/arrow-table-tile-source-loader.js.map +1 -0
  73. package/dist/mvt/arrow-table-tile-source-types.d.ts +21 -0
  74. package/dist/mvt/arrow-table-tile-source-types.d.ts.map +1 -0
  75. package/dist/mvt/arrow-table-tile-source-types.js +6 -0
  76. package/dist/mvt/arrow-table-tile-source-types.js.map +1 -0
  77. package/dist/mvt/bundled.d.ts +6 -0
  78. package/dist/mvt/bundled.d.ts.map +1 -0
  79. package/dist/mvt/bundled.js +7 -0
  80. package/dist/mvt/bundled.js.map +1 -0
  81. package/dist/mvt/dist.dev.js +46689 -0
  82. package/dist/mvt/dist.min.js +94 -0
  83. package/dist/mvt/index.cjs +10095 -0
  84. package/dist/mvt/index.cjs.map +6 -0
  85. package/dist/mvt/index.d.ts +28 -0
  86. package/dist/mvt/index.d.ts.map +1 -0
  87. package/dist/mvt/index.js +27 -0
  88. package/dist/mvt/index.js.map +1 -0
  89. package/dist/mvt/lib/encode-mvt-arrow.d.ts +6 -0
  90. package/dist/mvt/lib/encode-mvt-arrow.d.ts.map +1 -0
  91. package/dist/mvt/lib/encode-mvt-arrow.js +225 -0
  92. package/dist/mvt/lib/encode-mvt-arrow.js.map +1 -0
  93. package/dist/mvt/lib/encode-mvt.d.ts +30 -0
  94. package/dist/mvt/lib/encode-mvt.d.ts.map +1 -0
  95. package/dist/mvt/lib/encode-mvt.js +20 -0
  96. package/dist/mvt/lib/encode-mvt.js.map +1 -0
  97. package/dist/mvt/lib/get-schemas-from-tilejson.d.ts +4 -0
  98. package/dist/mvt/lib/get-schemas-from-tilejson.d.ts.map +1 -0
  99. package/dist/mvt/lib/get-schemas-from-tilejson.js +56 -0
  100. package/dist/mvt/lib/get-schemas-from-tilejson.js.map +1 -0
  101. package/dist/mvt/lib/is-longitude-latitude-crs.d.ts +3 -0
  102. package/dist/mvt/lib/is-longitude-latitude-crs.d.ts.map +1 -0
  103. package/dist/mvt/lib/is-longitude-latitude-crs.js +13 -0
  104. package/dist/mvt/lib/is-longitude-latitude-crs.js.map +1 -0
  105. package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.d.ts +25 -0
  106. package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.d.ts.map +1 -0
  107. package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.js +73 -0
  108. package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.js.map +1 -0
  109. package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.d.ts +52 -0
  110. package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.d.ts.map +1 -0
  111. package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.js +165 -0
  112. package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.js.map +1 -0
  113. package/dist/mvt/lib/mvt-pbf/mvt-constants.d.ts +116 -0
  114. package/dist/mvt/lib/mvt-pbf/mvt-constants.d.ts.map +1 -0
  115. package/dist/mvt/lib/mvt-pbf/mvt-constants.js +127 -0
  116. package/dist/mvt/lib/mvt-pbf/mvt-constants.js.map +1 -0
  117. package/dist/mvt/lib/mvt-pbf/mvt-types.d.ts +17 -0
  118. package/dist/mvt/lib/mvt-pbf/mvt-types.d.ts.map +1 -0
  119. package/dist/mvt/lib/mvt-pbf/mvt-types.js +5 -0
  120. package/dist/mvt/lib/mvt-pbf/mvt-types.js.map +1 -0
  121. package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.d.ts +77 -0
  122. package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.d.ts.map +1 -0
  123. package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.js +235 -0
  124. package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.js.map +1 -0
  125. package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.d.ts +25 -0
  126. package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.d.ts.map +1 -0
  127. package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.js +263 -0
  128. package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.js.map +1 -0
  129. package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.d.ts +4 -0
  130. package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.d.ts.map +1 -0
  131. package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.js +134 -0
  132. package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.js.map +1 -0
  133. package/dist/mvt/lib/mvt-worker-transport.d.ts +15 -0
  134. package/dist/mvt/lib/mvt-worker-transport.d.ts.map +1 -0
  135. package/dist/mvt/lib/mvt-worker-transport.js +54 -0
  136. package/dist/mvt/lib/mvt-worker-transport.js.map +1 -0
  137. package/dist/mvt/lib/parse-mvt-geojson.d.ts +6 -0
  138. package/dist/mvt/lib/parse-mvt-geojson.d.ts.map +1 -0
  139. package/dist/mvt/lib/parse-mvt-geojson.js +48 -0
  140. package/dist/mvt/lib/parse-mvt-geojson.js.map +1 -0
  141. package/dist/mvt/lib/parse-mvt.d.ts +14 -0
  142. package/dist/mvt/lib/parse-mvt.d.ts.map +1 -0
  143. package/dist/mvt/lib/parse-mvt.js +105 -0
  144. package/dist/mvt/lib/parse-mvt.js.map +1 -0
  145. package/dist/mvt/lib/parse-tilejson.d.ts +74 -0
  146. package/dist/mvt/lib/parse-tilejson.d.ts.map +1 -0
  147. package/dist/mvt/lib/parse-tilejson.js +267 -0
  148. package/dist/mvt/lib/parse-tilejson.js.map +1 -0
  149. package/dist/mvt/lib/resolve-table-tile-parameters.d.ts +4 -0
  150. package/dist/mvt/lib/resolve-table-tile-parameters.d.ts.map +1 -0
  151. package/dist/mvt/lib/resolve-table-tile-parameters.js +16 -0
  152. package/dist/mvt/lib/resolve-table-tile-parameters.js.map +1 -0
  153. package/dist/mvt/lib/types.d.ts +88 -0
  154. package/dist/mvt/lib/types.d.ts.map +1 -0
  155. package/dist/mvt/lib/types.js.map +1 -0
  156. package/dist/mvt/lib/utils/geometry-utils.d.ts +83 -0
  157. package/dist/mvt/lib/utils/geometry-utils.d.ts.map +1 -0
  158. package/dist/mvt/lib/utils/geometry-utils.js +211 -0
  159. package/dist/mvt/lib/utils/geometry-utils.js.map +1 -0
  160. package/dist/mvt/lib/vector-tile/vector-tile-feature.d.ts +72 -0
  161. package/dist/mvt/lib/vector-tile/vector-tile-feature.d.ts.map +1 -0
  162. package/dist/mvt/lib/vector-tile/vector-tile-feature.js +350 -0
  163. package/dist/mvt/lib/vector-tile/vector-tile-feature.js.map +1 -0
  164. package/dist/mvt/lib/vector-tile/vector-tile-layer.d.ts +29 -0
  165. package/dist/mvt/lib/vector-tile/vector-tile-layer.d.ts.map +1 -0
  166. package/dist/mvt/lib/vector-tile/vector-tile-layer.js +108 -0
  167. package/dist/mvt/lib/vector-tile/vector-tile-layer.js.map +1 -0
  168. package/dist/mvt/lib/vector-tile/vector-tile.d.ts +9 -0
  169. package/dist/mvt/lib/vector-tile/vector-tile.d.ts.map +1 -0
  170. package/dist/mvt/lib/vector-tile/vector-tile.js +28 -0
  171. package/dist/mvt/lib/vector-tile/vector-tile.js.map +1 -0
  172. package/dist/mvt/lib/vector-tiler/arrow-tile.d.ts +6 -0
  173. package/dist/mvt/lib/vector-tiler/arrow-tile.d.ts.map +1 -0
  174. package/dist/mvt/lib/vector-tiler/arrow-tile.js +84 -0
  175. package/dist/mvt/lib/vector-tiler/arrow-tile.js.map +1 -0
  176. package/dist/mvt/lib/vector-tiler/features/clip-features.d.ts +16 -0
  177. package/dist/mvt/lib/vector-tiler/features/clip-features.d.ts.map +1 -0
  178. package/dist/mvt/lib/vector-tiler/features/clip-features.js +211 -0
  179. package/dist/mvt/lib/vector-tiler/features/clip-features.js.map +1 -0
  180. package/dist/mvt/lib/vector-tiler/features/convert-feature.d.ts +18 -0
  181. package/dist/mvt/lib/vector-tiler/features/convert-feature.d.ts.map +1 -0
  182. package/dist/mvt/lib/vector-tiler/features/convert-feature.js +161 -0
  183. package/dist/mvt/lib/vector-tiler/features/convert-feature.js.map +1 -0
  184. package/dist/mvt/lib/vector-tiler/features/proto-feature.d.ts +30 -0
  185. package/dist/mvt/lib/vector-tiler/features/proto-feature.d.ts.map +1 -0
  186. package/dist/mvt/lib/vector-tiler/features/proto-feature.js +53 -0
  187. package/dist/mvt/lib/vector-tiler/features/proto-feature.js.map +1 -0
  188. package/dist/mvt/lib/vector-tiler/features/simplify-path.d.ts +10 -0
  189. package/dist/mvt/lib/vector-tiler/features/simplify-path.d.ts.map +1 -0
  190. package/dist/mvt/lib/vector-tiler/features/simplify-path.js +67 -0
  191. package/dist/mvt/lib/vector-tiler/features/simplify-path.js.map +1 -0
  192. package/dist/mvt/lib/vector-tiler/features/wrap-features.d.ts +17 -0
  193. package/dist/mvt/lib/vector-tiler/features/wrap-features.d.ts.map +1 -0
  194. package/dist/mvt/lib/vector-tiler/features/wrap-features.js +95 -0
  195. package/dist/mvt/lib/vector-tiler/features/wrap-features.js.map +1 -0
  196. package/dist/mvt/lib/vector-tiler/proto-tile.d.ts +40 -0
  197. package/dist/mvt/lib/vector-tiler/proto-tile.d.ts.map +1 -0
  198. package/dist/mvt/lib/vector-tiler/proto-tile.js +139 -0
  199. package/dist/mvt/lib/vector-tiler/proto-tile.js.map +1 -0
  200. package/dist/mvt/lib/vector-tiler/tile-to-geojson.d.ts +12 -0
  201. package/dist/mvt/lib/vector-tiler/tile-to-geojson.d.ts.map +1 -0
  202. package/dist/mvt/lib/vector-tiler/tile-to-geojson.js +81 -0
  203. package/dist/mvt/lib/vector-tiler/tile-to-geojson.js.map +1 -0
  204. package/dist/mvt/lib/vector-tiler/transform-tile.d.ts +7 -0
  205. package/dist/mvt/lib/vector-tiler/transform-tile.d.ts.map +1 -0
  206. package/dist/mvt/lib/vector-tiler/transform-tile.js +42 -0
  207. package/dist/mvt/lib/vector-tiler/transform-tile.js.map +1 -0
  208. package/dist/mvt/map-style-format.d.ts +13 -0
  209. package/dist/mvt/map-style-format.d.ts.map +1 -0
  210. package/dist/mvt/map-style-format.js +16 -0
  211. package/dist/mvt/map-style-format.js.map +1 -0
  212. package/dist/mvt/map-style-loader-with-parser.d.ts +26 -0
  213. package/dist/mvt/map-style-loader-with-parser.d.ts.map +1 -0
  214. package/dist/mvt/map-style-loader-with-parser.js +38 -0
  215. package/dist/mvt/map-style-loader-with-parser.js.map +1 -0
  216. package/dist/mvt/map-style-loader.d.ts +44 -0
  217. package/dist/mvt/map-style-loader.d.ts.map +1 -0
  218. package/dist/mvt/map-style-loader.js +25 -0
  219. package/dist/mvt/map-style-loader.js.map +1 -0
  220. package/dist/mvt/map-style-schema.d.ts +58 -0
  221. package/dist/mvt/map-style-schema.d.ts.map +1 -0
  222. package/dist/mvt/map-style-schema.js +47 -0
  223. package/dist/mvt/map-style-schema.js.map +1 -0
  224. package/dist/mvt/map-style.d.ts +110 -0
  225. package/dist/mvt/map-style.d.ts.map +1 -0
  226. package/dist/mvt/map-style.js +90 -0
  227. package/dist/mvt/map-style.js.map +1 -0
  228. package/dist/mvt/mvt-format.d.ts +14 -0
  229. package/dist/mvt/mvt-format.d.ts.map +1 -0
  230. package/dist/mvt/mvt-format.js +23 -0
  231. package/dist/mvt/mvt-format.js.map +1 -0
  232. package/dist/mvt/mvt-geojson-loader-types.d.ts +82 -0
  233. package/dist/mvt/mvt-geojson-loader-types.d.ts.map +1 -0
  234. package/dist/mvt/mvt-geojson-loader-types.js +34 -0
  235. package/dist/mvt/mvt-geojson-loader-types.js.map +1 -0
  236. package/dist/mvt/mvt-geojson-loader.cjs +1366 -0
  237. package/dist/mvt/mvt-geojson-loader.cjs.map +6 -0
  238. package/dist/mvt/mvt-geojson-loader.d.ts +32 -0
  239. package/dist/mvt/mvt-geojson-loader.d.ts.map +1 -0
  240. package/dist/mvt/mvt-geojson-loader.js +13 -0
  241. package/dist/mvt/mvt-geojson-loader.js.map +1 -0
  242. package/dist/mvt/mvt-loader-with-parser.d.ts +105 -0
  243. package/dist/mvt/mvt-loader-with-parser.d.ts.map +1 -0
  244. package/dist/mvt/mvt-loader-with-parser.js +21 -0
  245. package/dist/mvt/mvt-loader-with-parser.js.map +1 -0
  246. package/dist/mvt/mvt-loader.d.ts +129 -0
  247. package/dist/mvt/mvt-loader.d.ts.map +1 -0
  248. package/dist/mvt/mvt-loader.js +40 -0
  249. package/dist/mvt/mvt-loader.js.map +1 -0
  250. package/dist/mvt/mvt-source-loader.d.ts +102 -0
  251. package/dist/mvt/mvt-source-loader.d.ts.map +1 -0
  252. package/dist/mvt/mvt-source-loader.js +275 -0
  253. package/dist/mvt/mvt-source-loader.js.map +1 -0
  254. package/dist/mvt/mvt-writer.d.ts +28 -0
  255. package/dist/mvt/mvt-writer.d.ts.map +1 -0
  256. package/dist/mvt/mvt-writer.js +32 -0
  257. package/dist/mvt/mvt-writer.js.map +1 -0
  258. package/dist/mvt/table-tile-source-loader.d.ts +169 -0
  259. package/dist/mvt/table-tile-source-loader.d.ts.map +1 -0
  260. package/dist/mvt/table-tile-source-loader.js +478 -0
  261. package/dist/mvt/table-tile-source-loader.js.map +1 -0
  262. package/dist/mvt/tilejson-format.d.ts +13 -0
  263. package/dist/mvt/tilejson-format.d.ts.map +1 -0
  264. package/dist/mvt/tilejson-format.js +16 -0
  265. package/dist/mvt/tilejson-format.js.map +1 -0
  266. package/dist/mvt/tilejson-loader-with-parser.d.ts +13 -0
  267. package/dist/mvt/tilejson-loader-with-parser.d.ts.map +1 -0
  268. package/dist/mvt/tilejson-loader-with-parser.js +25 -0
  269. package/dist/mvt/tilejson-loader-with-parser.js.map +1 -0
  270. package/dist/mvt/tilejson-loader.d.ts +56 -0
  271. package/dist/mvt/tilejson-loader.d.ts.map +1 -0
  272. package/dist/mvt/tilejson-loader.js +28 -0
  273. package/dist/mvt/tilejson-loader.js.map +1 -0
  274. package/dist/mvt/tilejson-zod-schema.cjs +79 -0
  275. package/dist/mvt/tilejson-zod-schema.cjs.map +6 -0
  276. package/dist/mvt/tilejson-zod-schema.d.ts +218 -0
  277. package/dist/mvt/tilejson-zod-schema.d.ts.map +1 -0
  278. package/dist/mvt/tilejson-zod-schema.js +68 -0
  279. package/dist/mvt/tilejson-zod-schema.js.map +1 -0
  280. package/dist/mvt/tilejson.schema.json +197 -0
  281. package/dist/mvt/unbundled.d.ts +8 -0
  282. package/dist/mvt/unbundled.d.ts.map +1 -0
  283. package/dist/mvt/unbundled.js +8 -0
  284. package/dist/mvt/unbundled.js.map +1 -0
  285. package/dist/mvt/workers/mvt-worker-node.d.ts +2 -0
  286. package/dist/mvt/workers/mvt-worker-node.d.ts.map +1 -0
  287. package/dist/mvt/workers/mvt-worker-node.js +8 -0
  288. package/dist/mvt/workers/mvt-worker-node.js.map +1 -0
  289. package/dist/mvt/workers/mvt-worker.d.ts +2 -0
  290. package/dist/mvt/workers/mvt-worker.d.ts.map +1 -0
  291. package/dist/mvt/workers/mvt-worker.js +7 -0
  292. package/dist/mvt/workers/mvt-worker.js.map +1 -0
  293. package/dist/mvt-worker-node.js +72460 -0
  294. package/dist/mvt-worker-node.js.map +7 -0
  295. package/dist/mvt-worker.js +21239 -0
  296. package/dist/pmtiles/bundled.d.ts +3 -0
  297. package/dist/pmtiles/bundled.d.ts.map +1 -0
  298. package/dist/pmtiles/bundled.js +5 -0
  299. package/dist/pmtiles/bundled.js.map +1 -0
  300. package/dist/pmtiles/dist.dev.js +50530 -0
  301. package/dist/pmtiles/dist.min.js +94 -0
  302. package/dist/pmtiles/geoarrow.cjs +6718 -0
  303. package/dist/pmtiles/geoarrow.cjs.map +6 -0
  304. package/dist/pmtiles/geoarrow.d.ts +30 -0
  305. package/dist/pmtiles/geoarrow.d.ts.map +1 -0
  306. package/dist/pmtiles/geoarrow.js +143 -0
  307. package/dist/pmtiles/geoarrow.js.map +1 -0
  308. package/dist/pmtiles/index.cjs +8011 -0
  309. package/dist/pmtiles/index.cjs.map +6 -0
  310. package/dist/pmtiles/index.d.ts +14 -0
  311. package/dist/pmtiles/index.d.ts.map +1 -0
  312. package/dist/pmtiles/index.js +10 -0
  313. package/dist/pmtiles/index.js.map +1 -0
  314. package/dist/pmtiles/lib/blob-source.d.ts +14 -0
  315. package/dist/pmtiles/lib/blob-source.d.ts.map +1 -0
  316. package/dist/pmtiles/lib/blob-source.js +32 -0
  317. package/dist/pmtiles/lib/blob-source.js.map +1 -0
  318. package/dist/pmtiles/lib/encode-pmtiles.d.ts +8 -0
  319. package/dist/pmtiles/lib/encode-pmtiles.d.ts.map +1 -0
  320. package/dist/pmtiles/lib/encode-pmtiles.js +268 -0
  321. package/dist/pmtiles/lib/encode-pmtiles.js.map +1 -0
  322. package/dist/pmtiles/lib/parse-pmtiles.d.ts +52 -0
  323. package/dist/pmtiles/lib/parse-pmtiles.d.ts.map +1 -0
  324. package/dist/pmtiles/lib/parse-pmtiles.js +95 -0
  325. package/dist/pmtiles/lib/parse-pmtiles.js.map +1 -0
  326. package/dist/pmtiles/lib/range-request-source.d.ts +24 -0
  327. package/dist/pmtiles/lib/range-request-source.d.ts.map +1 -0
  328. package/dist/pmtiles/lib/range-request-source.js +45 -0
  329. package/dist/pmtiles/lib/range-request-source.js.map +1 -0
  330. package/dist/pmtiles/lib/version.d.ts +2 -0
  331. package/dist/pmtiles/lib/version.d.ts.map +1 -0
  332. package/dist/pmtiles/lib/version.js +8 -0
  333. package/dist/pmtiles/lib/version.js.map +1 -0
  334. package/dist/pmtiles/pmtiles-format.d.ts +14 -0
  335. package/dist/pmtiles/pmtiles-format.d.ts.map +1 -0
  336. package/dist/pmtiles/pmtiles-format.js +17 -0
  337. package/dist/pmtiles/pmtiles-format.js.map +1 -0
  338. package/dist/pmtiles/pmtiles-loader-with-parser.d.ts +30 -0
  339. package/dist/pmtiles/pmtiles-loader-with-parser.d.ts.map +1 -0
  340. package/dist/pmtiles/pmtiles-loader-with-parser.js +41 -0
  341. package/dist/pmtiles/pmtiles-loader-with-parser.js.map +1 -0
  342. package/dist/pmtiles/pmtiles-loader.d.ts +41 -0
  343. package/dist/pmtiles/pmtiles-loader.d.ts.map +1 -0
  344. package/dist/pmtiles/pmtiles-loader.js +20 -0
  345. package/dist/pmtiles/pmtiles-loader.js.map +1 -0
  346. package/dist/pmtiles/pmtiles-source-loader.d.ts +85 -0
  347. package/dist/pmtiles/pmtiles-source-loader.d.ts.map +1 -0
  348. package/dist/pmtiles/pmtiles-source-loader.js +239 -0
  349. package/dist/pmtiles/pmtiles-source-loader.js.map +1 -0
  350. package/dist/pmtiles/pmtiles-writer-types.d.ts +39 -0
  351. package/dist/pmtiles/pmtiles-writer-types.d.ts.map +1 -0
  352. package/dist/pmtiles/pmtiles-writer-types.js +5 -0
  353. package/dist/pmtiles/pmtiles-writer-types.js.map +1 -0
  354. package/dist/pmtiles/pmtiles-writer.d.ts +22 -0
  355. package/dist/pmtiles/pmtiles-writer.d.ts.map +1 -0
  356. package/dist/pmtiles/pmtiles-writer.js +15 -0
  357. package/dist/pmtiles/pmtiles-writer.js.map +1 -0
  358. package/dist/pmtiles/raster.cjs +1183 -0
  359. package/dist/pmtiles/raster.cjs.map +6 -0
  360. package/dist/pmtiles/raster.d.ts +30 -0
  361. package/dist/pmtiles/raster.d.ts.map +1 -0
  362. package/dist/pmtiles/raster.js +212 -0
  363. package/dist/pmtiles/raster.js.map +1 -0
  364. package/dist/pmtiles/source-info.d.ts +25 -0
  365. package/dist/pmtiles/source-info.d.ts.map +1 -0
  366. package/dist/{types.js → pmtiles/source-info.js} +1 -1
  367. package/dist/pmtiles/source-info.js.map +1 -0
  368. package/dist/pmtiles/unbundled.d.ts +3 -0
  369. package/dist/pmtiles/unbundled.d.ts.map +1 -0
  370. package/dist/pmtiles/unbundled.js +5 -0
  371. package/dist/pmtiles/unbundled.js.map +1 -0
  372. package/dist/raster-set.d.ts +1 -1
  373. package/dist/raster-set.d.ts.map +1 -1
  374. package/dist/raster-set.js +1 -1
  375. package/dist/raster-set.js.map +1 -1
  376. package/dist/tile-matrix.cjs +81 -0
  377. package/dist/tile-matrix.cjs.map +6 -0
  378. package/dist/tile-matrix.d.ts +52 -0
  379. package/dist/tile-matrix.d.ts.map +1 -0
  380. package/dist/tile-matrix.js +75 -0
  381. package/dist/tile-matrix.js.map +1 -0
  382. package/dist/tileset-2d/tile-2d-header.d.ts +2 -2
  383. package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -1
  384. package/dist/tileset-2d/tile-2d-header.js +11 -11
  385. package/dist/tileset-2d/tile-2d-header.js.map +1 -1
  386. package/dist/tileset-2d/tileset-2d.d.ts +19 -10
  387. package/dist/tileset-2d/tileset-2d.d.ts.map +1 -1
  388. package/dist/tileset-2d/tileset-2d.js +69 -15
  389. package/dist/tileset-2d/tileset-2d.js.map +1 -1
  390. package/dist/tileset-2d.d.ts +2 -1
  391. package/dist/tileset-2d.d.ts.map +1 -1
  392. package/dist/tileset-2d.js +1 -1
  393. package/dist/tileset-2d.js.map +1 -1
  394. package/package.json +104 -16
  395. package/src/image-set.ts +1 -1
  396. package/src/index.ts +9 -123
  397. package/src/mlt/bundled.ts +9 -0
  398. package/src/mlt/index.ts +18 -0
  399. package/src/mlt/lib/encode-mlt-geometry.ts +162 -0
  400. package/src/mlt/lib/encode-mlt-streams.ts +66 -0
  401. package/src/mlt/lib/encode-mlt.ts +215 -0
  402. package/src/mlt/lib/parse-mlt.ts +906 -0
  403. package/src/mlt/libs/mlt-decoder.cjs +4552 -0
  404. package/src/mlt/mlt-format.ts +19 -0
  405. package/src/mlt/mlt-loader-with-parser.ts +57 -0
  406. package/src/mlt/mlt-loader.ts +64 -0
  407. package/src/mlt/mlt-source-loader.ts +266 -0
  408. package/src/mlt/mlt-writer.ts +47 -0
  409. package/src/mlt/unbundled.ts +6 -0
  410. package/src/mvt/arrow-table-tile-source-loader-types.ts +55 -0
  411. package/src/mvt/arrow-table-tile-source-loader.ts +307 -0
  412. package/src/mvt/arrow-table-tile-source-types.ts +32 -0
  413. package/src/mvt/bundled.ts +14 -0
  414. package/src/mvt/index.ts +67 -0
  415. package/src/mvt/lib/encode-mvt-arrow.ts +273 -0
  416. package/src/mvt/lib/encode-mvt.ts +46 -0
  417. package/src/mvt/lib/get-schemas-from-tilejson.ts +64 -0
  418. package/src/mvt/lib/is-longitude-latitude-crs.ts +15 -0
  419. package/src/mvt/lib/mapbox-vt-pbf/geojson-to-vt.ts.disabled +76 -0
  420. package/src/mvt/lib/mapbox-vt-pbf/geojson-wrapper.ts +89 -0
  421. package/src/mvt/lib/mapbox-vt-pbf/to-vector-tile.ts +230 -0
  422. package/src/mvt/lib/mvt-pbf/mvt-constants.ts +135 -0
  423. package/src/mvt/lib/mvt-pbf/mvt-types.ts +22 -0
  424. package/src/mvt/lib/mvt-pbf/parse-geometry-from-pbf.ts +285 -0
  425. package/src/mvt/lib/mvt-pbf/parse-mvt-from-pbf.ts +310 -0
  426. package/src/mvt/lib/mvt-pbf/write-mvt-to-pbf.ts +162 -0
  427. package/src/mvt/lib/mvt-worker-transport.ts +74 -0
  428. package/src/mvt/lib/parse-mvt-geojson.ts +65 -0
  429. package/src/mvt/lib/parse-mvt.ts +145 -0
  430. package/src/mvt/lib/parse-tilejson.ts +397 -0
  431. package/src/mvt/lib/resolve-table-tile-parameters.ts +23 -0
  432. package/src/mvt/lib/types.ts +90 -0
  433. package/src/mvt/lib/utils/geometry-utils.ts +238 -0
  434. package/src/mvt/lib/vector-tile/LICENSE.txt +31 -0
  435. package/src/mvt/lib/vector-tile/vector-tile-feature.ts +430 -0
  436. package/src/mvt/lib/vector-tile/vector-tile-layer.ts +130 -0
  437. package/src/mvt/lib/vector-tile/vector-tile.ts +32 -0
  438. package/src/mvt/lib/vector-tiler/LICENSE +19 -0
  439. package/src/mvt/lib/vector-tiler/arrow-tile.ts +93 -0
  440. package/src/mvt/lib/vector-tiler/features/clip-features.ts +250 -0
  441. package/src/mvt/lib/vector-tiler/features/convert-feature.ts +213 -0
  442. package/src/mvt/lib/vector-tiler/features/proto-feature.ts +104 -0
  443. package/src/mvt/lib/vector-tiler/features/simplify-path.ts +84 -0
  444. package/src/mvt/lib/vector-tiler/features/wrap-features.ts +125 -0
  445. package/src/mvt/lib/vector-tiler/proto-tile.ts +217 -0
  446. package/src/mvt/lib/vector-tiler/tile-to-geojson.ts +104 -0
  447. package/src/mvt/lib/vector-tiler/transform-tile.ts +57 -0
  448. package/src/mvt/map-style-format.ts +18 -0
  449. package/src/mvt/map-style-loader-with-parser.ts +62 -0
  450. package/src/mvt/map-style-loader.ts +31 -0
  451. package/src/mvt/map-style-schema.ts +53 -0
  452. package/src/mvt/map-style.ts +218 -0
  453. package/src/mvt/mvt-format.ts +25 -0
  454. package/src/mvt/mvt-geojson-loader-types.ts +60 -0
  455. package/src/mvt/mvt-geojson-loader.ts +20 -0
  456. package/src/mvt/mvt-loader-with-parser.ts +53 -0
  457. package/src/mvt/mvt-loader.ts +73 -0
  458. package/src/mvt/mvt-source-loader.ts +410 -0
  459. package/src/mvt/mvt-writer.ts +35 -0
  460. package/src/mvt/table-tile-source-loader.ts +672 -0
  461. package/src/mvt/tilejson-format.ts +18 -0
  462. package/src/mvt/tilejson-loader-with-parser.ts +38 -0
  463. package/src/mvt/tilejson-loader.ts +42 -0
  464. package/src/mvt/tilejson-zod-schema.ts +199 -0
  465. package/src/mvt/unbundled.ts +13 -0
  466. package/src/mvt/workers/mvt-worker-node.ts +9 -0
  467. package/src/mvt/workers/mvt-worker.ts +8 -0
  468. package/src/pmtiles/bundled.ts +6 -0
  469. package/src/pmtiles/geoarrow.ts +188 -0
  470. package/src/pmtiles/index.ts +27 -0
  471. package/src/pmtiles/lib/blob-source.ts +41 -0
  472. package/src/pmtiles/lib/encode-pmtiles.ts +322 -0
  473. package/src/pmtiles/lib/parse-pmtiles.ts +180 -0
  474. package/src/pmtiles/lib/range-request-source.ts +60 -0
  475. package/src/pmtiles/lib/version.ts +8 -0
  476. package/src/pmtiles/pmtiles-format.ts +19 -0
  477. package/src/pmtiles/pmtiles-loader-with-parser.ts +60 -0
  478. package/src/pmtiles/pmtiles-loader.ts +30 -0
  479. package/src/pmtiles/pmtiles-source-loader.ts +346 -0
  480. package/src/pmtiles/pmtiles-writer-types.ts +45 -0
  481. package/src/pmtiles/pmtiles-writer.ts +26 -0
  482. package/src/pmtiles/raster.ts +289 -0
  483. package/src/pmtiles/source-info.ts +25 -0
  484. package/src/pmtiles/unbundled.ts +6 -0
  485. package/src/raster-set.ts +2 -2
  486. package/src/tile-matrix.ts +138 -0
  487. package/src/tileset-2d/tile-2d-header.ts +14 -13
  488. package/src/tileset-2d/tileset-2d.ts +81 -19
  489. package/src/tileset-2d.ts +25 -1
  490. package/dist/constants.d.ts +0 -38
  491. package/dist/constants.d.ts.map +0 -1
  492. package/dist/constants.js +0 -39
  493. package/dist/constants.js.map +0 -1
  494. package/dist/point-cloud/point-cloud-tile.d.ts +0 -47
  495. package/dist/point-cloud/point-cloud-tile.d.ts.map +0 -1
  496. package/dist/point-cloud/point-cloud-tile.js +0 -70
  497. package/dist/point-cloud/point-cloud-tile.js.map +0 -1
  498. package/dist/point-cloud/point-cloud-tileset.d.ts +0 -135
  499. package/dist/point-cloud/point-cloud-tileset.d.ts.map +0 -1
  500. package/dist/point-cloud/point-cloud-tileset.js +0 -549
  501. package/dist/point-cloud/point-cloud-tileset.js.map +0 -1
  502. package/dist/point-cloud/types.d.ts +0 -81
  503. package/dist/point-cloud/types.d.ts.map +0 -1
  504. package/dist/point-cloud/types.js.map +0 -1
  505. package/dist/spatial/format-spatial-reference.d.ts +0 -68
  506. package/dist/spatial/format-spatial-reference.d.ts.map +0 -1
  507. package/dist/spatial/format-spatial-reference.js +0 -291
  508. package/dist/spatial/format-spatial-reference.js.map +0 -1
  509. package/dist/spatial/get-spatial-coordinate-frame.d.ts +0 -20
  510. package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +0 -1
  511. package/dist/spatial/get-spatial-coordinate-frame.js +0 -139
  512. package/dist/spatial/get-spatial-coordinate-frame.js.map +0 -1
  513. package/dist/spatial/i3s-elevation.d.ts +0 -20
  514. package/dist/spatial/i3s-elevation.d.ts.map +0 -1
  515. package/dist/spatial/i3s-elevation.js +0 -90
  516. package/dist/spatial/i3s-elevation.js.map +0 -1
  517. package/dist/spatial/i3s-spatial-transformer.d.ts +0 -205
  518. package/dist/spatial/i3s-spatial-transformer.d.ts.map +0 -1
  519. package/dist/spatial/i3s-spatial-transformer.js +0 -731
  520. package/dist/spatial/i3s-spatial-transformer.js.map +0 -1
  521. package/dist/spatial/normalize-crs-identifier.d.ts +0 -15
  522. package/dist/spatial/normalize-crs-identifier.d.ts.map +0 -1
  523. package/dist/spatial/normalize-crs-identifier.js +0 -22
  524. package/dist/spatial/normalize-crs-identifier.js.map +0 -1
  525. package/dist/spatial/spatial-coordinate-transformer.d.ts +0 -52
  526. package/dist/spatial/spatial-coordinate-transformer.d.ts.map +0 -1
  527. package/dist/spatial/spatial-coordinate-transformer.js +0 -295
  528. package/dist/spatial/spatial-coordinate-transformer.js.map +0 -1
  529. package/dist/spatial/spatial-resource-registry.d.ts +0 -47
  530. package/dist/spatial/spatial-resource-registry.d.ts.map +0 -1
  531. package/dist/spatial/spatial-resource-registry.js +0 -76
  532. package/dist/spatial/spatial-resource-registry.js.map +0 -1
  533. package/dist/spatial/spatial-types.d.ts +0 -190
  534. package/dist/spatial/spatial-types.d.ts.map +0 -1
  535. package/dist/spatial/spatial-types.js +0 -192
  536. package/dist/spatial/spatial-types.js.map +0 -1
  537. package/dist/spatial/tiles-3d-spatial-transformer.d.ts +0 -32
  538. package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +0 -1
  539. package/dist/spatial/tiles-3d-spatial-transformer.js +0 -163
  540. package/dist/spatial/tiles-3d-spatial-transformer.js.map +0 -1
  541. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +0 -60
  542. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +0 -1
  543. package/dist/tileset-3d/common/indexed-archive-tileset-source.js +0 -130
  544. package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +0 -1
  545. package/dist/tileset-3d/common/tile-3d-contracts.d.ts +0 -63
  546. package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +0 -1
  547. package/dist/tileset-3d/common/tile-3d-contracts.js +0 -51
  548. package/dist/tileset-3d/common/tile-3d-contracts.js.map +0 -1
  549. package/dist/tileset-3d/common/tile-3d.d.ts +0 -410
  550. package/dist/tileset-3d/common/tile-3d.d.ts.map +0 -1
  551. package/dist/tileset-3d/common/tile-3d.js +0 -1056
  552. package/dist/tileset-3d/common/tile-3d.js.map +0 -1
  553. package/dist/tileset-3d/common/tileset-3d.d.ts +0 -367
  554. package/dist/tileset-3d/common/tileset-3d.d.ts.map +0 -1
  555. package/dist/tileset-3d/common/tileset-3d.js +0 -879
  556. package/dist/tileset-3d/common/tileset-3d.js.map +0 -1
  557. package/dist/tileset-3d/common/tileset-cache.d.ts +0 -29
  558. package/dist/tileset-3d/common/tileset-cache.d.ts.map +0 -1
  559. package/dist/tileset-3d/common/tileset-cache.js +0 -82
  560. package/dist/tileset-3d/common/tileset-cache.js.map +0 -1
  561. package/dist/tileset-3d/common/tileset-content-traversal.d.ts +0 -37
  562. package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +0 -1
  563. package/dist/tileset-3d/common/tileset-content-traversal.js +0 -80
  564. package/dist/tileset-3d/common/tileset-content-traversal.js.map +0 -1
  565. package/dist/tileset-3d/common/tileset-observability.d.ts +0 -60
  566. package/dist/tileset-3d/common/tileset-observability.d.ts.map +0 -1
  567. package/dist/tileset-3d/common/tileset-observability.js +0 -39
  568. package/dist/tileset-3d/common/tileset-observability.js.map +0 -1
  569. package/dist/tileset-3d/common/tileset-source.d.ts +0 -228
  570. package/dist/tileset-3d/common/tileset-source.d.ts.map +0 -1
  571. package/dist/tileset-3d/common/tileset-source.js +0 -17
  572. package/dist/tileset-3d/common/tileset-source.js.map +0 -1
  573. package/dist/tileset-3d/common/tileset-traverser.d.ts +0 -88
  574. package/dist/tileset-3d/common/tileset-traverser.d.ts.map +0 -1
  575. package/dist/tileset-3d/common/tileset-traverser.js +0 -341
  576. package/dist/tileset-3d/common/tileset-traverser.js.map +0 -1
  577. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +0 -182
  578. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +0 -1
  579. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +0 -681
  580. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +0 -1
  581. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +0 -221
  582. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +0 -1
  583. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +0 -770
  584. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +0 -1
  585. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +0 -111
  586. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
  587. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +0 -339
  588. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
  589. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts +0 -27
  590. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
  591. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js +0 -45
  592. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +0 -1
  593. package/dist/tileset-3d/format-i3s/i3s-source.d.ts +0 -116
  594. package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +0 -1
  595. package/dist/tileset-3d/format-i3s/i3s-source.js +0 -450
  596. package/dist/tileset-3d/format-i3s/i3s-source.js.map +0 -1
  597. package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts +0 -34
  598. package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +0 -1
  599. package/dist/tileset-3d/format-i3s/i3s-tile-manager.js +0 -81
  600. package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +0 -1
  601. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts +0 -25
  602. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
  603. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +0 -84
  604. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +0 -1
  605. package/dist/tileset-3d/helpers/3d-tiles-options.d.ts +0 -5
  606. package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +0 -1
  607. package/dist/tileset-3d/helpers/3d-tiles-options.js +0 -9
  608. package/dist/tileset-3d/helpers/3d-tiles-options.js.map +0 -1
  609. package/dist/tileset-3d/helpers/bounding-volume.d.ts +0 -23
  610. package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +0 -1
  611. package/dist/tileset-3d/helpers/bounding-volume.js +0 -236
  612. package/dist/tileset-3d/helpers/bounding-volume.js.map +0 -1
  613. package/dist/tileset-3d/helpers/frame-state.d.ts +0 -93
  614. package/dist/tileset-3d/helpers/frame-state.d.ts.map +0 -1
  615. package/dist/tileset-3d/helpers/frame-state.js +0 -211
  616. package/dist/tileset-3d/helpers/frame-state.js.map +0 -1
  617. package/dist/tileset-3d/helpers/i3s-lod.d.ts +0 -20
  618. package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +0 -1
  619. package/dist/tileset-3d/helpers/i3s-lod.js +0 -95
  620. package/dist/tileset-3d/helpers/i3s-lod.js.map +0 -1
  621. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +0 -17
  622. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +0 -1
  623. package/dist/tileset-3d/helpers/s2-bounding-volume.js +0 -20
  624. package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +0 -1
  625. package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +0 -72
  626. package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +0 -1
  627. package/dist/tileset-3d/helpers/tiles-3d-lod.js +0 -257
  628. package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +0 -1
  629. package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts +0 -134
  630. package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts.map +0 -1
  631. package/dist/tileset-3d/helpers/tiles-3d-request-priority.js +0 -179
  632. package/dist/tileset-3d/helpers/tiles-3d-request-priority.js.map +0 -1
  633. package/dist/tileset-3d/helpers/transform-utils.d.ts +0 -3
  634. package/dist/tileset-3d/helpers/transform-utils.d.ts.map +0 -1
  635. package/dist/tileset-3d/helpers/transform-utils.js +0 -86
  636. package/dist/tileset-3d/helpers/transform-utils.js.map +0 -1
  637. package/dist/tileset-3d/helpers/zoom.d.ts +0 -46
  638. package/dist/tileset-3d/helpers/zoom.d.ts.map +0 -1
  639. package/dist/tileset-3d/helpers/zoom.js +0 -86
  640. package/dist/tileset-3d/helpers/zoom.js.map +0 -1
  641. package/dist/types.d.ts +0 -48
  642. package/dist/types.d.ts.map +0 -1
  643. package/dist/types.js.map +0 -1
  644. package/dist/utils/doubly-linked-list-node.d.ts +0 -11
  645. package/dist/utils/doubly-linked-list-node.d.ts.map +0 -1
  646. package/dist/utils/doubly-linked-list-node.js +0 -20
  647. package/dist/utils/doubly-linked-list-node.js.map +0 -1
  648. package/dist/utils/doubly-linked-list.d.ts +0 -30
  649. package/dist/utils/doubly-linked-list.d.ts.map +0 -1
  650. package/dist/utils/doubly-linked-list.js +0 -93
  651. package/dist/utils/doubly-linked-list.js.map +0 -1
  652. package/dist/utils/managed-array.d.ts +0 -85
  653. package/dist/utils/managed-array.d.ts.map +0 -1
  654. package/dist/utils/managed-array.js +0 -152
  655. package/dist/utils/managed-array.js.map +0 -1
  656. package/src/constants.ts +0 -59
  657. package/src/point-cloud/point-cloud-tile.ts +0 -80
  658. package/src/point-cloud/point-cloud-tileset.ts +0 -767
  659. package/src/point-cloud/types.ts +0 -99
  660. package/src/spatial/format-spatial-reference.ts +0 -385
  661. package/src/spatial/get-spatial-coordinate-frame.ts +0 -169
  662. package/src/spatial/i3s-elevation.ts +0 -96
  663. package/src/spatial/i3s-spatial-transformer.ts +0 -1021
  664. package/src/spatial/normalize-crs-identifier.ts +0 -26
  665. package/src/spatial/spatial-coordinate-transformer.ts +0 -377
  666. package/src/spatial/spatial-resource-registry.ts +0 -90
  667. package/src/spatial/spatial-types.ts +0 -422
  668. package/src/spatial/tiles-3d-spatial-transformer.ts +0 -194
  669. package/src/tileset-3d/common/indexed-archive-tileset-source.ts +0 -205
  670. package/src/tileset-3d/common/tile-3d-contracts.ts +0 -115
  671. package/src/tileset-3d/common/tile-3d.ts +0 -1310
  672. package/src/tileset-3d/common/tileset-3d.ts +0 -1208
  673. package/src/tileset-3d/common/tileset-cache.ts +0 -111
  674. package/src/tileset-3d/common/tileset-content-traversal.ts +0 -114
  675. package/src/tileset-3d/common/tileset-observability.ts +0 -100
  676. package/src/tileset-3d/common/tileset-source.ts +0 -284
  677. package/src/tileset-3d/common/tileset-traverser.ts +0 -416
  678. package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +0 -1059
  679. package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +0 -1025
  680. package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +0 -391
  681. package/src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts +0 -48
  682. package/src/tileset-3d/format-i3s/i3s-source.ts +0 -557
  683. package/src/tileset-3d/format-i3s/i3s-tile-manager.ts +0 -105
  684. package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +0 -102
  685. package/src/tileset-3d/helpers/3d-tiles-options.ts +0 -11
  686. package/src/tileset-3d/helpers/bounding-volume.ts +0 -281
  687. package/src/tileset-3d/helpers/frame-state.ts +0 -322
  688. package/src/tileset-3d/helpers/i3s-lod.ts +0 -109
  689. package/src/tileset-3d/helpers/s2-bounding-volume.ts +0 -35
  690. package/src/tileset-3d/helpers/tiles-3d-lod.ts +0 -370
  691. package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +0 -301
  692. package/src/tileset-3d/helpers/transform-utils.ts +0 -109
  693. package/src/tileset-3d/helpers/zoom.ts +0 -120
  694. package/src/types.ts +0 -54
  695. package/src/utils/doubly-linked-list-node.ts +0 -22
  696. package/src/utils/doubly-linked-list.ts +0 -105
  697. package/src/utils/managed-array.ts +0 -174
  698. /package/dist/{point-cloud → mvt/lib}/types.js +0 -0
@@ -1,99 +0,0 @@
1
- // loaders.gl
2
- // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
4
-
5
- import type {DataSource, DataSourceOptions} from '@loaders.gl/loader-utils';
6
- import type {MeshArrowTable} from '@loaders.gl/schema';
7
- import type {TilesetSpatialReference} from '../spatial/spatial-types';
8
-
9
- /**
10
- * An accessor-like description for point cloud attributes.
11
- */
12
- export type PointCloudAttribute = {
13
- value: ArrayBufferView;
14
- size: number;
15
- normalized?: boolean;
16
- };
17
-
18
- /**
19
- * deck.gl coordinate system string values accepted by point cloud tile content.
20
- */
21
- export type PointCloudCoordinateSystem =
22
- | 'default'
23
- | 'lnglat'
24
- | 'meter-offsets'
25
- | 'lnglat-offsets'
26
- | 'cartesian';
27
-
28
- /**
29
- * A normalized point cloud tile content payload.
30
- */
31
- export type PointCloudTileContent = {
32
- data: MeshArrowTable;
33
- pointCount: number;
34
- cartographicOrigin: number[];
35
- coordinateSystem: PointCloudCoordinateSystem;
36
- constantRGBA?: number[];
37
- modelMatrix?: number[] | Float32Array;
38
- /** Spatial descriptor for returned points, origins, and bounds. */
39
- spatialReference?: TilesetSpatialReference;
40
- /** Content bound expressed in the selected spatial output frame. */
41
- spatialBoundingVolume?: PointCloudBoundingVolume;
42
- };
43
-
44
- /**
45
- * A cartographic bounding volume for a point cloud tile.
46
- */
47
- export type PointCloudBoundingVolume = {
48
- cartographicBounds: [min: number[], max: number[]];
49
- /** True when the longitude interval crosses the antimeridian. */
50
- wrapsDateline?: boolean;
51
- /** True when the longitude interval covers the full globe. */
52
- coversFullLongitude?: boolean;
53
- center: number[];
54
- radius: number;
55
- /** Broad coordinate frame of `center` and `cartographicBounds`. */
56
- coordinateFrame?: 'geographic' | 'cartesian';
57
- };
58
-
59
- /**
60
- * A source-owned tile header used by the point cloud tileset.
61
- */
62
- export type PointCloudTileHeader = {
63
- id: string;
64
- level: number;
65
- pointCount: number;
66
- geometricError: number;
67
- boundingVolume: PointCloudBoundingVolume;
68
- /** Bound expressed in the selected content/output frame; traversal retains geographic bounds. */
69
- spatialBoundingVolume?: PointCloudBoundingVolume;
70
- /** I3S LOD metric used to decide whether this node refines. */
71
- lodSelectionMetricType?: 'maxScreenThresholdSQ' | 'density-threshold';
72
- /** Source-provided LOD threshold for density or screen metrics. */
73
- lodThreshold?: number;
74
- };
75
-
76
- /**
77
- * Optional tileset view metadata.
78
- */
79
- export type PointCloudTilesetViewState = {
80
- cartographicCenter?: number[];
81
- zoom?: number;
82
- boundingVolume?: PointCloudBoundingVolume;
83
- };
84
-
85
- /**
86
- * Structural contract for point cloud sources that can back a PointCloudTileset.
87
- */
88
- export type PointCloudTilesetSource<
89
- DataT = unknown,
90
- OptionsT extends DataSourceOptions = DataSourceOptions
91
- > = DataSource<DataT, OptionsT> & {
92
- isReady: boolean;
93
- initialize(): Promise<void>;
94
- getMetadata?(): Promise<unknown>;
95
- getRootTile(): Promise<PointCloudTileHeader>;
96
- getChildren(tile: PointCloudTileHeader): Promise<PointCloudTileHeader[]>;
97
- loadTileContent(tile: PointCloudTileHeader): Promise<PointCloudTileContent | null>;
98
- getViewState?(): Promise<PointCloudTilesetViewState> | PointCloudTilesetViewState;
99
- };
@@ -1,385 +0,0 @@
1
- // loaders.gl
2
- // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
4
-
5
- import type {ReadonlyCRSDefinition} from '@math.gl/crs';
6
- import {getI3SLinearUnitScale, getI3SVerticalUnitScale} from './i3s-elevation';
7
- import {
8
- getKnownCrsIdentifierCoordinateFrame,
9
- getSpatialCoordinateFrame
10
- } from './get-spatial-coordinate-frame';
11
- import {createTilesetSpatialReference} from './spatial-types';
12
- import type {TilesetElevationMode, TilesetSpatialReference} from './spatial-types';
13
-
14
- /** ArcGIS/I3S spatial reference fields used without depending on the I3S package. */
15
- type I3SSpatialReferenceLike = {
16
- wkid?: number;
17
- latestWkid?: number;
18
- vcsWkid?: number;
19
- latestVcsWkid?: number;
20
- wkt?: string;
21
- };
22
-
23
- /** I3S layer fields needed for spatial metadata discovery. */
24
- type I3SLayerLike = {
25
- spatialReference?: I3SSpatialReferenceLike;
26
- fullExtent?: {spatialReference?: I3SSpatialReferenceLike};
27
- heightModelInfo?: {
28
- heightModel?: string;
29
- vertCRS?: ReadonlyCRSDefinition;
30
- heightUnit?: string;
31
- };
32
- ZFactor?: number;
33
- elevationInfo?: {mode?: string; offset?: number; unit?: string};
34
- };
35
-
36
- /** 3D Tiles metadata schema property used for semantic lookup. */
37
- type Tiles3DMetadataProperty = {semantic?: string};
38
-
39
- /** 3D Tiles document fields needed for CRS semantic discovery. */
40
- type Tiles3DLike = {
41
- schema?: {
42
- classes?: Record<string, unknown>;
43
- };
44
- schemaUri?: string;
45
- metadata?: {class?: string; properties?: Record<string, unknown>};
46
- root?: {boundingVolume?: {region?: unknown}};
47
- extensions?: Record<string, unknown>;
48
- };
49
-
50
- /**
51
- * Discovers normalized spatial metadata from an I3S scene-layer document.
52
- *
53
- * I3S encodes geographic coordinates in longitude/latitude wire order even for authority
54
- * definitions whose formal axis order differs.
55
- *
56
- * @param layer - Parsed I3S layer document.
57
- * @returns Normalized source spatial metadata.
58
- */
59
- export function getI3SSpatialReference(layer: I3SLayerLike): TilesetSpatialReference {
60
- const spatialReference = layer.spatialReference || layer.fullExtent?.spatialReference;
61
- const sourceCrs = getI3SCrsDefinition(spatialReference);
62
- const verticalCrs =
63
- layer.heightModelInfo?.vertCRS || getI3SVerticalCrsDefinition(spatialReference);
64
- const heightModel = layer.heightModelInfo?.heightModel;
65
- const verticalUnit = layer.heightModelInfo?.heightUnit;
66
- const verticalUnitScale = getI3SVerticalUnitScale(verticalUnit, layer.ZFactor);
67
- const heightReference =
68
- heightModel === 'ellipsoidal'
69
- ? 'ellipsoidal'
70
- : heightModel === 'gravity_related_height'
71
- ? 'orthometric'
72
- : 'unknown';
73
- const sourceIdentifier = getCrsIdentifier(spatialReference);
74
- const coordinateFrame =
75
- sourceIdentifier === undefined
76
- ? sourceCrs
77
- ? getSpatialCoordinateFrame(sourceCrs)
78
- : 'unknown'
79
- : getSpatialCoordinateFrame(`EPSG:${sourceIdentifier}`);
80
- const units = getI3SCoordinateUnits(coordinateFrame, verticalUnit, layer.ZFactor);
81
- const warnings: string[] = [];
82
- const elevationMode = getI3SElevationMode(layer.elevationInfo?.mode);
83
- const elevationUnit = layer.elevationInfo ? layer.elevationInfo.unit || 'meter' : undefined;
84
- const elevationUnitScale = getI3SLinearUnitScale(elevationUnit);
85
- if (verticalUnitScale === undefined) {
86
- warnings.push(
87
- layer.ZFactor !== undefined
88
- ? `I3S ZFactor ${layer.ZFactor} is not a positive finite conversion factor`
89
- : `Unsupported I3S vertical unit ${verticalUnit}`
90
- );
91
- }
92
- if (layer.elevationInfo && elevationUnitScale === undefined) {
93
- warnings.push(`Unsupported I3S elevation unit ${elevationUnit}`);
94
- }
95
- if (layer.elevationInfo?.mode && !elevationMode) {
96
- warnings.push(`Unsupported I3S elevation mode ${layer.elevationInfo.mode}`);
97
- }
98
- if (elevationMode && elevationMode !== 'absoluteHeight') {
99
- warnings.push(
100
- `I3S elevation mode ${elevationMode} requires a terrain or scene elevation provider`
101
- );
102
- }
103
-
104
- return createTilesetSpatialReference({
105
- sourceCrs,
106
- sourceCrsRepresentation:
107
- sourceIdentifier !== undefined ? 'identifier' : sourceCrs ? 'wkt' : undefined,
108
- sourceCrsAlternatives:
109
- sourceIdentifier !== undefined && spatialReference?.wkt
110
- ? [{definition: spatialReference.wkt, representation: 'wkt'}]
111
- : undefined,
112
- verticalCrs,
113
- units,
114
- verticalUnitScale: verticalUnitScale ?? Number.NaN,
115
- heightReference,
116
- elevationMode,
117
- elevationOffset: layer.elevationInfo?.offset,
118
- elevationUnit,
119
- elevationUnitScale:
120
- layer.elevationInfo?.mode && !elevationMode
121
- ? Number.NaN
122
- : (elevationUnitScale ?? (layer.elevationInfo ? Number.NaN : 1)),
123
- coordinateFrame,
124
- axisOrder: sourceCrs ? 'xyz' : 'unknown',
125
- provenance: sourceCrs ? 'metadata' : 'unknown',
126
- warnings
127
- });
128
- }
129
-
130
- /** Return per-component I3S units only when their coordinate association is unambiguous. */
131
- function getI3SCoordinateUnits(
132
- coordinateFrame: TilesetSpatialReference['coordinateFrame'],
133
- verticalUnit: string | undefined,
134
- zFactor: number | undefined
135
- ): readonly string[] | undefined {
136
- if (coordinateFrame === 'geocentric') {
137
- return ['meter', 'meter', 'meter'];
138
- }
139
- if (coordinateFrame === 'geographic' && (verticalUnit || zFactor === undefined)) {
140
- return ['degree', 'degree', verticalUnit || 'meter'];
141
- }
142
- return undefined;
143
- }
144
-
145
- /** Return a supported I3S elevation mode without widening the public descriptor. */
146
- function getI3SElevationMode(mode: string | undefined): TilesetElevationMode | undefined {
147
- switch (mode) {
148
- case 'absoluteHeight':
149
- case 'onTheGround':
150
- case 'relativeToGround':
151
- case 'relativeToScene':
152
- return mode;
153
- default:
154
- return undefined;
155
- }
156
- }
157
-
158
- /**
159
- * Discovers the 3D Tiles geocentric CRS and coordinate epoch from structured metadata semantics.
160
- *
161
- * The method intentionally does not infer ECEF from coordinate magnitude. A root `region`
162
- * establishes the format's global ellipsoidal frame, while local tilesets without an explicit
163
- * semantic remain unknown.
164
- *
165
- * @param tileset - Parsed 3D Tiles tileset document.
166
- * @returns Normalized source spatial metadata.
167
- */
168
- export function get3DTilesSpatialReference(tileset: Tiles3DLike): TilesetSpatialReference {
169
- const draftSpatialReference = getDraft3DTilesSpatialReference(tileset);
170
- if (draftSpatialReference) {
171
- return draftSpatialReference;
172
- }
173
- const geocentricCrs = getTilesetSemanticValue(tileset, 'TILESET_CRS_GEOCENTRIC');
174
- const coordinateEpoch = getTilesetSemanticValue(tileset, 'TILESET_CRS_COORDINATE_EPOCH');
175
- const warnings: string[] = [];
176
-
177
- let sourceCrs: ReadonlyCRSDefinition | undefined;
178
- let provenance: TilesetSpatialReference['provenance'] = 'unknown';
179
- let sourceCrsState: 'explicit' | 'default' | 'unknown' | 'absent' | undefined;
180
- if (typeof geocentricCrs === 'string' && geocentricCrs.toUpperCase() !== 'UNKNOWN') {
181
- sourceCrs = geocentricCrs;
182
- provenance = 'metadata';
183
- sourceCrsState = 'explicit';
184
- } else if (geocentricCrs !== undefined) {
185
- warnings.push('3D Tiles geocentric CRS is explicitly unknown');
186
- provenance = 'metadata';
187
- sourceCrsState = 'unknown';
188
- } else if (tileset.root?.boundingVolume?.region) {
189
- sourceCrs = 'EPSG:4978';
190
- provenance = 'format-default';
191
- sourceCrsState = 'default';
192
- } else if (tileset.schemaUri && !tileset.schema) {
193
- warnings.push(
194
- 'External 3D Tiles metadata schema must be loaded before CRS semantics can resolve'
195
- );
196
- }
197
-
198
- const epoch = parseCoordinateEpoch(coordinateEpoch);
199
- if (coordinateEpoch !== undefined && epoch === undefined) {
200
- warnings.push('3D Tiles coordinate epoch is not a finite decimal year');
201
- }
202
-
203
- return createTilesetSpatialReference({
204
- sourceCrs,
205
- sourceCrsState,
206
- sourceCrsRepresentation: sourceCrs ? 'identifier' : undefined,
207
- coordinateEpoch: epoch,
208
- heightReference: sourceCrs ? 'ellipsoidal' : 'unknown',
209
- coordinateFrame: sourceCrs ? 'geocentric' : 'unknown',
210
- axisOrder: sourceCrs ? 'xyz' : 'unknown',
211
- provenance,
212
- warnings
213
- });
214
- }
215
-
216
- /** Resolves the draft glTF EXT_geospatial_crs WKID or WKT2 declaration. */
217
- function getDraft3DTilesSpatialReference(
218
- tileset: Tiles3DLike
219
- ): TilesetSpatialReference | undefined {
220
- const extension = tileset.extensions?.EXT_geospatial_crs as
221
- | {format?: unknown; extensions?: Record<string, unknown>}
222
- | undefined;
223
- if (!extension) {
224
- return undefined;
225
- }
226
- const warnings: string[] = [];
227
- let sourceCrs: ReadonlyCRSDefinition | undefined;
228
- let verticalCrs: ReadonlyCRSDefinition | undefined;
229
- let epoch: number | undefined;
230
- let representation: 'identifier' | 'wkt' | undefined;
231
- if (extension.format === 'wkid') {
232
- const wkidExtension = extension.extensions?.EXT_geospatial_crs_wkid as
233
- | {authority?: unknown; wkid?: unknown; vcsWkid?: unknown; epoch?: unknown}
234
- | undefined;
235
- if (typeof wkidExtension?.authority === 'string' && Number.isInteger(wkidExtension.wkid)) {
236
- sourceCrs = `${wkidExtension.authority}:${wkidExtension.wkid}`;
237
- representation = 'identifier';
238
- if (Number.isInteger(wkidExtension.vcsWkid)) {
239
- verticalCrs = `${wkidExtension.authority}:${wkidExtension.vcsWkid}`;
240
- }
241
- epoch = parseCoordinateEpoch(wkidExtension.epoch);
242
- if (wkidExtension.epoch !== undefined && epoch === undefined) {
243
- warnings.push('EXT_geospatial_crs_wkid epoch is not a finite decimal year');
244
- }
245
- } else {
246
- warnings.push('EXT_geospatial_crs_wkid requires string authority and integer wkid');
247
- }
248
- } else if (extension.format === 'wkt2') {
249
- const wktExtension = extension.extensions?.EXT_geospatial_crs_wkt2 as
250
- | {wkt2?: unknown}
251
- | undefined;
252
- if (typeof wktExtension?.wkt2 === 'string' && wktExtension.wkt2.trim()) {
253
- sourceCrs = wktExtension.wkt2;
254
- representation = 'wkt';
255
- } else {
256
- warnings.push('EXT_geospatial_crs_wkt2 requires a nonempty wkt2 string');
257
- }
258
- } else {
259
- warnings.push(`Unsupported EXT_geospatial_crs format ${String(extension.format)}`);
260
- }
261
- const coordinateFrame =
262
- representation === 'wkt'
263
- ? getSpatialCoordinateFrame(sourceCrs as string)
264
- : getKnownCrsIdentifierCoordinateFrame(sourceCrs) || 'unknown';
265
- const verticalSemantics = getDraftVerticalCrsSemantics(verticalCrs);
266
- if (verticalCrs && !verticalSemantics) {
267
- warnings.push(
268
- `Unsupported vertical CRS ${String(verticalCrs)}; vertical unit and height reference are unknown`
269
- );
270
- }
271
- const verticalUnit = verticalCrs ? verticalSemantics?.unit : 'meter';
272
- return createTilesetSpatialReference({
273
- sourceCrs,
274
- sourceCrsState: sourceCrs ? 'explicit' : 'unknown',
275
- sourceCrsRepresentation: representation,
276
- verticalCrs,
277
- coordinateEpoch: epoch,
278
- units:
279
- coordinateFrame === 'geocentric'
280
- ? ['meter', 'meter', 'meter']
281
- : coordinateFrame === 'geographic' && verticalUnit
282
- ? ['degree', 'degree', verticalUnit]
283
- : undefined,
284
- verticalUnitScale: verticalCrs ? (verticalSemantics?.verticalUnitScale ?? Number.NaN) : 1,
285
- heightReference: verticalCrs
286
- ? (verticalSemantics?.heightReference ?? 'unknown')
287
- : sourceCrs
288
- ? 'ellipsoidal'
289
- : 'unknown',
290
- coordinateFrame,
291
- axisOrder: sourceCrs ? 'xyz' : 'unknown',
292
- provenance: 'metadata',
293
- warnings
294
- });
295
- }
296
-
297
- /** Known vertical CRS semantics needed to interpret draft 3D Tiles height values. */
298
- type DraftVerticalCrsSemantics = {
299
- unit: string;
300
- verticalUnitScale: number;
301
- heightReference: 'orthometric';
302
- };
303
-
304
- /** Resolves vertical units and height interpretation for known EPSG vertical CRSs. */
305
- function getDraftVerticalCrsSemantics(
306
- verticalCrs: ReadonlyCRSDefinition | undefined
307
- ): DraftVerticalCrsSemantics | undefined {
308
- if (typeof verticalCrs !== 'string') {
309
- return undefined;
310
- }
311
- const epsgMatch = /^EPSG:(\d+)$/i.exec(verticalCrs);
312
- if (!epsgMatch) {
313
- return undefined;
314
- }
315
- switch (Number(epsgMatch[1])) {
316
- case 5702: // NGVD29 height (ftUS)
317
- case 6360: // NAVD88 height (ftUS)
318
- return {
319
- unit: 'us-foot',
320
- verticalUnitScale: 1200 / 3937,
321
- heightReference: 'orthometric'
322
- };
323
- case 5703: // NAVD88 height
324
- return {unit: 'meter', verticalUnitScale: 1, heightReference: 'orthometric'};
325
- default:
326
- return undefined;
327
- }
328
- }
329
-
330
- /** Parse the 3D Tiles decimal-year string while tolerating legacy numeric producer output. */
331
- function parseCoordinateEpoch(value: unknown): number | undefined {
332
- if (typeof value !== 'string' && typeof value !== 'number') {
333
- return undefined;
334
- }
335
- if (typeof value === 'string' && !value.trim()) {
336
- return undefined;
337
- }
338
- const epoch = Number(value);
339
- return Number.isFinite(epoch) ? epoch : undefined;
340
- }
341
-
342
- /** Return an I3S horizontal CRS definition, preferring current WKID aliases over legacy values. */
343
- function getI3SCrsDefinition(
344
- spatialReference?: I3SSpatialReferenceLike
345
- ): ReadonlyCRSDefinition | undefined {
346
- const identifier = getCrsIdentifier(spatialReference);
347
- if (identifier !== undefined) {
348
- return `EPSG:${identifier}`;
349
- }
350
- return spatialReference?.wkt;
351
- }
352
-
353
- /** Return an I3S vertical CRS definition. */
354
- function getI3SVerticalCrsDefinition(
355
- spatialReference?: I3SSpatialReferenceLike
356
- ): ReadonlyCRSDefinition | undefined {
357
- const identifier = spatialReference?.latestVcsWkid ?? spatialReference?.vcsWkid;
358
- return identifier === undefined ? undefined : `EPSG:${identifier}`;
359
- }
360
-
361
- /** Return the preferred horizontal WKID. */
362
- function getCrsIdentifier(spatialReference?: I3SSpatialReferenceLike): number | undefined {
363
- return spatialReference?.latestWkid ?? spatialReference?.wkid;
364
- }
365
-
366
- /** Resolve a tileset-wide structured metadata property by its standard semantic. */
367
- function getTilesetSemanticValue(tileset: Tiles3DLike, semantic: string): unknown {
368
- const classIdentifier = tileset.metadata?.class;
369
- if (!classIdentifier) {
370
- return undefined;
371
- }
372
- const classDefinition = tileset.schema?.classes?.[classIdentifier] as
373
- | {properties?: Record<string, Tiles3DMetadataProperty>}
374
- | undefined;
375
- const propertyDefinitions = classDefinition?.properties;
376
- const propertyValues = tileset.metadata?.properties;
377
- for (const [propertyIdentifier, propertyDefinition] of Object.entries(
378
- propertyDefinitions || {}
379
- )) {
380
- if (propertyDefinition.semantic === semantic) {
381
- return propertyValues?.[propertyIdentifier];
382
- }
383
- }
384
- return undefined;
385
- }
@@ -1,169 +0,0 @@
1
- // loaders.gl
2
- // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
4
-
5
- import {
6
- inferCRSRepresentation,
7
- parsePROJString,
8
- parseWKTCRS,
9
- type ReadonlyCRSDefinition,
10
- type SpatialReferenceCoordinateFrame,
11
- type WKTCRSNode
12
- } from '@math.gl/crs';
13
- import {
14
- normalizeCrsIdentifier,
15
- WGS84_GEOCENTRIC_CRS,
16
- WGS84_GEOGRAPHIC_CRS
17
- } from './normalize-crs-identifier';
18
-
19
- /**
20
- * Classify a CRS definition into the broad coordinate frame used by 3D format adapters.
21
- *
22
- * @param definition - CRS definition to classify.
23
- * @returns The broad geographic, geocentric, projected, local, or unknown frame.
24
- */
25
- export function getSpatialCoordinateFrame(
26
- definition: ReadonlyCRSDefinition
27
- ): SpatialReferenceCoordinateFrame {
28
- if (typeof definition === 'string') {
29
- const representation = inferCRSRepresentation(definition);
30
- if (representation === 'wkt') {
31
- return getWktCoordinateFrame(definition);
32
- }
33
- if (representation === 'proj-string') {
34
- return getProjStringCoordinateFrame(definition);
35
- }
36
- return getKnownCrsIdentifierCoordinateFrame(definition) || 'projected';
37
- }
38
-
39
- const projJsonDefinition = definition as {
40
- type?: string;
41
- source_crs?: ReadonlyCRSDefinition;
42
- components?: readonly ReadonlyCRSDefinition[];
43
- coordinate_system?: {subtype?: string};
44
- };
45
- if (projJsonDefinition.type === 'BoundCRS' && projJsonDefinition.source_crs) {
46
- return getSpatialCoordinateFrame(projJsonDefinition.source_crs);
47
- }
48
- if (projJsonDefinition.type === 'CompoundCRS' && projJsonDefinition.components?.[0]) {
49
- return getSpatialCoordinateFrame(projJsonDefinition.components[0]);
50
- }
51
- if (String(projJsonDefinition.type).includes('Projected')) {
52
- return 'projected';
53
- }
54
- if (String(projJsonDefinition.type).includes('Geographic')) {
55
- return 'geographic';
56
- }
57
- if (String(projJsonDefinition.type).includes('Geodetic')) {
58
- return projJsonDefinition.coordinate_system?.subtype === 'Cartesian'
59
- ? 'geocentric'
60
- : 'geographic';
61
- }
62
- return 'unknown';
63
- }
64
-
65
- /**
66
- * Classifies authority identifiers for which the tiles runtime has explicit frame knowledge.
67
- *
68
- * Unlike {@link getSpatialCoordinateFrame}, this function does not assume that an unrecognized
69
- * authority identifier is projected. Draft formats use this strict result to avoid inventing
70
- * semantics for unknown authorities or registry codes.
71
- *
72
- * @param definition - Serialized CRS identifier.
73
- * @returns A known frame, or `undefined` when registry semantics are unavailable.
74
- */
75
- export function getKnownCrsIdentifierCoordinateFrame(
76
- definition: ReadonlyCRSDefinition | undefined
77
- ): SpatialReferenceCoordinateFrame | undefined {
78
- if (typeof definition !== 'string') {
79
- return undefined;
80
- }
81
- const normalized = normalizeCrsIdentifier(definition);
82
- if (normalized === WGS84_GEOCENTRIC_CRS) {
83
- return 'geocentric';
84
- }
85
- if (normalized === WGS84_GEOGRAPHIC_CRS || normalized === 'OGC:CRS84') {
86
- return 'geographic';
87
- }
88
- const epsgMatch = /^EPSG:(\d+)$/.exec(normalized);
89
- if (!epsgMatch) {
90
- return undefined;
91
- }
92
- const identifier = Number(epsgMatch[1]);
93
- if (identifier === 7789) {
94
- return 'geocentric';
95
- }
96
- if (identifier === 4490 || identifier === 4979) {
97
- return 'geographic';
98
- }
99
- if (
100
- identifier === 3857 ||
101
- (identifier >= 32601 && identifier <= 32660) ||
102
- (identifier >= 32701 && identifier <= 32760)
103
- ) {
104
- return 'projected';
105
- }
106
- return undefined;
107
- }
108
-
109
- /** Classifies a WKT definition using the syntax tree parsed by `@math.gl/crs`. */
110
- function getWktCoordinateFrame(definition: string): SpatialReferenceCoordinateFrame {
111
- let root: WKTCRSNode;
112
- try {
113
- root = parseWKTCRS(definition).root;
114
- } catch {
115
- return 'unknown';
116
- }
117
- switch (root.keyword.toUpperCase()) {
118
- case 'GEOCCS':
119
- return 'geocentric';
120
- case 'GEOGCS':
121
- case 'GEOGCRS':
122
- case 'GEOGRAPHICCRS':
123
- case 'GEOGRAPHIC2DCRS':
124
- case 'GEOGRAPHIC3DCRS':
125
- return 'geographic';
126
- case 'PROJCS':
127
- case 'PROJCRS':
128
- case 'PROJECTEDCRS':
129
- return 'projected';
130
- case 'GEODCRS':
131
- case 'GEODETICCRS': {
132
- const coordinateSystem = root.values.find(
133
- (value): value is WKTCRSNode =>
134
- value.type === 'node' && value.keyword.toUpperCase() === 'CS'
135
- );
136
- const subtype = coordinateSystem?.values[0];
137
- if (subtype?.type !== 'enumeration' && subtype?.type !== 'string') {
138
- return 'unknown';
139
- }
140
- return subtype.value.toUpperCase() === 'CARTESIAN'
141
- ? 'geocentric'
142
- : subtype.value.toUpperCase() === 'ELLIPSOIDAL'
143
- ? 'geographic'
144
- : 'unknown';
145
- }
146
- default:
147
- return 'unknown';
148
- }
149
- }
150
-
151
- /** Classifies a PROJ string using the syntax tree parsed by `@math.gl/crs`. */
152
- function getProjStringCoordinateFrame(definition: string): SpatialReferenceCoordinateFrame {
153
- try {
154
- const projection = parsePROJString(definition).parameters.find(
155
- parameter => parameter.name.toLowerCase() === 'proj'
156
- )?.value;
157
- switch (projection?.toLowerCase()) {
158
- case 'longlat':
159
- case 'latlong':
160
- return 'geographic';
161
- case 'geocent':
162
- return 'geocentric';
163
- default:
164
- return projection ? 'projected' : 'unknown';
165
- }
166
- } catch {
167
- return 'unknown';
168
- }
169
- }