@itwin/core-orbitgt 3.7.13 → 3.7.15

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 (614) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/core-orbitgt.d.ts +26 -26
  3. package/lib/cjs/core-orbitgt.js +58 -58
  4. package/lib/cjs/core-orbitgt.js.map +1 -1
  5. package/lib/cjs/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  6. package/lib/cjs/pointcloud/format/opc/AttributeMask.js +47 -47
  7. package/lib/cjs/pointcloud/format/opc/AttributeMask.js.map +1 -1
  8. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  9. package/lib/cjs/pointcloud/format/opc/AttributeReader.js +24 -24
  10. package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -1
  11. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  12. package/lib/cjs/pointcloud/format/opc/BlockRecord.js +84 -84
  13. package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -1
  14. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  15. package/lib/cjs/pointcloud/format/opc/ContainerFile.js +199 -199
  16. package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -1
  17. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  18. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js +75 -75
  19. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  20. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  21. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js +169 -169
  22. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  23. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  24. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js +89 -89
  25. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  26. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  27. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js +197 -197
  28. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  29. package/lib/cjs/pointcloud/format/opc/FileAccess.d.ts +39 -39
  30. package/lib/cjs/pointcloud/format/opc/FileAccess.js +48 -48
  31. package/lib/cjs/pointcloud/format/opc/FileAccess.js.map +1 -1
  32. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts +118 -118
  33. package/lib/cjs/pointcloud/format/opc/FileReader.js +248 -248
  34. package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -1
  35. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts +89 -89
  36. package/lib/cjs/pointcloud/format/opc/FileRecord.js +125 -125
  37. package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -1
  38. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  39. package/lib/cjs/pointcloud/format/opc/GeometryReader.js +163 -163
  40. package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -1
  41. package/lib/cjs/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  42. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js +107 -107
  43. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  44. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts +157 -157
  45. package/lib/cjs/pointcloud/format/opc/OPCReader.js +319 -319
  46. package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -1
  47. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts +72 -72
  48. package/lib/cjs/pointcloud/format/opc/PointReader.js +152 -152
  49. package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -1
  50. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  51. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js +92 -92
  52. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  53. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts +88 -88
  54. package/lib/cjs/pointcloud/format/opc/TileRecord.js +161 -161
  55. package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -1
  56. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts +37 -37
  57. package/lib/cjs/pointcloud/model/AttributeTypes.js +64 -64
  58. package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -1
  59. package/lib/cjs/pointcloud/model/AttributeValue.d.ts +247 -247
  60. package/lib/cjs/pointcloud/model/AttributeValue.js +508 -508
  61. package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -1
  62. package/lib/cjs/pointcloud/model/BlockIndex.d.ts +49 -49
  63. package/lib/cjs/pointcloud/model/BlockIndex.js +48 -48
  64. package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -1
  65. package/lib/cjs/pointcloud/model/CloudPoint.d.ts +210 -210
  66. package/lib/cjs/pointcloud/model/CloudPoint.js +318 -318
  67. package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -1
  68. package/lib/cjs/pointcloud/model/Grid.d.ts +91 -91
  69. package/lib/cjs/pointcloud/model/Grid.js +129 -129
  70. package/lib/cjs/pointcloud/model/Grid.js.map +1 -1
  71. package/lib/cjs/pointcloud/model/GridIndex.d.ts +66 -66
  72. package/lib/cjs/pointcloud/model/GridIndex.js +93 -93
  73. package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -1
  74. package/lib/cjs/pointcloud/model/PointAttribute.d.ts +208 -208
  75. package/lib/cjs/pointcloud/model/PointAttribute.js +374 -374
  76. package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -1
  77. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts +156 -156
  78. package/lib/cjs/pointcloud/model/PointCloudReader.js +189 -189
  79. package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -1
  80. package/lib/cjs/pointcloud/model/PointData.d.ts +17 -17
  81. package/lib/cjs/pointcloud/model/PointData.js +24 -24
  82. package/lib/cjs/pointcloud/model/PointData.js.map +1 -1
  83. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts +34 -34
  84. package/lib/cjs/pointcloud/model/PointDataRaw.js +69 -69
  85. package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -1
  86. package/lib/cjs/pointcloud/model/ReadRequest.d.ts +175 -175
  87. package/lib/cjs/pointcloud/model/ReadRequest.js +239 -239
  88. package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -1
  89. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts +40 -40
  90. package/lib/cjs/pointcloud/model/StandardAttributes.js +47 -47
  91. package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -1
  92. package/lib/cjs/pointcloud/model/TileIndex.d.ts +47 -47
  93. package/lib/cjs/pointcloud/model/TileIndex.js +47 -47
  94. package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -1
  95. package/lib/cjs/pointcloud/render/AViewRequest.d.ts +38 -38
  96. package/lib/cjs/pointcloud/render/AViewRequest.js +24 -24
  97. package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -1
  98. package/lib/cjs/pointcloud/render/Block.d.ts +67 -67
  99. package/lib/cjs/pointcloud/render/Block.js +119 -119
  100. package/lib/cjs/pointcloud/render/Block.js.map +1 -1
  101. package/lib/cjs/pointcloud/render/DataManager.d.ts +136 -136
  102. package/lib/cjs/pointcloud/render/DataManager.js +342 -342
  103. package/lib/cjs/pointcloud/render/DataManager.js.map +1 -1
  104. package/lib/cjs/pointcloud/render/FrameData.d.ts +30 -30
  105. package/lib/cjs/pointcloud/render/FrameData.js +39 -39
  106. package/lib/cjs/pointcloud/render/FrameData.js.map +1 -1
  107. package/lib/cjs/pointcloud/render/Level.d.ts +90 -90
  108. package/lib/cjs/pointcloud/render/Level.js +119 -119
  109. package/lib/cjs/pointcloud/render/Level.js.map +1 -1
  110. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts +60 -60
  111. package/lib/cjs/pointcloud/render/TileLoadSorter.js +99 -99
  112. package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -1
  113. package/lib/cjs/pointcloud/render/ViewTree.d.ts +113 -113
  114. package/lib/cjs/pointcloud/render/ViewTree.js +363 -363
  115. package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -1
  116. package/lib/cjs/spatial/crs/CRSEngine.d.ts +55 -55
  117. package/lib/cjs/spatial/crs/CRSEngine.js +93 -93
  118. package/lib/cjs/spatial/crs/CRSEngine.js.map +1 -1
  119. package/lib/cjs/spatial/crs/CRSManager.d.ts +49 -49
  120. package/lib/cjs/spatial/crs/CRSManager.js +109 -109
  121. package/lib/cjs/spatial/crs/CRSManager.js.map +1 -1
  122. package/lib/cjs/spatial/ecrs/Axis.d.ts +77 -77
  123. package/lib/cjs/spatial/ecrs/Axis.js +93 -93
  124. package/lib/cjs/spatial/ecrs/Axis.js.map +1 -1
  125. package/lib/cjs/spatial/ecrs/CRS.d.ts +447 -447
  126. package/lib/cjs/spatial/ecrs/CRS.js +930 -930
  127. package/lib/cjs/spatial/ecrs/CRS.js.map +1 -1
  128. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  129. package/lib/cjs/spatial/ecrs/CoordinateSystem.js +326 -326
  130. package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -1
  131. package/lib/cjs/spatial/ecrs/DataFileUnit.d.ts +10 -10
  132. package/lib/cjs/spatial/ecrs/DataFileUnit.js +104 -104
  133. package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -1
  134. package/lib/cjs/spatial/ecrs/Datum.d.ts +111 -111
  135. package/lib/cjs/spatial/ecrs/Datum.js +166 -166
  136. package/lib/cjs/spatial/ecrs/Datum.js.map +1 -1
  137. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts +188 -188
  138. package/lib/cjs/spatial/ecrs/Ellipsoid.js +336 -336
  139. package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -1
  140. package/lib/cjs/spatial/ecrs/OnlineEngine.d.ts +48 -48
  141. package/lib/cjs/spatial/ecrs/OnlineEngine.js +102 -102
  142. package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -1
  143. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  144. package/lib/cjs/spatial/ecrs/OnlineRegistry.js +76 -76
  145. package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -1
  146. package/lib/cjs/spatial/ecrs/Operation.d.ts +191 -191
  147. package/lib/cjs/spatial/ecrs/Operation.js +345 -345
  148. package/lib/cjs/spatial/ecrs/Operation.js.map +1 -1
  149. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts +71 -71
  150. package/lib/cjs/spatial/ecrs/OperationMethod.js +75 -75
  151. package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -1
  152. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts +49 -49
  153. package/lib/cjs/spatial/ecrs/ParameterValue.js +65 -65
  154. package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -1
  155. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts +72 -72
  156. package/lib/cjs/spatial/ecrs/ParameterValueList.js +120 -120
  157. package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -1
  158. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  159. package/lib/cjs/spatial/ecrs/PrimeMeridian.js +108 -108
  160. package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -1
  161. package/lib/cjs/spatial/ecrs/Registry.d.ts +109 -109
  162. package/lib/cjs/spatial/ecrs/Registry.js +207 -207
  163. package/lib/cjs/spatial/ecrs/Registry.js.map +1 -1
  164. package/lib/cjs/spatial/ecrs/Transform.d.ts +77 -77
  165. package/lib/cjs/spatial/ecrs/Transform.js +396 -396
  166. package/lib/cjs/spatial/ecrs/Transform.js.map +1 -1
  167. package/lib/cjs/spatial/ecrs/Unit.d.ts +170 -170
  168. package/lib/cjs/spatial/ecrs/Unit.js +336 -336
  169. package/lib/cjs/spatial/ecrs/Unit.js.map +1 -1
  170. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts +69 -69
  171. package/lib/cjs/spatial/ecrs/VerticalModel.js +88 -88
  172. package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -1
  173. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts +153 -153
  174. package/lib/cjs/spatial/ecrs/WellKnownText.js +494 -494
  175. package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -1
  176. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  177. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js +128 -128
  178. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  179. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  180. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js +162 -162
  181. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  182. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  183. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js +125 -125
  184. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  185. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  186. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +73 -73
  187. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  188. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  189. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js +129 -129
  190. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  191. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  192. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js +179 -179
  193. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  194. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  195. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js +112 -112
  196. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  197. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  198. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js +173 -173
  199. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  200. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  201. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js +208 -208
  202. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  203. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  204. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js +183 -183
  205. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  206. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  207. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js +130 -130
  208. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  209. package/lib/cjs/spatial/geom/Bounds.d.ts +33 -33
  210. package/lib/cjs/spatial/geom/Bounds.js +156 -156
  211. package/lib/cjs/spatial/geom/Bounds.js.map +1 -1
  212. package/lib/cjs/spatial/geom/Coordinate.d.ts +61 -61
  213. package/lib/cjs/spatial/geom/Coordinate.js +186 -186
  214. package/lib/cjs/spatial/geom/Coordinate.js.map +1 -1
  215. package/lib/cjs/spatial/geom/Line.d.ts +225 -225
  216. package/lib/cjs/spatial/geom/Line.js +432 -432
  217. package/lib/cjs/spatial/geom/Line.js.map +1 -1
  218. package/lib/cjs/spatial/geom/Transform.d.ts +340 -340
  219. package/lib/cjs/spatial/geom/Transform.js +748 -748
  220. package/lib/cjs/spatial/geom/Transform.js.map +1 -1
  221. package/lib/cjs/system/buffer/ABuffer.d.ts +51 -51
  222. package/lib/cjs/system/buffer/ABuffer.js +90 -90
  223. package/lib/cjs/system/buffer/ABuffer.js.map +1 -1
  224. package/lib/cjs/system/buffer/Float32Buffer.d.ts +46 -46
  225. package/lib/cjs/system/buffer/Float32Buffer.js +60 -60
  226. package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -1
  227. package/lib/cjs/system/buffer/LittleEndian.d.ts +149 -149
  228. package/lib/cjs/system/buffer/LittleEndian.js +303 -303
  229. package/lib/cjs/system/buffer/LittleEndian.js.map +1 -1
  230. package/lib/cjs/system/buffer/Uint16Buffer.d.ts +49 -49
  231. package/lib/cjs/system/buffer/Uint16Buffer.js +65 -65
  232. package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -1
  233. package/lib/cjs/system/buffer/Uint8Buffer.d.ts +49 -49
  234. package/lib/cjs/system/buffer/Uint8Buffer.js +65 -65
  235. package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -1
  236. package/lib/cjs/system/collection/AList.d.ts +30 -30
  237. package/lib/cjs/system/collection/AList.js +70 -70
  238. package/lib/cjs/system/collection/AList.js.map +1 -1
  239. package/lib/cjs/system/collection/IntMap.d.ts +18 -18
  240. package/lib/cjs/system/collection/IntMap.js +35 -35
  241. package/lib/cjs/system/collection/IntMap.js.map +1 -1
  242. package/lib/cjs/system/collection/StringMap.d.ts +26 -26
  243. package/lib/cjs/system/collection/StringMap.js +63 -63
  244. package/lib/cjs/system/collection/StringMap.js.map +1 -1
  245. package/lib/cjs/system/io/ABufferInStream.d.ts +29 -29
  246. package/lib/cjs/system/io/ABufferInStream.js +46 -46
  247. package/lib/cjs/system/io/ABufferInStream.js.map +1 -1
  248. package/lib/cjs/system/io/InStream.d.ts +23 -23
  249. package/lib/cjs/system/io/InStream.js +34 -34
  250. package/lib/cjs/system/io/InStream.js.map +1 -1
  251. package/lib/cjs/system/io/OutStream.d.ts +23 -23
  252. package/lib/cjs/system/io/OutStream.js +33 -33
  253. package/lib/cjs/system/io/OutStream.js.map +1 -1
  254. package/lib/cjs/system/runtime/ALong.d.ts +329 -329
  255. package/lib/cjs/system/runtime/ALong.js +687 -687
  256. package/lib/cjs/system/runtime/ALong.js.map +1 -1
  257. package/lib/cjs/system/runtime/ASystem.d.ts +14 -14
  258. package/lib/cjs/system/runtime/ASystem.js +31 -31
  259. package/lib/cjs/system/runtime/ASystem.js.map +1 -1
  260. package/lib/cjs/system/runtime/Downloader.d.ts +17 -17
  261. package/lib/cjs/system/runtime/Downloader.js +38 -38
  262. package/lib/cjs/system/runtime/Downloader.js.map +1 -1
  263. package/lib/cjs/system/runtime/DownloaderNode.d.ts +18 -18
  264. package/lib/cjs/system/runtime/DownloaderNode.js +129 -129
  265. package/lib/cjs/system/runtime/DownloaderNode.js.map +1 -1
  266. package/lib/cjs/system/runtime/DownloaderXhr.d.ts +18 -18
  267. package/lib/cjs/system/runtime/DownloaderXhr.js +131 -131
  268. package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -1
  269. package/lib/cjs/system/runtime/Message.d.ts +16 -16
  270. package/lib/cjs/system/runtime/Message.js +39 -39
  271. package/lib/cjs/system/runtime/Message.js.map +1 -1
  272. package/lib/cjs/system/runtime/Numbers.d.ts +34 -34
  273. package/lib/cjs/system/runtime/Numbers.js +87 -87
  274. package/lib/cjs/system/runtime/Numbers.js.map +1 -1
  275. package/lib/cjs/system/runtime/Strings.d.ts +49 -49
  276. package/lib/cjs/system/runtime/Strings.js +188 -188
  277. package/lib/cjs/system/runtime/Strings.js.map +1 -1
  278. package/lib/cjs/system/runtime/iComparator.d.ts +12 -12
  279. package/lib/cjs/system/runtime/iComparator.js +9 -9
  280. package/lib/cjs/system/runtime/iComparator.js.map +1 -1
  281. package/lib/cjs/system/storage/CacheList.d.ts +39 -39
  282. package/lib/cjs/system/storage/CacheList.js +80 -80
  283. package/lib/cjs/system/storage/CacheList.js.map +1 -1
  284. package/lib/cjs/system/storage/CachedItem.d.ts +21 -21
  285. package/lib/cjs/system/storage/CachedItem.js +25 -25
  286. package/lib/cjs/system/storage/CachedItem.js.map +1 -1
  287. package/lib/cjs/system/storage/ContentLoader.d.ts +64 -64
  288. package/lib/cjs/system/storage/ContentLoader.js +95 -95
  289. package/lib/cjs/system/storage/ContentLoader.js.map +1 -1
  290. package/lib/cjs/system/storage/FileContent.d.ts +19 -19
  291. package/lib/cjs/system/storage/FileContent.js +24 -24
  292. package/lib/cjs/system/storage/FileContent.js.map +1 -1
  293. package/lib/cjs/system/storage/FileRange.d.ts +20 -20
  294. package/lib/cjs/system/storage/FileRange.js +24 -24
  295. package/lib/cjs/system/storage/FileRange.js.map +1 -1
  296. package/lib/cjs/system/storage/FileStorage.d.ts +44 -44
  297. package/lib/cjs/system/storage/FileStorage.js +62 -62
  298. package/lib/cjs/system/storage/FileStorage.js.map +1 -1
  299. package/lib/cjs/system/storage/NodeFS.d.ts +41 -41
  300. package/lib/cjs/system/storage/NodeFS.js +79 -79
  301. package/lib/cjs/system/storage/NodeFS.js.map +1 -1
  302. package/lib/cjs/system/storage/PageCachedFile.d.ts +54 -54
  303. package/lib/cjs/system/storage/PageCachedFile.js +165 -165
  304. package/lib/cjs/system/storage/PageCachedFile.js.map +1 -1
  305. package/lib/cjs/system/storage/UrlFS.d.ts +53 -53
  306. package/lib/cjs/system/storage/UrlFS.js +114 -114
  307. package/lib/cjs/system/storage/UrlFS.js.map +1 -1
  308. package/lib/esm/core-orbitgt.d.ts +26 -26
  309. package/lib/esm/core-orbitgt.js +31 -31
  310. package/lib/esm/core-orbitgt.js.map +1 -1
  311. package/lib/esm/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  312. package/lib/esm/pointcloud/format/opc/AttributeMask.js +43 -43
  313. package/lib/esm/pointcloud/format/opc/AttributeMask.js.map +1 -1
  314. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  315. package/lib/esm/pointcloud/format/opc/AttributeReader.js +20 -20
  316. package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -1
  317. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  318. package/lib/esm/pointcloud/format/opc/BlockRecord.js +80 -80
  319. package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -1
  320. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  321. package/lib/esm/pointcloud/format/opc/ContainerFile.js +195 -195
  322. package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -1
  323. package/lib/esm/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  324. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js +71 -71
  325. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  326. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  327. package/lib/esm/pointcloud/format/opc/DirectoryReader.js +165 -165
  328. package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  329. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  330. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js +85 -85
  331. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  332. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  333. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js +193 -193
  334. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  335. package/lib/esm/pointcloud/format/opc/FileAccess.d.ts +39 -39
  336. package/lib/esm/pointcloud/format/opc/FileAccess.js +44 -44
  337. package/lib/esm/pointcloud/format/opc/FileAccess.js.map +1 -1
  338. package/lib/esm/pointcloud/format/opc/FileReader.d.ts +118 -118
  339. package/lib/esm/pointcloud/format/opc/FileReader.js +244 -244
  340. package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -1
  341. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts +89 -89
  342. package/lib/esm/pointcloud/format/opc/FileRecord.js +121 -121
  343. package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -1
  344. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  345. package/lib/esm/pointcloud/format/opc/GeometryReader.js +159 -159
  346. package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -1
  347. package/lib/esm/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  348. package/lib/esm/pointcloud/format/opc/GeometryRecord.js +103 -103
  349. package/lib/esm/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  350. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts +157 -157
  351. package/lib/esm/pointcloud/format/opc/OPCReader.js +315 -315
  352. package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -1
  353. package/lib/esm/pointcloud/format/opc/PointReader.d.ts +72 -72
  354. package/lib/esm/pointcloud/format/opc/PointReader.js +148 -148
  355. package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -1
  356. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  357. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js +88 -88
  358. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  359. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts +88 -88
  360. package/lib/esm/pointcloud/format/opc/TileRecord.js +157 -157
  361. package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -1
  362. package/lib/esm/pointcloud/model/AttributeTypes.d.ts +37 -37
  363. package/lib/esm/pointcloud/model/AttributeTypes.js +60 -60
  364. package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -1
  365. package/lib/esm/pointcloud/model/AttributeValue.d.ts +247 -247
  366. package/lib/esm/pointcloud/model/AttributeValue.js +504 -504
  367. package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -1
  368. package/lib/esm/pointcloud/model/BlockIndex.d.ts +49 -49
  369. package/lib/esm/pointcloud/model/BlockIndex.js +44 -44
  370. package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -1
  371. package/lib/esm/pointcloud/model/CloudPoint.d.ts +210 -210
  372. package/lib/esm/pointcloud/model/CloudPoint.js +314 -314
  373. package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -1
  374. package/lib/esm/pointcloud/model/Grid.d.ts +91 -91
  375. package/lib/esm/pointcloud/model/Grid.js +125 -125
  376. package/lib/esm/pointcloud/model/Grid.js.map +1 -1
  377. package/lib/esm/pointcloud/model/GridIndex.d.ts +66 -66
  378. package/lib/esm/pointcloud/model/GridIndex.js +89 -89
  379. package/lib/esm/pointcloud/model/GridIndex.js.map +1 -1
  380. package/lib/esm/pointcloud/model/PointAttribute.d.ts +208 -208
  381. package/lib/esm/pointcloud/model/PointAttribute.js +370 -370
  382. package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -1
  383. package/lib/esm/pointcloud/model/PointCloudReader.d.ts +156 -156
  384. package/lib/esm/pointcloud/model/PointCloudReader.js +185 -185
  385. package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -1
  386. package/lib/esm/pointcloud/model/PointData.d.ts +17 -17
  387. package/lib/esm/pointcloud/model/PointData.js +20 -20
  388. package/lib/esm/pointcloud/model/PointData.js.map +1 -1
  389. package/lib/esm/pointcloud/model/PointDataRaw.d.ts +34 -34
  390. package/lib/esm/pointcloud/model/PointDataRaw.js +65 -65
  391. package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -1
  392. package/lib/esm/pointcloud/model/ReadRequest.d.ts +175 -175
  393. package/lib/esm/pointcloud/model/ReadRequest.js +235 -235
  394. package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -1
  395. package/lib/esm/pointcloud/model/StandardAttributes.d.ts +40 -40
  396. package/lib/esm/pointcloud/model/StandardAttributes.js +43 -43
  397. package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -1
  398. package/lib/esm/pointcloud/model/TileIndex.d.ts +47 -47
  399. package/lib/esm/pointcloud/model/TileIndex.js +43 -43
  400. package/lib/esm/pointcloud/model/TileIndex.js.map +1 -1
  401. package/lib/esm/pointcloud/render/AViewRequest.d.ts +38 -38
  402. package/lib/esm/pointcloud/render/AViewRequest.js +20 -20
  403. package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -1
  404. package/lib/esm/pointcloud/render/Block.d.ts +67 -67
  405. package/lib/esm/pointcloud/render/Block.js +115 -115
  406. package/lib/esm/pointcloud/render/Block.js.map +1 -1
  407. package/lib/esm/pointcloud/render/DataManager.d.ts +136 -136
  408. package/lib/esm/pointcloud/render/DataManager.js +338 -338
  409. package/lib/esm/pointcloud/render/DataManager.js.map +1 -1
  410. package/lib/esm/pointcloud/render/FrameData.d.ts +30 -30
  411. package/lib/esm/pointcloud/render/FrameData.js +35 -35
  412. package/lib/esm/pointcloud/render/FrameData.js.map +1 -1
  413. package/lib/esm/pointcloud/render/Level.d.ts +90 -90
  414. package/lib/esm/pointcloud/render/Level.js +115 -115
  415. package/lib/esm/pointcloud/render/Level.js.map +1 -1
  416. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts +60 -60
  417. package/lib/esm/pointcloud/render/TileLoadSorter.js +95 -95
  418. package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -1
  419. package/lib/esm/pointcloud/render/ViewTree.d.ts +113 -113
  420. package/lib/esm/pointcloud/render/ViewTree.js +359 -359
  421. package/lib/esm/pointcloud/render/ViewTree.js.map +1 -1
  422. package/lib/esm/spatial/crs/CRSEngine.d.ts +55 -55
  423. package/lib/esm/spatial/crs/CRSEngine.js +89 -89
  424. package/lib/esm/spatial/crs/CRSEngine.js.map +1 -1
  425. package/lib/esm/spatial/crs/CRSManager.d.ts +49 -49
  426. package/lib/esm/spatial/crs/CRSManager.js +105 -105
  427. package/lib/esm/spatial/crs/CRSManager.js.map +1 -1
  428. package/lib/esm/spatial/ecrs/Axis.d.ts +77 -77
  429. package/lib/esm/spatial/ecrs/Axis.js +89 -89
  430. package/lib/esm/spatial/ecrs/Axis.js.map +1 -1
  431. package/lib/esm/spatial/ecrs/CRS.d.ts +447 -447
  432. package/lib/esm/spatial/ecrs/CRS.js +926 -926
  433. package/lib/esm/spatial/ecrs/CRS.js.map +1 -1
  434. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  435. package/lib/esm/spatial/ecrs/CoordinateSystem.js +322 -322
  436. package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -1
  437. package/lib/esm/spatial/ecrs/DataFileUnit.d.ts +10 -10
  438. package/lib/esm/spatial/ecrs/DataFileUnit.js +100 -100
  439. package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -1
  440. package/lib/esm/spatial/ecrs/Datum.d.ts +111 -111
  441. package/lib/esm/spatial/ecrs/Datum.js +162 -162
  442. package/lib/esm/spatial/ecrs/Datum.js.map +1 -1
  443. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts +188 -188
  444. package/lib/esm/spatial/ecrs/Ellipsoid.js +332 -332
  445. package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -1
  446. package/lib/esm/spatial/ecrs/OnlineEngine.d.ts +48 -48
  447. package/lib/esm/spatial/ecrs/OnlineEngine.js +98 -98
  448. package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -1
  449. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  450. package/lib/esm/spatial/ecrs/OnlineRegistry.js +72 -72
  451. package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -1
  452. package/lib/esm/spatial/ecrs/Operation.d.ts +191 -191
  453. package/lib/esm/spatial/ecrs/Operation.js +341 -341
  454. package/lib/esm/spatial/ecrs/Operation.js.map +1 -1
  455. package/lib/esm/spatial/ecrs/OperationMethod.d.ts +71 -71
  456. package/lib/esm/spatial/ecrs/OperationMethod.js +71 -71
  457. package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -1
  458. package/lib/esm/spatial/ecrs/ParameterValue.d.ts +49 -49
  459. package/lib/esm/spatial/ecrs/ParameterValue.js +61 -61
  460. package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -1
  461. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts +72 -72
  462. package/lib/esm/spatial/ecrs/ParameterValueList.js +116 -116
  463. package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -1
  464. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  465. package/lib/esm/spatial/ecrs/PrimeMeridian.js +104 -104
  466. package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -1
  467. package/lib/esm/spatial/ecrs/Registry.d.ts +109 -109
  468. package/lib/esm/spatial/ecrs/Registry.js +203 -203
  469. package/lib/esm/spatial/ecrs/Registry.js.map +1 -1
  470. package/lib/esm/spatial/ecrs/Transform.d.ts +77 -77
  471. package/lib/esm/spatial/ecrs/Transform.js +392 -392
  472. package/lib/esm/spatial/ecrs/Transform.js.map +1 -1
  473. package/lib/esm/spatial/ecrs/Unit.d.ts +170 -170
  474. package/lib/esm/spatial/ecrs/Unit.js +332 -332
  475. package/lib/esm/spatial/ecrs/Unit.js.map +1 -1
  476. package/lib/esm/spatial/ecrs/VerticalModel.d.ts +69 -69
  477. package/lib/esm/spatial/ecrs/VerticalModel.js +84 -84
  478. package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -1
  479. package/lib/esm/spatial/ecrs/WellKnownText.d.ts +153 -153
  480. package/lib/esm/spatial/ecrs/WellKnownText.js +490 -490
  481. package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -1
  482. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  483. package/lib/esm/spatial/ecrs/WellKnownTextNode.js +124 -124
  484. package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  485. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  486. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +158 -158
  487. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  488. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  489. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js +121 -121
  490. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  491. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  492. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +69 -69
  493. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  494. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  495. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js +125 -125
  496. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  497. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  498. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js +175 -175
  499. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  500. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  501. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js +108 -108
  502. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  503. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  504. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js +169 -169
  505. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  506. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  507. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js +204 -204
  508. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  509. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  510. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js +179 -179
  511. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  512. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  513. package/lib/esm/spatial/ecrs/transformation/PositionVector.js +126 -126
  514. package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  515. package/lib/esm/spatial/geom/Bounds.d.ts +33 -33
  516. package/lib/esm/spatial/geom/Bounds.js +152 -152
  517. package/lib/esm/spatial/geom/Bounds.js.map +1 -1
  518. package/lib/esm/spatial/geom/Coordinate.d.ts +61 -61
  519. package/lib/esm/spatial/geom/Coordinate.js +182 -182
  520. package/lib/esm/spatial/geom/Coordinate.js.map +1 -1
  521. package/lib/esm/spatial/geom/Line.d.ts +225 -225
  522. package/lib/esm/spatial/geom/Line.js +428 -428
  523. package/lib/esm/spatial/geom/Line.js.map +1 -1
  524. package/lib/esm/spatial/geom/Transform.d.ts +340 -340
  525. package/lib/esm/spatial/geom/Transform.js +744 -744
  526. package/lib/esm/spatial/geom/Transform.js.map +1 -1
  527. package/lib/esm/system/buffer/ABuffer.d.ts +51 -51
  528. package/lib/esm/system/buffer/ABuffer.js +86 -86
  529. package/lib/esm/system/buffer/ABuffer.js.map +1 -1
  530. package/lib/esm/system/buffer/Float32Buffer.d.ts +46 -46
  531. package/lib/esm/system/buffer/Float32Buffer.js +56 -56
  532. package/lib/esm/system/buffer/Float32Buffer.js.map +1 -1
  533. package/lib/esm/system/buffer/LittleEndian.d.ts +149 -149
  534. package/lib/esm/system/buffer/LittleEndian.js +299 -299
  535. package/lib/esm/system/buffer/LittleEndian.js.map +1 -1
  536. package/lib/esm/system/buffer/Uint16Buffer.d.ts +49 -49
  537. package/lib/esm/system/buffer/Uint16Buffer.js +61 -61
  538. package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -1
  539. package/lib/esm/system/buffer/Uint8Buffer.d.ts +49 -49
  540. package/lib/esm/system/buffer/Uint8Buffer.js +61 -61
  541. package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -1
  542. package/lib/esm/system/collection/AList.d.ts +30 -30
  543. package/lib/esm/system/collection/AList.js +66 -66
  544. package/lib/esm/system/collection/AList.js.map +1 -1
  545. package/lib/esm/system/collection/IntMap.d.ts +18 -18
  546. package/lib/esm/system/collection/IntMap.js +31 -31
  547. package/lib/esm/system/collection/IntMap.js.map +1 -1
  548. package/lib/esm/system/collection/StringMap.d.ts +26 -26
  549. package/lib/esm/system/collection/StringMap.js +59 -59
  550. package/lib/esm/system/collection/StringMap.js.map +1 -1
  551. package/lib/esm/system/io/ABufferInStream.d.ts +29 -29
  552. package/lib/esm/system/io/ABufferInStream.js +42 -42
  553. package/lib/esm/system/io/ABufferInStream.js.map +1 -1
  554. package/lib/esm/system/io/InStream.d.ts +23 -23
  555. package/lib/esm/system/io/InStream.js +30 -30
  556. package/lib/esm/system/io/InStream.js.map +1 -1
  557. package/lib/esm/system/io/OutStream.d.ts +23 -23
  558. package/lib/esm/system/io/OutStream.js +29 -29
  559. package/lib/esm/system/io/OutStream.js.map +1 -1
  560. package/lib/esm/system/runtime/ALong.d.ts +329 -329
  561. package/lib/esm/system/runtime/ALong.js +683 -683
  562. package/lib/esm/system/runtime/ALong.js.map +1 -1
  563. package/lib/esm/system/runtime/ASystem.d.ts +14 -14
  564. package/lib/esm/system/runtime/ASystem.js +27 -27
  565. package/lib/esm/system/runtime/ASystem.js.map +1 -1
  566. package/lib/esm/system/runtime/Downloader.d.ts +17 -17
  567. package/lib/esm/system/runtime/Downloader.js +34 -34
  568. package/lib/esm/system/runtime/Downloader.js.map +1 -1
  569. package/lib/esm/system/runtime/DownloaderNode.d.ts +18 -18
  570. package/lib/esm/system/runtime/DownloaderNode.js +125 -125
  571. package/lib/esm/system/runtime/DownloaderNode.js.map +1 -1
  572. package/lib/esm/system/runtime/DownloaderXhr.d.ts +18 -18
  573. package/lib/esm/system/runtime/DownloaderXhr.js +127 -127
  574. package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -1
  575. package/lib/esm/system/runtime/Message.d.ts +16 -16
  576. package/lib/esm/system/runtime/Message.js +35 -35
  577. package/lib/esm/system/runtime/Message.js.map +1 -1
  578. package/lib/esm/system/runtime/Numbers.d.ts +34 -34
  579. package/lib/esm/system/runtime/Numbers.js +83 -83
  580. package/lib/esm/system/runtime/Numbers.js.map +1 -1
  581. package/lib/esm/system/runtime/Strings.d.ts +49 -49
  582. package/lib/esm/system/runtime/Strings.js +184 -184
  583. package/lib/esm/system/runtime/Strings.js.map +1 -1
  584. package/lib/esm/system/runtime/iComparator.d.ts +12 -12
  585. package/lib/esm/system/runtime/iComparator.js +8 -8
  586. package/lib/esm/system/runtime/iComparator.js.map +1 -1
  587. package/lib/esm/system/storage/CacheList.d.ts +39 -39
  588. package/lib/esm/system/storage/CacheList.js +76 -76
  589. package/lib/esm/system/storage/CacheList.js.map +1 -1
  590. package/lib/esm/system/storage/CachedItem.d.ts +21 -21
  591. package/lib/esm/system/storage/CachedItem.js +21 -21
  592. package/lib/esm/system/storage/CachedItem.js.map +1 -1
  593. package/lib/esm/system/storage/ContentLoader.d.ts +64 -64
  594. package/lib/esm/system/storage/ContentLoader.js +91 -91
  595. package/lib/esm/system/storage/ContentLoader.js.map +1 -1
  596. package/lib/esm/system/storage/FileContent.d.ts +19 -19
  597. package/lib/esm/system/storage/FileContent.js +20 -20
  598. package/lib/esm/system/storage/FileContent.js.map +1 -1
  599. package/lib/esm/system/storage/FileRange.d.ts +20 -20
  600. package/lib/esm/system/storage/FileRange.js +20 -20
  601. package/lib/esm/system/storage/FileRange.js.map +1 -1
  602. package/lib/esm/system/storage/FileStorage.d.ts +44 -44
  603. package/lib/esm/system/storage/FileStorage.js +58 -58
  604. package/lib/esm/system/storage/FileStorage.js.map +1 -1
  605. package/lib/esm/system/storage/NodeFS.d.ts +41 -41
  606. package/lib/esm/system/storage/NodeFS.js +75 -75
  607. package/lib/esm/system/storage/NodeFS.js.map +1 -1
  608. package/lib/esm/system/storage/PageCachedFile.d.ts +54 -54
  609. package/lib/esm/system/storage/PageCachedFile.js +161 -161
  610. package/lib/esm/system/storage/PageCachedFile.js.map +1 -1
  611. package/lib/esm/system/storage/UrlFS.d.ts +53 -53
  612. package/lib/esm/system/storage/UrlFS.js +110 -110
  613. package/lib/esm/system/storage/UrlFS.js.map +1 -1
  614. package/package.json +5 -5
@@ -1,184 +1,184 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module OrbitGT
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.TransverseMercator = void 0;
11
- const OperationMethod_1 = require("../OperationMethod");
12
- /**
13
- * Class TransverseMercator defines a Transverse Mercator projection.
14
- *
15
- * The 'source' CRS is the geographic CRS.
16
- * The 'target' CRS is the projected CRS.
17
- *
18
- * Based on the following document:
19
- *
20
- * Coordinate Conversions and Transformations including Formulas
21
- * Guidance Note Number 7, part 2
22
- * Revised August 2006
23
- * Available at: http://www.epsg.org/
24
- *
25
- * Formulas: see 1.4.5.1: General Case
26
- *
27
- * @version 1.0 January 2007
28
- */
29
- /** @internal */
30
- class TransverseMercator extends OperationMethod_1.OperationMethod {
31
- /**
32
- * Create a new projection.
33
- * @param parameters the values of the parameters.
34
- */
35
- constructor(parameters) {
36
- super(TransverseMercator.METHOD_CODE, "Transverse Mercator", parameters);
37
- /* Store the parameters */
38
- this._latN = parameters.getValue(8801);
39
- this._lonN = parameters.getValue(8802);
40
- this._k0 = parameters.getValue(8805);
41
- this._fE = parameters.getValue(8806);
42
- this._fN = parameters.getValue(8807);
43
- }
44
- /**
45
- * Get the power of a number (must be able to handle negative 'n' values).
46
- */
47
- static pow(n, e) {
48
- let p = 1.0;
49
- for (let i = 0; i < e; i++)
50
- p *= n;
51
- return p;
52
- }
53
- /**
54
- * Calculate M.
55
- */
56
- calcM(lat) {
57
- const M = lat * (1.0 - this._e2 / 4 - 3 * this._e4 / 64 - 5 * this._e6 / 256) - Math.sin(2.0 * lat) * (3 * this._e2 / 8 + 3 * this._e4 / 32 + 45 * this._e6 / 1024) + Math.sin(4.0 * lat) * (15 * this._e4 / 256 + 45 * this._e6 / 1024) - Math.sin(6.0 * lat) * (35 * this._e6 / 3072);
58
- return this._a * M;
59
- }
60
- /**
61
- * Initialize the projection.
62
- * @param ellipsoid the ellipsoid to use.
63
- * @return this projection (for convenience).
64
- */
65
- initializeProjection(ellipsoid) {
66
- /* Prepare the forward parameters */
67
- this._a = ellipsoid.getA();
68
- this._e = ellipsoid.getE();
69
- this._e2 = this._e * this._e;
70
- this._e4 = this._e2 * this._e2;
71
- this._e6 = this._e2 * this._e4;
72
- this._e_2 = this._e2 / (1.0 - this._e2);
73
- this._m0 = this.calcM(this._latN);
74
- /* Prepare the reverse parameters */
75
- const temp = Math.sqrt(1 - this._e2);
76
- this._e1 = (1.0 - temp) / (1.0 + temp);
77
- const e1_2 = this._e1 * this._e1;
78
- const e1_3 = this._e1 * e1_2;
79
- const e1_4 = e1_2 * e1_2;
80
- this._R1 = (3 * this._e1 / 2 - 27 * e1_3 / 32);
81
- this._R2 = (21 * e1_2 / 16 - 55 * e1_4 / 32);
82
- this._R3 = (151 * e1_3 / 96);
83
- this._R4 = (1097 * e1_4 / 512);
84
- /* Return the projection */
85
- return this;
86
- }
87
- /**
88
- * Do the projection.
89
- * @param lon the longitude (radians).
90
- * @param lat the latitude (radians).
91
- * @param projected the target projected coordinate (X and Y will be set).
92
- */
93
- toProjection(lon, lat, projected) {
94
- /* Calculate parameters */
95
- const tan = Math.tan(lat);
96
- const T = tan * tan;
97
- const cos = Math.cos(lat);
98
- const C = this._e2 * cos * cos / (1.0 - this._e2);
99
- const A = (lon - this._lonN) * cos;
100
- const eSin = this._e * Math.sin(lat);
101
- const v = this._a / Math.sqrt(1.0 - eSin * eSin);
102
- const m = this.calcM(lat);
103
- /* Make the calculation */
104
- const temp1 = A + (1.0 - T + C) * TransverseMercator.pow(A, 3) / 6 + (5 - 18 * T + T * T + 72 * C - 58 * this._e_2) * TransverseMercator.pow(A, 5) / 120.0;
105
- const E = this._fE + this._k0 * v * (temp1);
106
- const temp2 = m - this._m0 + v * tan * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * TransverseMercator.pow(A, 4) / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * this._e_2) * TransverseMercator.pow(A, 6) / 720.0);
107
- const N = this._fN + this._k0 * (temp2);
108
- /* Save the position */
109
- projected.setX(E);
110
- projected.setY(N);
111
- }
112
- /**
113
- * Do the inverse projection.
114
- * @param x the easting.
115
- * @param y the northing.
116
- * @param geographic the target geographic coordinate (X/Lon and Y/Lat will be set) (radians).
117
- */
118
- toGeoGraphic(x, y, geographic) {
119
- /* Get the parameters */
120
- const E = x;
121
- const N = y;
122
- /* Calculate parameters */
123
- const m1 = this._m0 + (N - this._fN) / this._k0;
124
- const u1 = m1 / (this._a * (1.0 - this._e2 / 4 - 3 * this._e4 / 64 - 5 * this._e6 / 256));
125
- const lat1 = u1 + this._R1 * Math.sin(2 * u1) + this._R2 * Math.sin(4 * u1) + this._R3 * Math.sin(6 * u1) + this._R4 * Math.sin(8 * u1);
126
- const eSin1 = this._e * Math.sin(lat1);
127
- const temp = Math.sqrt(1.0 - eSin1 * eSin1);
128
- const v1 = this._a / temp;
129
- const rho1 = this._a * (1.0 - this._e2) / TransverseMercator.pow(temp, 3);
130
- const tan = Math.tan(lat1);
131
- const T1 = tan * tan;
132
- const T1_2 = T1 * T1;
133
- const cos = Math.cos(lat1);
134
- const C1 = this._e_2 * cos * cos;
135
- const C1_2 = C1 * C1;
136
- const D = (E - this._fE) / (v1 * this._k0);
137
- const D_2 = D * D;
138
- /* Make the calculation */
139
- const temp1 = D_2 / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1_2 - 9 * this._e_2) * TransverseMercator.pow(D, 4) / 24.0 + (61 + 90 * T1 + 298 * C1 + 45 * T1_2 - 252 * this._e_2 - 3 * C1_2) * TransverseMercator.pow(D, 6) / 720.0;
140
- const lat = lat1 - (v1 * tan / rho1) * (temp1);
141
- const temp2 = D - (1 + 2 * T1 + C1) * TransverseMercator.pow(D, 3) / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1_2 + 8 * this._e_2 + 24 * T1_2) * TransverseMercator.pow(D, 5) / 120;
142
- const lon = this._lonN + (temp2) / cos;
143
- /* Save the position */
144
- geographic.setX(lon);
145
- geographic.setY(lat);
146
- }
147
- /**
148
- * OperationMethod method.
149
- * @see OperationMethod#initialize
150
- */
151
- initialize(operation) {
152
- this.initializeProjection(operation.getSourceCRS().getEllipsoid()); // should this use getTargetCRS? (while testing OSTN15 RoI)
153
- }
154
- /**
155
- * OperationMethod interface method.
156
- * @see OperationMethod#forward
157
- */
158
- forward(sourceCRS, source, targetCRS, target) {
159
- /* Get the parameters */
160
- const lon = source.getX();
161
- const lat = source.getY();
162
- /* Do the projection */
163
- this.toProjection(lon, lat, target);
164
- target.setZ(source.getZ()); // Copy the Z value
165
- }
166
- /**
167
- * OperationMethod interface method.
168
- * @see OperationMethod#reverse
169
- */
170
- reverse(sourceCRS, source, targetCRS, target) {
171
- /* Get the parameters */
172
- const E = target.getX();
173
- const N = target.getY();
174
- /* Do the inverse projection */
175
- this.toGeoGraphic(E, N, source);
176
- source.setZ(target.getZ()); // Copy the Z value
177
- }
178
- }
179
- exports.TransverseMercator = TransverseMercator;
180
- /** The code of this method */
181
- TransverseMercator.METHOD_CODE = 9807;
182
- /** The value of PI */
183
- TransverseMercator.PI = Math.PI;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module OrbitGT
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.TransverseMercator = void 0;
11
+ const OperationMethod_1 = require("../OperationMethod");
12
+ /**
13
+ * Class TransverseMercator defines a Transverse Mercator projection.
14
+ *
15
+ * The 'source' CRS is the geographic CRS.
16
+ * The 'target' CRS is the projected CRS.
17
+ *
18
+ * Based on the following document:
19
+ *
20
+ * Coordinate Conversions and Transformations including Formulas
21
+ * Guidance Note Number 7, part 2
22
+ * Revised August 2006
23
+ * Available at: http://www.epsg.org/
24
+ *
25
+ * Formulas: see 1.4.5.1: General Case
26
+ *
27
+ * @version 1.0 January 2007
28
+ */
29
+ /** @internal */
30
+ class TransverseMercator extends OperationMethod_1.OperationMethod {
31
+ /**
32
+ * Create a new projection.
33
+ * @param parameters the values of the parameters.
34
+ */
35
+ constructor(parameters) {
36
+ super(TransverseMercator.METHOD_CODE, "Transverse Mercator", parameters);
37
+ /* Store the parameters */
38
+ this._latN = parameters.getValue(8801);
39
+ this._lonN = parameters.getValue(8802);
40
+ this._k0 = parameters.getValue(8805);
41
+ this._fE = parameters.getValue(8806);
42
+ this._fN = parameters.getValue(8807);
43
+ }
44
+ /**
45
+ * Get the power of a number (must be able to handle negative 'n' values).
46
+ */
47
+ static pow(n, e) {
48
+ let p = 1.0;
49
+ for (let i = 0; i < e; i++)
50
+ p *= n;
51
+ return p;
52
+ }
53
+ /**
54
+ * Calculate M.
55
+ */
56
+ calcM(lat) {
57
+ const M = lat * (1.0 - this._e2 / 4 - 3 * this._e4 / 64 - 5 * this._e6 / 256) - Math.sin(2.0 * lat) * (3 * this._e2 / 8 + 3 * this._e4 / 32 + 45 * this._e6 / 1024) + Math.sin(4.0 * lat) * (15 * this._e4 / 256 + 45 * this._e6 / 1024) - Math.sin(6.0 * lat) * (35 * this._e6 / 3072);
58
+ return this._a * M;
59
+ }
60
+ /**
61
+ * Initialize the projection.
62
+ * @param ellipsoid the ellipsoid to use.
63
+ * @return this projection (for convenience).
64
+ */
65
+ initializeProjection(ellipsoid) {
66
+ /* Prepare the forward parameters */
67
+ this._a = ellipsoid.getA();
68
+ this._e = ellipsoid.getE();
69
+ this._e2 = this._e * this._e;
70
+ this._e4 = this._e2 * this._e2;
71
+ this._e6 = this._e2 * this._e4;
72
+ this._e_2 = this._e2 / (1.0 - this._e2);
73
+ this._m0 = this.calcM(this._latN);
74
+ /* Prepare the reverse parameters */
75
+ const temp = Math.sqrt(1 - this._e2);
76
+ this._e1 = (1.0 - temp) / (1.0 + temp);
77
+ const e1_2 = this._e1 * this._e1;
78
+ const e1_3 = this._e1 * e1_2;
79
+ const e1_4 = e1_2 * e1_2;
80
+ this._R1 = (3 * this._e1 / 2 - 27 * e1_3 / 32);
81
+ this._R2 = (21 * e1_2 / 16 - 55 * e1_4 / 32);
82
+ this._R3 = (151 * e1_3 / 96);
83
+ this._R4 = (1097 * e1_4 / 512);
84
+ /* Return the projection */
85
+ return this;
86
+ }
87
+ /**
88
+ * Do the projection.
89
+ * @param lon the longitude (radians).
90
+ * @param lat the latitude (radians).
91
+ * @param projected the target projected coordinate (X and Y will be set).
92
+ */
93
+ toProjection(lon, lat, projected) {
94
+ /* Calculate parameters */
95
+ const tan = Math.tan(lat);
96
+ const T = tan * tan;
97
+ const cos = Math.cos(lat);
98
+ const C = this._e2 * cos * cos / (1.0 - this._e2);
99
+ const A = (lon - this._lonN) * cos;
100
+ const eSin = this._e * Math.sin(lat);
101
+ const v = this._a / Math.sqrt(1.0 - eSin * eSin);
102
+ const m = this.calcM(lat);
103
+ /* Make the calculation */
104
+ const temp1 = A + (1.0 - T + C) * TransverseMercator.pow(A, 3) / 6 + (5 - 18 * T + T * T + 72 * C - 58 * this._e_2) * TransverseMercator.pow(A, 5) / 120.0;
105
+ const E = this._fE + this._k0 * v * (temp1);
106
+ const temp2 = m - this._m0 + v * tan * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * TransverseMercator.pow(A, 4) / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * this._e_2) * TransverseMercator.pow(A, 6) / 720.0);
107
+ const N = this._fN + this._k0 * (temp2);
108
+ /* Save the position */
109
+ projected.setX(E);
110
+ projected.setY(N);
111
+ }
112
+ /**
113
+ * Do the inverse projection.
114
+ * @param x the easting.
115
+ * @param y the northing.
116
+ * @param geographic the target geographic coordinate (X/Lon and Y/Lat will be set) (radians).
117
+ */
118
+ toGeoGraphic(x, y, geographic) {
119
+ /* Get the parameters */
120
+ const E = x;
121
+ const N = y;
122
+ /* Calculate parameters */
123
+ const m1 = this._m0 + (N - this._fN) / this._k0;
124
+ const u1 = m1 / (this._a * (1.0 - this._e2 / 4 - 3 * this._e4 / 64 - 5 * this._e6 / 256));
125
+ const lat1 = u1 + this._R1 * Math.sin(2 * u1) + this._R2 * Math.sin(4 * u1) + this._R3 * Math.sin(6 * u1) + this._R4 * Math.sin(8 * u1);
126
+ const eSin1 = this._e * Math.sin(lat1);
127
+ const temp = Math.sqrt(1.0 - eSin1 * eSin1);
128
+ const v1 = this._a / temp;
129
+ const rho1 = this._a * (1.0 - this._e2) / TransverseMercator.pow(temp, 3);
130
+ const tan = Math.tan(lat1);
131
+ const T1 = tan * tan;
132
+ const T1_2 = T1 * T1;
133
+ const cos = Math.cos(lat1);
134
+ const C1 = this._e_2 * cos * cos;
135
+ const C1_2 = C1 * C1;
136
+ const D = (E - this._fE) / (v1 * this._k0);
137
+ const D_2 = D * D;
138
+ /* Make the calculation */
139
+ const temp1 = D_2 / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1_2 - 9 * this._e_2) * TransverseMercator.pow(D, 4) / 24.0 + (61 + 90 * T1 + 298 * C1 + 45 * T1_2 - 252 * this._e_2 - 3 * C1_2) * TransverseMercator.pow(D, 6) / 720.0;
140
+ const lat = lat1 - (v1 * tan / rho1) * (temp1);
141
+ const temp2 = D - (1 + 2 * T1 + C1) * TransverseMercator.pow(D, 3) / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1_2 + 8 * this._e_2 + 24 * T1_2) * TransverseMercator.pow(D, 5) / 120;
142
+ const lon = this._lonN + (temp2) / cos;
143
+ /* Save the position */
144
+ geographic.setX(lon);
145
+ geographic.setY(lat);
146
+ }
147
+ /**
148
+ * OperationMethod method.
149
+ * @see OperationMethod#initialize
150
+ */
151
+ initialize(operation) {
152
+ this.initializeProjection(operation.getSourceCRS().getEllipsoid()); // should this use getTargetCRS? (while testing OSTN15 RoI)
153
+ }
154
+ /**
155
+ * OperationMethod interface method.
156
+ * @see OperationMethod#forward
157
+ */
158
+ forward(sourceCRS, source, targetCRS, target) {
159
+ /* Get the parameters */
160
+ const lon = source.getX();
161
+ const lat = source.getY();
162
+ /* Do the projection */
163
+ this.toProjection(lon, lat, target);
164
+ target.setZ(source.getZ()); // Copy the Z value
165
+ }
166
+ /**
167
+ * OperationMethod interface method.
168
+ * @see OperationMethod#reverse
169
+ */
170
+ reverse(sourceCRS, source, targetCRS, target) {
171
+ /* Get the parameters */
172
+ const E = target.getX();
173
+ const N = target.getY();
174
+ /* Do the inverse projection */
175
+ this.toGeoGraphic(E, N, source);
176
+ source.setZ(target.getZ()); // Copy the Z value
177
+ }
178
+ }
179
+ exports.TransverseMercator = TransverseMercator;
180
+ /** The code of this method */
181
+ TransverseMercator.METHOD_CODE = 9807;
182
+ /** The value of PI */
183
+ TransverseMercator.PI = Math.PI;
184
184
  //# sourceMappingURL=TransverseMercator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransverseMercator.js","sourceRoot":"","sources":["../../../../../src/spatial/ecrs/projection/TransverseMercator.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n// package orbitgt.spatial.ecrs.projection;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { Coordinate } from \"../../geom/Coordinate\";\nimport { CRS } from \"../CRS\";\nimport { Ellipsoid } from \"../Ellipsoid\";\nimport { Operation } from \"../Operation\";\nimport { OperationMethod } from \"../OperationMethod\";\nimport { ParameterValueList } from \"../ParameterValueList\";\n\n/**\n * Class TransverseMercator defines a Transverse Mercator projection.\n *\n * The 'source' CRS is the geographic CRS.\n * The 'target' CRS is the projected CRS.\n *\n * Based on the following document:\n *\n * Coordinate Conversions and Transformations including Formulas\n * Guidance Note Number 7, part 2\n * Revised August 2006\n * Available at: http://www.epsg.org/\n *\n * Formulas: see 1.4.5.1: General Case\n *\n * @version 1.0 January 2007\n */\n/** @internal */\nexport class TransverseMercator extends OperationMethod {\n /** The code of this method */\n public static readonly METHOD_CODE: int32 = 9807;\n\n /** The value of PI */\n private static readonly PI: float64 = Math.PI;\n\n /** Latitude of natural origin (radians) */\n private _latN: float64;\n /** Longitude of natural origin (the central meridian) (radians) */\n private _lonN: float64;\n /** The scale factor at the natural origin */\n private _k0: float64;\n /** False easting */\n private _fE: float64;\n /** False northing */\n private _fN: float64;\n\n /** Forward calculation parameters */\n private _a: float64;\n private _e: float64;\n private _e2: float64;\n private _e4: float64;\n private _e6: float64;\n private _e_2: float64;\n private _m0: float64;\n /** Reverse calculation parameters */\n private _e1: float64;\n private _R1: float64;\n private _R2: float64;\n private _R3: float64;\n private _R4: float64;\n\n /**\n * Create a new projection.\n * @param parameters the values of the parameters.\n */\n public constructor(parameters: ParameterValueList) {\n super(TransverseMercator.METHOD_CODE, \"Transverse Mercator\", parameters);\n /* Store the parameters */\n this._latN = parameters.getValue(8801);\n this._lonN = parameters.getValue(8802);\n this._k0 = parameters.getValue(8805);\n this._fE = parameters.getValue(8806);\n this._fN = parameters.getValue(8807);\n }\n\n /**\n * Get the power of a number (must be able to handle negative 'n' values).\n */\n private static pow(n: float64, e: int32): float64 {\n let p: float64 = 1.0;\n for (let i: number = 0; i < e; i++) p *= n;\n return p;\n }\n\n /**\n * Calculate M.\n */\n private calcM(lat: float64): float64 {\n const M: float64 = lat * (1.0 - this._e2 / 4 - 3 * this._e4 / 64 - 5 * this._e6 / 256) - Math.sin(2.0 * lat) * (3 * this._e2 / 8 + 3 * this._e4 / 32 + 45 * this._e6 / 1024) + Math.sin(4.0 * lat) * (15 * this._e4 / 256 + 45 * this._e6 / 1024) - Math.sin(6.0 * lat) * (35 * this._e6 / 3072);\n return this._a * M;\n }\n\n /**\n * Initialize the projection.\n * @param ellipsoid the ellipsoid to use.\n * @return this projection (for convenience).\n */\n public initializeProjection(ellipsoid: Ellipsoid): TransverseMercator {\n /* Prepare the forward parameters */\n this._a = ellipsoid.getA();\n this._e = ellipsoid.getE();\n this._e2 = this._e * this._e;\n this._e4 = this._e2 * this._e2;\n this._e6 = this._e2 * this._e4;\n this._e_2 = this._e2 / (1.0 - this._e2);\n this._m0 = this.calcM(this._latN);\n /* Prepare the reverse parameters */\n const temp: float64 = Math.sqrt(1 - this._e2);\n this._e1 = (1.0 - temp) / (1.0 + temp);\n const e1_2: float64 = this._e1 * this._e1;\n const e1_3: float64 = this._e1 * e1_2;\n const e1_4: float64 = e1_2 * e1_2;\n this._R1 = (3 * this._e1 / 2 - 27 * e1_3 / 32);\n this._R2 = (21 * e1_2 / 16 - 55 * e1_4 / 32);\n this._R3 = (151 * e1_3 / 96);\n this._R4 = (1097 * e1_4 / 512);\n /* Return the projection */\n return this;\n }\n\n /**\n * Do the projection.\n * @param lon the longitude (radians).\n * @param lat the latitude (radians).\n * @param projected the target projected coordinate (X and Y will be set).\n */\n public toProjection(lon: float64, lat: float64, projected: Coordinate): void {\n /* Calculate parameters */\n const tan: float64 = Math.tan(lat);\n const T: float64 = tan * tan;\n const cos: float64 = Math.cos(lat);\n const C: float64 = this._e2 * cos * cos / (1.0 - this._e2);\n const A: float64 = (lon - this._lonN) * cos;\n const eSin: float64 = this._e * Math.sin(lat);\n const v: float64 = this._a / Math.sqrt(1.0 - eSin * eSin);\n const m: float64 = this.calcM(lat);\n /* Make the calculation */\n const temp1: float64 = A + (1.0 - T + C) * TransverseMercator.pow(A, 3) / 6 + (5 - 18 * T + T * T + 72 * C - 58 * this._e_2) * TransverseMercator.pow(A, 5) / 120.0;\n const E: float64 = this._fE + this._k0 * v * (temp1);\n const temp2: float64 = m - this._m0 + v * tan * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * TransverseMercator.pow(A, 4) / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * this._e_2) * TransverseMercator.pow(A, 6) / 720.0);\n const N: float64 = this._fN + this._k0 * (temp2);\n /* Save the position */\n projected.setX(E);\n projected.setY(N);\n }\n\n /**\n * Do the inverse projection.\n * @param x the easting.\n * @param y the northing.\n * @param geographic the target geographic coordinate (X/Lon and Y/Lat will be set) (radians).\n */\n public toGeoGraphic(x: float64, y: float64, geographic: Coordinate): void {\n /* Get the parameters */\n const E: float64 = x;\n const N: float64 = y;\n /* Calculate parameters */\n const m1: float64 = this._m0 + (N - this._fN) / this._k0;\n const u1: float64 = m1 / (this._a * (1.0 - this._e2 / 4 - 3 * this._e4 / 64 - 5 * this._e6 / 256));\n const lat1: float64 = u1 + this._R1 * Math.sin(2 * u1) + this._R2 * Math.sin(4 * u1) + this._R3 * Math.sin(6 * u1) + this._R4 * Math.sin(8 * u1);\n const eSin1: float64 = this._e * Math.sin(lat1);\n const temp: float64 = Math.sqrt(1.0 - eSin1 * eSin1);\n const v1: float64 = this._a / temp;\n const rho1: float64 = this._a * (1.0 - this._e2) / TransverseMercator.pow(temp, 3);\n const tan: float64 = Math.tan(lat1);\n const T1: float64 = tan * tan;\n const T1_2: float64 = T1 * T1;\n const cos: float64 = Math.cos(lat1);\n const C1: float64 = this._e_2 * cos * cos;\n const C1_2: float64 = C1 * C1;\n const D: float64 = (E - this._fE) / (v1 * this._k0);\n const D_2: float64 = D * D;\n /* Make the calculation */\n const temp1: float64 = D_2 / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1_2 - 9 * this._e_2) * TransverseMercator.pow(D, 4) / 24.0 + (61 + 90 * T1 + 298 * C1 + 45 * T1_2 - 252 * this._e_2 - 3 * C1_2) * TransverseMercator.pow(D, 6) / 720.0;\n const lat: float64 = lat1 - (v1 * tan / rho1) * (temp1);\n const temp2: float64 = D - (1 + 2 * T1 + C1) * TransverseMercator.pow(D, 3) / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1_2 + 8 * this._e_2 + 24 * T1_2) * TransverseMercator.pow(D, 5) / 120;\n const lon: float64 = this._lonN + (temp2) / cos;\n /* Save the position */\n geographic.setX(lon);\n geographic.setY(lat);\n }\n\n /**\n * OperationMethod method.\n * @see OperationMethod#initialize\n */\n public override initialize(operation: Operation): void {\n this.initializeProjection(operation.getSourceCRS().getEllipsoid()); // should this use getTargetCRS? (while testing OSTN15 RoI)\n }\n\n /**\n * OperationMethod interface method.\n * @see OperationMethod#forward\n */\n public forward(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void {\n /* Get the parameters */\n const lon: float64 = source.getX();\n const lat: float64 = source.getY();\n /* Do the projection */\n this.toProjection(lon, lat, target);\n target.setZ(source.getZ()); // Copy the Z value\n }\n\n /**\n * OperationMethod interface method.\n * @see OperationMethod#reverse\n */\n public reverse(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void {\n /* Get the parameters */\n const E: float64 = target.getX();\n const N: float64 = target.getY();\n /* Do the inverse projection */\n this.toGeoGraphic(E, N, source);\n source.setZ(target.getZ()); // Copy the Z value\n }\n}\n"]}
1
+ {"version":3,"file":"TransverseMercator.js","sourceRoot":"","sources":["../../../../../src/spatial/ecrs/projection/TransverseMercator.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module OrbitGT\r\n */\r\n\r\n// package orbitgt.spatial.ecrs.projection;\r\n\r\ntype int8 = number;\r\ntype int16 = number;\r\ntype int32 = number;\r\ntype float32 = number;\r\ntype float64 = number;\r\n\r\nimport { Coordinate } from \"../../geom/Coordinate\";\r\nimport { CRS } from \"../CRS\";\r\nimport { Ellipsoid } from \"../Ellipsoid\";\r\nimport { Operation } from \"../Operation\";\r\nimport { OperationMethod } from \"../OperationMethod\";\r\nimport { ParameterValueList } from \"../ParameterValueList\";\r\n\r\n/**\r\n * Class TransverseMercator defines a Transverse Mercator projection.\r\n *\r\n * The 'source' CRS is the geographic CRS.\r\n * The 'target' CRS is the projected CRS.\r\n *\r\n * Based on the following document:\r\n *\r\n * Coordinate Conversions and Transformations including Formulas\r\n * Guidance Note Number 7, part 2\r\n * Revised August 2006\r\n * Available at: http://www.epsg.org/\r\n *\r\n * Formulas: see 1.4.5.1: General Case\r\n *\r\n * @version 1.0 January 2007\r\n */\r\n/** @internal */\r\nexport class TransverseMercator extends OperationMethod {\r\n /** The code of this method */\r\n public static readonly METHOD_CODE: int32 = 9807;\r\n\r\n /** The value of PI */\r\n private static readonly PI: float64 = Math.PI;\r\n\r\n /** Latitude of natural origin (radians) */\r\n private _latN: float64;\r\n /** Longitude of natural origin (the central meridian) (radians) */\r\n private _lonN: float64;\r\n /** The scale factor at the natural origin */\r\n private _k0: float64;\r\n /** False easting */\r\n private _fE: float64;\r\n /** False northing */\r\n private _fN: float64;\r\n\r\n /** Forward calculation parameters */\r\n private _a: float64;\r\n private _e: float64;\r\n private _e2: float64;\r\n private _e4: float64;\r\n private _e6: float64;\r\n private _e_2: float64;\r\n private _m0: float64;\r\n /** Reverse calculation parameters */\r\n private _e1: float64;\r\n private _R1: float64;\r\n private _R2: float64;\r\n private _R3: float64;\r\n private _R4: float64;\r\n\r\n /**\r\n * Create a new projection.\r\n * @param parameters the values of the parameters.\r\n */\r\n public constructor(parameters: ParameterValueList) {\r\n super(TransverseMercator.METHOD_CODE, \"Transverse Mercator\", parameters);\r\n /* Store the parameters */\r\n this._latN = parameters.getValue(8801);\r\n this._lonN = parameters.getValue(8802);\r\n this._k0 = parameters.getValue(8805);\r\n this._fE = parameters.getValue(8806);\r\n this._fN = parameters.getValue(8807);\r\n }\r\n\r\n /**\r\n * Get the power of a number (must be able to handle negative 'n' values).\r\n */\r\n private static pow(n: float64, e: int32): float64 {\r\n let p: float64 = 1.0;\r\n for (let i: number = 0; i < e; i++) p *= n;\r\n return p;\r\n }\r\n\r\n /**\r\n * Calculate M.\r\n */\r\n private calcM(lat: float64): float64 {\r\n const M: float64 = lat * (1.0 - this._e2 / 4 - 3 * this._e4 / 64 - 5 * this._e6 / 256) - Math.sin(2.0 * lat) * (3 * this._e2 / 8 + 3 * this._e4 / 32 + 45 * this._e6 / 1024) + Math.sin(4.0 * lat) * (15 * this._e4 / 256 + 45 * this._e6 / 1024) - Math.sin(6.0 * lat) * (35 * this._e6 / 3072);\r\n return this._a * M;\r\n }\r\n\r\n /**\r\n * Initialize the projection.\r\n * @param ellipsoid the ellipsoid to use.\r\n * @return this projection (for convenience).\r\n */\r\n public initializeProjection(ellipsoid: Ellipsoid): TransverseMercator {\r\n /* Prepare the forward parameters */\r\n this._a = ellipsoid.getA();\r\n this._e = ellipsoid.getE();\r\n this._e2 = this._e * this._e;\r\n this._e4 = this._e2 * this._e2;\r\n this._e6 = this._e2 * this._e4;\r\n this._e_2 = this._e2 / (1.0 - this._e2);\r\n this._m0 = this.calcM(this._latN);\r\n /* Prepare the reverse parameters */\r\n const temp: float64 = Math.sqrt(1 - this._e2);\r\n this._e1 = (1.0 - temp) / (1.0 + temp);\r\n const e1_2: float64 = this._e1 * this._e1;\r\n const e1_3: float64 = this._e1 * e1_2;\r\n const e1_4: float64 = e1_2 * e1_2;\r\n this._R1 = (3 * this._e1 / 2 - 27 * e1_3 / 32);\r\n this._R2 = (21 * e1_2 / 16 - 55 * e1_4 / 32);\r\n this._R3 = (151 * e1_3 / 96);\r\n this._R4 = (1097 * e1_4 / 512);\r\n /* Return the projection */\r\n return this;\r\n }\r\n\r\n /**\r\n * Do the projection.\r\n * @param lon the longitude (radians).\r\n * @param lat the latitude (radians).\r\n * @param projected the target projected coordinate (X and Y will be set).\r\n */\r\n public toProjection(lon: float64, lat: float64, projected: Coordinate): void {\r\n /* Calculate parameters */\r\n const tan: float64 = Math.tan(lat);\r\n const T: float64 = tan * tan;\r\n const cos: float64 = Math.cos(lat);\r\n const C: float64 = this._e2 * cos * cos / (1.0 - this._e2);\r\n const A: float64 = (lon - this._lonN) * cos;\r\n const eSin: float64 = this._e * Math.sin(lat);\r\n const v: float64 = this._a / Math.sqrt(1.0 - eSin * eSin);\r\n const m: float64 = this.calcM(lat);\r\n /* Make the calculation */\r\n const temp1: float64 = A + (1.0 - T + C) * TransverseMercator.pow(A, 3) / 6 + (5 - 18 * T + T * T + 72 * C - 58 * this._e_2) * TransverseMercator.pow(A, 5) / 120.0;\r\n const E: float64 = this._fE + this._k0 * v * (temp1);\r\n const temp2: float64 = m - this._m0 + v * tan * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * TransverseMercator.pow(A, 4) / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * this._e_2) * TransverseMercator.pow(A, 6) / 720.0);\r\n const N: float64 = this._fN + this._k0 * (temp2);\r\n /* Save the position */\r\n projected.setX(E);\r\n projected.setY(N);\r\n }\r\n\r\n /**\r\n * Do the inverse projection.\r\n * @param x the easting.\r\n * @param y the northing.\r\n * @param geographic the target geographic coordinate (X/Lon and Y/Lat will be set) (radians).\r\n */\r\n public toGeoGraphic(x: float64, y: float64, geographic: Coordinate): void {\r\n /* Get the parameters */\r\n const E: float64 = x;\r\n const N: float64 = y;\r\n /* Calculate parameters */\r\n const m1: float64 = this._m0 + (N - this._fN) / this._k0;\r\n const u1: float64 = m1 / (this._a * (1.0 - this._e2 / 4 - 3 * this._e4 / 64 - 5 * this._e6 / 256));\r\n const lat1: float64 = u1 + this._R1 * Math.sin(2 * u1) + this._R2 * Math.sin(4 * u1) + this._R3 * Math.sin(6 * u1) + this._R4 * Math.sin(8 * u1);\r\n const eSin1: float64 = this._e * Math.sin(lat1);\r\n const temp: float64 = Math.sqrt(1.0 - eSin1 * eSin1);\r\n const v1: float64 = this._a / temp;\r\n const rho1: float64 = this._a * (1.0 - this._e2) / TransverseMercator.pow(temp, 3);\r\n const tan: float64 = Math.tan(lat1);\r\n const T1: float64 = tan * tan;\r\n const T1_2: float64 = T1 * T1;\r\n const cos: float64 = Math.cos(lat1);\r\n const C1: float64 = this._e_2 * cos * cos;\r\n const C1_2: float64 = C1 * C1;\r\n const D: float64 = (E - this._fE) / (v1 * this._k0);\r\n const D_2: float64 = D * D;\r\n /* Make the calculation */\r\n const temp1: float64 = D_2 / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1_2 - 9 * this._e_2) * TransverseMercator.pow(D, 4) / 24.0 + (61 + 90 * T1 + 298 * C1 + 45 * T1_2 - 252 * this._e_2 - 3 * C1_2) * TransverseMercator.pow(D, 6) / 720.0;\r\n const lat: float64 = lat1 - (v1 * tan / rho1) * (temp1);\r\n const temp2: float64 = D - (1 + 2 * T1 + C1) * TransverseMercator.pow(D, 3) / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1_2 + 8 * this._e_2 + 24 * T1_2) * TransverseMercator.pow(D, 5) / 120;\r\n const lon: float64 = this._lonN + (temp2) / cos;\r\n /* Save the position */\r\n geographic.setX(lon);\r\n geographic.setY(lat);\r\n }\r\n\r\n /**\r\n * OperationMethod method.\r\n * @see OperationMethod#initialize\r\n */\r\n public override initialize(operation: Operation): void {\r\n this.initializeProjection(operation.getSourceCRS().getEllipsoid()); // should this use getTargetCRS? (while testing OSTN15 RoI)\r\n }\r\n\r\n /**\r\n * OperationMethod interface method.\r\n * @see OperationMethod#forward\r\n */\r\n public forward(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void {\r\n /* Get the parameters */\r\n const lon: float64 = source.getX();\r\n const lat: float64 = source.getY();\r\n /* Do the projection */\r\n this.toProjection(lon, lat, target);\r\n target.setZ(source.getZ()); // Copy the Z value\r\n }\r\n\r\n /**\r\n * OperationMethod interface method.\r\n * @see OperationMethod#reverse\r\n */\r\n public reverse(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void {\r\n /* Get the parameters */\r\n const E: float64 = target.getX();\r\n const N: float64 = target.getY();\r\n /* Do the inverse projection */\r\n this.toGeoGraphic(E, N, source);\r\n source.setZ(target.getZ()); // Copy the Z value\r\n }\r\n}\r\n"]}
@@ -1,91 +1,91 @@
1
- /** @packageDocumentation
2
- * @module OrbitGT
3
- */
4
- declare type int32 = number;
5
- declare type float64 = number;
6
- import { Coordinate } from "../../geom/Coordinate";
7
- import { CRS } from "../CRS";
8
- import { OperationMethod } from "../OperationMethod";
9
- import { ParameterValueList } from "../ParameterValueList";
10
- /**
11
- * Class PositionVector defines a Position Vector 7-parameter transformation (see Guidance Note 2.4.3.2.1).
12
- *
13
- * NOTE: this method is also known as "Bursa-Wolf".
14
- *
15
- * Based on the following document:
16
- *
17
- * Coordinate Conversions and Transformations including Formulas
18
- * Guidance Note Number 7, part 2
19
- * Revised May 2005
20
- * Available at: http://www.epsg.org/
21
- *
22
- * Used in Europe. To convert to "Coordinate Frame Rotation" inverse the sign of the three rotations.
23
- *
24
- * @version 1.0 July 2005
25
- */
26
- /** @internal */
27
- export declare class PositionVector extends OperationMethod {
28
- /** The code of this method */
29
- static readonly METHOD_CODE: int32;
30
- /** The translation vector */
31
- private _dX;
32
- private _dY;
33
- private _dZ;
34
- /** The rotations (radians) */
35
- private _rX;
36
- private _rY;
37
- private _rZ;
38
- /** The scale factor (offset from 1.0) */
39
- private _dS;
40
- /**
41
- * Create a new transformation.
42
- * @param parameters the values of the parameters.
43
- */
44
- constructor(parameters: ParameterValueList);
45
- /**
46
- * Create a new transformation.
47
- * @param dX the translation vector x.
48
- * @param dY the translation vector y.
49
- * @param dZ the translation vector z.
50
- * @param rX the first rotation (radians).
51
- * @param rY the second rotation (radians).
52
- * @param rZ the third rotation (radians).
53
- * @param dS the scale factor (offset from 1.0) (normal units, not ppm).
54
- * @return the new transformation.
55
- */
56
- static create(dX: float64, dY: float64, dZ: float64, rX: float64, rY: float64, rZ: float64, dS: float64): PositionVector;
57
- /**
58
- * Get the 7 parameters of the method.
59
- * @return the parameters of the method {dX,dY,dZ,rX,rY,rZ,dS} in units {meter,meter,meter, radian,radian,radian, scale_offset-1}.
60
- */
61
- getParameters(): Float64Array;
62
- /**
63
- * Make a forward transformation.
64
- * @param source the source coordinate (the coordinate to transform).
65
- * @param target the target coordinate (holds the result).
66
- */
67
- transformForward(source: Coordinate, target: Coordinate): void;
68
- /**
69
- * Make a reverse transformation.
70
- * @param source the source coordinate (holds the result).
71
- * @param target the target coordinate (the coordinate to transform).
72
- */
73
- transformReverse(source: Coordinate, target: Coordinate): void;
74
- /**
75
- * OperationMethod interface method.
76
- * @see OperationMethod#forward
77
- */
78
- forward(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void;
79
- /**
80
- * OperationMethod interface method.
81
- * @see OperationMethod#reverse
82
- */
83
- reverse(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void;
84
- /**
85
- * Create an inverse transformation.
86
- * @return the inverse transformation.
87
- */
88
- createInverse(): PositionVector;
89
- }
90
- export {};
1
+ /** @packageDocumentation
2
+ * @module OrbitGT
3
+ */
4
+ declare type int32 = number;
5
+ declare type float64 = number;
6
+ import { Coordinate } from "../../geom/Coordinate";
7
+ import { CRS } from "../CRS";
8
+ import { OperationMethod } from "../OperationMethod";
9
+ import { ParameterValueList } from "../ParameterValueList";
10
+ /**
11
+ * Class PositionVector defines a Position Vector 7-parameter transformation (see Guidance Note 2.4.3.2.1).
12
+ *
13
+ * NOTE: this method is also known as "Bursa-Wolf".
14
+ *
15
+ * Based on the following document:
16
+ *
17
+ * Coordinate Conversions and Transformations including Formulas
18
+ * Guidance Note Number 7, part 2
19
+ * Revised May 2005
20
+ * Available at: http://www.epsg.org/
21
+ *
22
+ * Used in Europe. To convert to "Coordinate Frame Rotation" inverse the sign of the three rotations.
23
+ *
24
+ * @version 1.0 July 2005
25
+ */
26
+ /** @internal */
27
+ export declare class PositionVector extends OperationMethod {
28
+ /** The code of this method */
29
+ static readonly METHOD_CODE: int32;
30
+ /** The translation vector */
31
+ private _dX;
32
+ private _dY;
33
+ private _dZ;
34
+ /** The rotations (radians) */
35
+ private _rX;
36
+ private _rY;
37
+ private _rZ;
38
+ /** The scale factor (offset from 1.0) */
39
+ private _dS;
40
+ /**
41
+ * Create a new transformation.
42
+ * @param parameters the values of the parameters.
43
+ */
44
+ constructor(parameters: ParameterValueList);
45
+ /**
46
+ * Create a new transformation.
47
+ * @param dX the translation vector x.
48
+ * @param dY the translation vector y.
49
+ * @param dZ the translation vector z.
50
+ * @param rX the first rotation (radians).
51
+ * @param rY the second rotation (radians).
52
+ * @param rZ the third rotation (radians).
53
+ * @param dS the scale factor (offset from 1.0) (normal units, not ppm).
54
+ * @return the new transformation.
55
+ */
56
+ static create(dX: float64, dY: float64, dZ: float64, rX: float64, rY: float64, rZ: float64, dS: float64): PositionVector;
57
+ /**
58
+ * Get the 7 parameters of the method.
59
+ * @return the parameters of the method {dX,dY,dZ,rX,rY,rZ,dS} in units {meter,meter,meter, radian,radian,radian, scale_offset-1}.
60
+ */
61
+ getParameters(): Float64Array;
62
+ /**
63
+ * Make a forward transformation.
64
+ * @param source the source coordinate (the coordinate to transform).
65
+ * @param target the target coordinate (holds the result).
66
+ */
67
+ transformForward(source: Coordinate, target: Coordinate): void;
68
+ /**
69
+ * Make a reverse transformation.
70
+ * @param source the source coordinate (holds the result).
71
+ * @param target the target coordinate (the coordinate to transform).
72
+ */
73
+ transformReverse(source: Coordinate, target: Coordinate): void;
74
+ /**
75
+ * OperationMethod interface method.
76
+ * @see OperationMethod#forward
77
+ */
78
+ forward(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void;
79
+ /**
80
+ * OperationMethod interface method.
81
+ * @see OperationMethod#reverse
82
+ */
83
+ reverse(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void;
84
+ /**
85
+ * Create an inverse transformation.
86
+ * @return the inverse transformation.
87
+ */
88
+ createInverse(): PositionVector;
89
+ }
90
+ export {};
91
91
  //# sourceMappingURL=PositionVector.d.ts.map