@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,491 +1,491 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module OrbitGT
7
- */
8
- import { AList } from "../../system/collection/AList";
9
- import { ASystem } from "../../system/runtime/ASystem";
10
- import { Message } from "../../system/runtime/Message";
11
- import { Numbers } from "../../system/runtime/Numbers";
12
- import { Strings } from "../../system/runtime/Strings";
13
- import { CRS } from "./CRS";
14
- import { Datum } from "./Datum";
15
- import { Ellipsoid } from "./Ellipsoid";
16
- import { Operation } from "./Operation";
17
- import { ParameterValue } from "./ParameterValue";
18
- import { ParameterValueList } from "./ParameterValueList";
19
- import { PrimeMeridian } from "./PrimeMeridian";
20
- import { HotineObliqueMercator } from "./projection/HotineObliqueMercator";
21
- import { KrovakObliqueConformalConic } from "./projection/KrovakObliqueConformalConic";
22
- import { KrovakObliqueConformalConicEN } from "./projection/KrovakObliqueConformalConicEN";
23
- import { LambertConical1SP } from "./projection/LambertConical1SP";
24
- import { LambertConical2SP } from "./projection/LambertConical2SP";
25
- import { Mercator1SP } from "./projection/Mercator1SP";
26
- import { ObliqueMercator } from "./projection/ObliqueMercator";
27
- import { ObliqueStereographic } from "./projection/ObliqueStereographic";
28
- import { TransverseMercator } from "./projection/TransverseMercator";
29
- import { Registry } from "./Registry";
30
- import { PositionVector } from "./transformation/PositionVector";
31
- import { Unit } from "./Unit";
32
- import { WellKnownTextNode } from "./WellKnownTextNode";
33
- /**
34
- * Class WellKnownText parses Well-known Text Representations of Spatial Reference Systems.
35
- *
36
- * @version 1.0 December 2010
37
- */
38
- /** @internal */
39
- export class WellKnownText {
40
- /**
41
- * No instances.
42
- */
43
- constructor() { }
44
- /**
45
- * Unquote a name.
46
- * @param name the name.
47
- * @return the unquoted name.
48
- */
49
- static unquote(name) {
50
- name = Strings.trim(name);
51
- ASystem.assert0(Strings.startsWith(name, "\""), "Name '" + name + "' does not start with a quote");
52
- ASystem.assert0(Strings.endsWith(name, "\""), "Name '" + name + "' does not end with a quote");
53
- return Strings.substring(name, 1, Strings.getLength(name) - 1);
54
- }
55
- /**
56
- * Get a number.
57
- * @param value the string value.
58
- * @return the number.
59
- */
60
- static getInteger(value) {
61
- return Numbers.getInteger(value, 0);
62
- }
63
- /**
64
- * Get a number.
65
- * @param value the string value.
66
- * @return the number.
67
- */
68
- static getDouble(value) {
69
- return Numbers.getDouble(value, 0.0);
70
- }
71
- /**
72
- * Get a number.
73
- * @param value the node value.
74
- * @return the number.
75
- */
76
- static getNodeDouble(value) {
77
- if (value == null)
78
- return 0.0;
79
- return Numbers.getDouble(value.getName(), 0.0);
80
- }
81
- /**
82
- * Get an EPSG code for an element.
83
- * @param authority the authority for the element.
84
- * @param dialect the dialect of WKT to parse.
85
- * @return the EPSG code (zero if not found).
86
- */
87
- static getEPSGCode(authority, dialect) {
88
- // example: AUTHORITY["EPSG","2320"]
89
- if (authority == null)
90
- return 0;
91
- let name = WellKnownText.unquote(authority.getArgument(0).getName());
92
- let code = WellKnownText.unquote(authority.getArgument(1).getName());
93
- if (Strings.equalsIgnoreCase(name, "EPSG") == false)
94
- return 0;
95
- let epsgCode = Numbers.getInteger(code, 0);
96
- return epsgCode; // Enabled on 06/06/2014
97
- }
98
- /**
99
- * Parse a linear unit.
100
- * @param node the well-known-text node.
101
- * @param dialect the dialect of WKT to parse.
102
- * @return the unit.
103
- */
104
- static parseLinearUnit(node, dialect) {
105
- /* Get the parameters */
106
- let name = WellKnownText.unquote(node.getArgument(0).getName());
107
- let conversionFactor = WellKnownText.getDouble(node.getArgument(1).getName());
108
- let authority = node.getArgumentByName("AUTHORITY");
109
- /* Do we have an EPGS code ? */
110
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
111
- let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
112
- /* Return the unit */
113
- return new Unit(code, name, name /*abbreviation*/, "length", Unit.METER /*targetUnitCode*/, conversionFactor, 1.0);
114
- }
115
- /**
116
- * Parse an angular unit.
117
- * @param node the well-known-text node.
118
- * @param dialect the dialect of WKT to parse.
119
- * @return the unit.
120
- */
121
- static parseAngularUnit(node, dialect) {
122
- /* Get the parameters */
123
- let name = WellKnownText.unquote(node.getArgument(0).getName());
124
- let conversionFactor = WellKnownText.getDouble(node.getArgument(1).getName());
125
- let authority = node.getArgumentByName("AUTHORITY");
126
- /* Do we have an EPGS code ? */
127
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
128
- let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
129
- /* Return the unit */
130
- return new Unit(code, name, name /*abbreviation*/, "angle", Unit.RADIAN /*targetUnitCode*/, conversionFactor, 1.0);
131
- }
132
- /**
133
- * Parse a spheroid.
134
- * @param crsCode the code of the CRS.
135
- * @param node the well-known-text node.
136
- * @param dialect the dialect of WKT to parse.
137
- * @return the ellipsoid.
138
- */
139
- static parseSpheroid(crsCode, node, dialect) {
140
- /* Get the parameters */
141
- let name = WellKnownText.unquote(node.getArgument(0).getName());
142
- let semiMajorAxis = WellKnownText.getDouble(node.getArgument(1).getName());
143
- let invFlattening = WellKnownText.getDouble(node.getArgument(2).getName());
144
- let authority = node.getArgumentByName("AUTHORITY");
145
- /* Do we have an EPGS code ? */
146
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
147
- let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
148
- /* Return the ellipsoid */
149
- return new Ellipsoid(code, name, Unit.METER, semiMajorAxis, invFlattening, 0.0);
150
- }
151
- /**
152
- * Parse a prime-meridian.
153
- * @param crsCode the code of the CRS.
154
- * @param node the well-known-text node.
155
- * @param dialect the dialect of WKT to parse.
156
- * @return the prime-meridian.
157
- */
158
- static parsePrimeMeridian(crsCode, node, dialect) {
159
- /* Get the parameters */
160
- let name = WellKnownText.unquote(node.getArgument(0).getName());
161
- let longitude = WellKnownText.getDouble(node.getArgument(1).getName());
162
- let authority = node.getArgumentByName("AUTHORITY");
163
- /* Do we have an EPGS code ? */
164
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
165
- let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
166
- /* Return the prime-meridian */
167
- return new PrimeMeridian(code, name, longitude /*lonFromGreenwich*/, Unit.DEGREE /*?*/);
168
- }
169
- /**
170
- * Parse a to-wgs84 transform.
171
- * @param node the well-known-text node (method position vector).
172
- * @param dialect the dialect of WKT to parse.
173
- * @return the transform.
174
- */
175
- static parseToWGS84(node, dialect) {
176
- /* No transform ? */
177
- if (node == null)
178
- return null;
179
- /* Get the parameters */
180
- let dx = WellKnownText.getNodeDouble(node.getArgument(0)); // meter
181
- let dy = WellKnownText.getNodeDouble(node.getArgument(1));
182
- let dz = WellKnownText.getNodeDouble(node.getArgument(2));
183
- let rx = WellKnownText.getNodeDouble(node.getOptionalArgument(3)); // arc-second
184
- let ry = WellKnownText.getNodeDouble(node.getOptionalArgument(4));
185
- let rz = WellKnownText.getNodeDouble(node.getOptionalArgument(5));
186
- let ppm = WellKnownText.getNodeDouble(node.getOptionalArgument(6)); // parts-per-million
187
- /* Return the transform */
188
- return PositionVector.create(dx, dy, dz, rx * WellKnownText._ARC_SEC_TO_RAD, ry * WellKnownText._ARC_SEC_TO_RAD, rz * WellKnownText._ARC_SEC_TO_RAD, ppm / 1.0e6);
189
- }
190
- /**
191
- * Parse a datum.
192
- * @param crsCode the code of the CRS.
193
- * @param node the well-known-text node.
194
- * @param primeMeridian the prime meridian.
195
- * @param dialect the dialect of WKT to parse.
196
- * @return the datum (with optional embedded datum transformation to WGS84).
197
- */
198
- static parseDatum(crsCode, node, primeMeridian, dialect) {
199
- /* Get the parameters */
200
- let name = WellKnownText.unquote(node.getArgument(0).getName());
201
- let spheroid = WellKnownText.parseSpheroid(crsCode, node.getArgumentByName("SPHEROID"), dialect);
202
- let toWGS84 = WellKnownText.parseToWGS84(node.getArgumentByName("TOWGS84"), dialect);
203
- if (toWGS84 == null)
204
- toWGS84 = PositionVector.create(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); // default (identity) transform added on 19/06/2013 to allow ViewTransform creation.
205
- let authority = node.getArgumentByName("AUTHORITY");
206
- /* Do we have an EPGS code ? */
207
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
208
- let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
209
- /* Return the datum */
210
- let datum = new Datum(code, name, Datum.TYPE_GEODETIC, spheroid, primeMeridian);
211
- datum.setToWGS84(toWGS84);
212
- return datum;
213
- }
214
- /**
215
- * Parse a projection method.
216
- * @param projection the well-known-text projection node.
217
- * @param parameters the well-known-text parameter nodes.
218
- * @param dialect the dialect of WKT to parse.
219
- * @return the projection method.
220
- */
221
- static parseProjectionMethod(projection, parameters, dialect) {
222
- // See: http://www.remotesensing.org/geotiff/proj_list/
223
- // for method names and parameter names and units
224
- //
225
- /* Get the projection name */
226
- let projectionName = WellKnownText.unquote(projection.getArgument(0).getName());
227
- /* Get the standard units */
228
- let DEG = Registry.getUnit(Unit.DEGREE);
229
- let METER = Registry.getUnit(Unit.METER);
230
- let SCALE = Registry.getUnit(Unit.UNITY);
231
- /* Convert to standard parameters */
232
- let parameterList = new ParameterValueList();
233
- for (let i = 0; i < parameters.size(); i++) {
234
- /* Get the parameter name and value */
235
- let parameter = parameters.get(i);
236
- let parameterName = WellKnownText.unquote(parameter.getArgument(0).getName());
237
- let parameterValue = WellKnownText.getDouble(parameter.getArgument(1).getName());
238
- /* Hotine_Oblique_Mercator */
239
- if (Strings.equalsIgnoreCase(projectionName, "Hotine_Oblique_Mercator")) {
240
- if (Strings.equalsIgnoreCase(parameterName, "latitude_of_center"))
241
- parameterList.add(new ParameterValue(8811, parameterValue, DEG));
242
- if (Strings.equalsIgnoreCase(parameterName, "longitude_of_center"))
243
- parameterList.add(new ParameterValue(8812, parameterValue, DEG));
244
- if (Strings.equalsIgnoreCase(parameterName, "azimuth"))
245
- parameterList.add(new ParameterValue(8813, parameterValue, DEG));
246
- if (Strings.equalsIgnoreCase(parameterName, "rectified_grid_angle"))
247
- parameterList.add(new ParameterValue(8814, parameterValue, DEG));
248
- if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
249
- parameterList.add(new ParameterValue(8815, parameterValue, SCALE));
250
- if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
251
- parameterList.add(new ParameterValue(8806, parameterValue, METER));
252
- if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
253
- parameterList.add(new ParameterValue(8807, parameterValue, METER));
254
- }
255
- /* Krovak */
256
- if (Strings.equalsIgnoreCase(projectionName, "Krovak") || Strings.equalsIgnoreCase(projectionName, "KrovakEN")) {
257
- if (Strings.equalsIgnoreCase(parameterName, "latitude_of_center"))
258
- parameterList.add(new ParameterValue(8811, parameterValue, DEG));
259
- if (Strings.equalsIgnoreCase(parameterName, "longitude_of_center"))
260
- parameterList.add(new ParameterValue(8833, parameterValue, DEG));
261
- if (Strings.equalsIgnoreCase(parameterName, "azimuth"))
262
- parameterList.add(new ParameterValue(1036, parameterValue, DEG)); // changed from 8813 to 1036 on 31/08/2017
263
- if (Strings.equalsIgnoreCase(parameterName, "pseudo_standard_parallel_1"))
264
- parameterList.add(new ParameterValue(8818, parameterValue, DEG));
265
- if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
266
- parameterList.add(new ParameterValue(8819, parameterValue, SCALE));
267
- if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
268
- parameterList.add(new ParameterValue(8806, parameterValue, METER));
269
- if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
270
- parameterList.add(new ParameterValue(8807, parameterValue, METER));
271
- }
272
- /* Lambert_Conformal_Conic_1SP */
273
- if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_1SP")) {
274
- if (Strings.equalsIgnoreCase(parameterName, "latitude_of_origin"))
275
- parameterList.add(new ParameterValue(8801, parameterValue, DEG));
276
- if (Strings.equalsIgnoreCase(parameterName, "central_meridian"))
277
- parameterList.add(new ParameterValue(8802, parameterValue, DEG));
278
- if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
279
- parameterList.add(new ParameterValue(8805, parameterValue, SCALE));
280
- if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
281
- parameterList.add(new ParameterValue(8806, parameterValue, METER));
282
- if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
283
- parameterList.add(new ParameterValue(8807, parameterValue, METER));
284
- }
285
- /* Lambert_Conformal_Conic_2SP / Lambert_Conformal_Conic_2SP_Belgium / Lambert_Conformal_Conic */
286
- if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_2SP") || Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_2SP_Belgium") || Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic")) {
287
- if (Strings.equalsIgnoreCase(parameterName, "latitude_of_origin"))
288
- parameterList.add(new ParameterValue(8821, parameterValue, DEG));
289
- if (Strings.equalsIgnoreCase(parameterName, "central_meridian"))
290
- parameterList.add(new ParameterValue(8822, parameterValue, DEG));
291
- if (Strings.equalsIgnoreCase(parameterName, "standard_parallel_1"))
292
- parameterList.add(new ParameterValue(8823, parameterValue, DEG));
293
- if (Strings.equalsIgnoreCase(parameterName, "standard_parallel_2"))
294
- parameterList.add(new ParameterValue(8824, parameterValue, DEG));
295
- if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
296
- parameterList.add(new ParameterValue(8826, parameterValue, METER));
297
- if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
298
- parameterList.add(new ParameterValue(8827, parameterValue, METER));
299
- // if (Strings.equalsIgnoreCase(parameterName,"scale_factor")) {if (parameterValue!=1.0) throw new IllegalArgumentException(MODULE+" : Invalid parameter '"+parameterName+"' with value "+parameterValue);}
300
- }
301
- /* Mercator_1SP */
302
- if (Strings.equalsIgnoreCase(projectionName, "Mercator_1SP")) {
303
- if (Strings.equalsIgnoreCase(parameterName, "latitude_of_origin"))
304
- parameterList.add(new ParameterValue(8801, parameterValue, DEG));
305
- if (Strings.equalsIgnoreCase(parameterName, "central_meridian"))
306
- parameterList.add(new ParameterValue(8802, parameterValue, DEG));
307
- if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
308
- parameterList.add(new ParameterValue(8805, parameterValue, SCALE));
309
- if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
310
- parameterList.add(new ParameterValue(8806, parameterValue, METER));
311
- if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
312
- parameterList.add(new ParameterValue(8807, parameterValue, METER));
313
- }
314
- /* Oblique_Mercator */
315
- if (Strings.equalsIgnoreCase(projectionName, "Oblique_Mercator")) {
316
- if (Strings.equalsIgnoreCase(parameterName, "latitude_of_center"))
317
- parameterList.add(new ParameterValue(8811, parameterValue, DEG));
318
- if (Strings.equalsIgnoreCase(parameterName, "longitude_of_center"))
319
- parameterList.add(new ParameterValue(8812, parameterValue, DEG));
320
- if (Strings.equalsIgnoreCase(parameterName, "azimuth"))
321
- parameterList.add(new ParameterValue(8813, parameterValue, DEG));
322
- if (Strings.equalsIgnoreCase(parameterName, "rectified_grid_angle"))
323
- parameterList.add(new ParameterValue(8814, parameterValue, DEG));
324
- if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
325
- parameterList.add(new ParameterValue(8815, parameterValue, SCALE));
326
- if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
327
- parameterList.add(new ParameterValue(8816, parameterValue, METER));
328
- if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
329
- parameterList.add(new ParameterValue(8817, parameterValue, METER));
330
- }
331
- /* Oblique_Stereographic /Transverse_Mercator */
332
- if (Strings.equalsIgnoreCase(projectionName, "Oblique_Stereographic") || Strings.equalsIgnoreCase(projectionName, "Transverse_Mercator")) {
333
- if (Strings.equalsIgnoreCase(parameterName, "latitude_of_origin"))
334
- parameterList.add(new ParameterValue(8801, parameterValue, DEG));
335
- if (Strings.equalsIgnoreCase(parameterName, "central_meridian"))
336
- parameterList.add(new ParameterValue(8802, parameterValue, DEG));
337
- if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
338
- parameterList.add(new ParameterValue(8805, parameterValue, SCALE));
339
- if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
340
- parameterList.add(new ParameterValue(8806, parameterValue, METER));
341
- if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
342
- parameterList.add(new ParameterValue(8807, parameterValue, METER));
343
- }
344
- }
345
- /* Create the right method */
346
- if (Strings.equalsIgnoreCase(projectionName, "Hotine_Oblique_Mercator"))
347
- return new HotineObliqueMercator(parameterList);
348
- if (Strings.equalsIgnoreCase(projectionName, "Krovak"))
349
- return new KrovakObliqueConformalConic(parameterList);
350
- if (Strings.equalsIgnoreCase(projectionName, "KrovakEN"))
351
- return new KrovakObliqueConformalConicEN(parameterList);
352
- if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_1SP"))
353
- return new LambertConical1SP(parameterList);
354
- if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_2SP"))
355
- return new LambertConical2SP(parameterList);
356
- if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic"))
357
- return new LambertConical2SP(parameterList);
358
- if (Strings.equalsIgnoreCase(projectionName, "Mercator_1SP"))
359
- return new Mercator1SP(parameterList);
360
- if (Strings.equalsIgnoreCase(projectionName, "Oblique_Mercator"))
361
- return new ObliqueMercator(parameterList);
362
- if (Strings.equalsIgnoreCase(projectionName, "Oblique_Stereographic"))
363
- return new ObliqueStereographic(parameterList);
364
- if (Strings.equalsIgnoreCase(projectionName, "Transverse_Mercator"))
365
- return new TransverseMercator(parameterList);
366
- ASystem.assert0(false, "Unknown projection type '" + projectionName + "'");
367
- return null;
368
- }
369
- /**
370
- * Parse a geocentric CRS.
371
- * @param crsCode the code of the CRS.
372
- * @param node the well-known-text node.
373
- * @param dialect the dialect of WKT to parse.
374
- * @return the CRS.
375
- */
376
- static parseGeocentric(crsCode, node, dialect) {
377
- /* Get the parameters */
378
- let name = WellKnownText.unquote(node.getArgument(0).getName());
379
- let primeMeridian = WellKnownText.parsePrimeMeridian(crsCode, node.getArgumentByName("PRIMEM"), dialect);
380
- let datum = WellKnownText.parseDatum(crsCode, node.getArgumentByName("DATUM"), primeMeridian, dialect);
381
- let toWGS84m = datum.getToWGS84();
382
- let toWGS84s = new AList();
383
- let linearUnit = WellKnownText.parseLinearUnit(node.getArgumentByName("UNIT"), dialect);
384
- let axis = node.getArgumentsByName("AXIS");
385
- let authority = node.getArgumentByName("AUTHORITY");
386
- /* Do we have an EPGS code ? */
387
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
388
- let code = (epsgCode == 0) ? crsCode : epsgCode;
389
- /* Return the CRS */
390
- if (toWGS84m != null)
391
- toWGS84s.add(new Operation(0 /*code*/, "" /*name*/, Operation.TRANSFORMATION, code, CRS.WGS84_2D_CRS_CODE, 0 /*area*/, toWGS84m));
392
- return new CRS(code, name, 0 /*area*/, CRS.GEOCENTRIC, 0 /*csCode*/, datum, null /*baseCRS*/, null /*projection*/, toWGS84s);
393
- }
394
- /**
395
- * Parse a geographic CRS.
396
- * @param crsCode the code of the CRS.
397
- * @param node the well-known-text node.
398
- * @param dialect the dialect of WKT to parse.
399
- * @return the CRS.
400
- */
401
- static parseGeographic(crsCode, node, dialect) {
402
- /* Get the parameters */
403
- let name = WellKnownText.unquote(node.getArgument(0).getName());
404
- let primeMeridian = WellKnownText.parsePrimeMeridian(crsCode, node.getArgumentByName("PRIMEM"), dialect);
405
- let datum = WellKnownText.parseDatum(crsCode, node.getArgumentByName("DATUM"), primeMeridian, dialect);
406
- let toWGS84m = datum.getToWGS84();
407
- let toWGS84s = new AList();
408
- let angularUnit = WellKnownText.parseAngularUnit(node.getArgumentByName("UNIT"), dialect);
409
- let axis = node.getArgumentsByName("AXIS");
410
- let authority = node.getArgumentByName("AUTHORITY");
411
- /* Do we have an EPGS code ? */
412
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
413
- let code = (epsgCode == 0) ? crsCode : epsgCode;
414
- /* Return the CRS */
415
- if (toWGS84m != null)
416
- toWGS84s.add(new Operation(0 /*code*/, "" /*name*/, Operation.TRANSFORMATION, code, CRS.WGS84_2D_CRS_CODE, 0 /*area*/, toWGS84m));
417
- return new CRS(code, name, 0 /*area*/, CRS.GEOGRAPHIC_2D, 0 /*csCode*/, datum, null /*baseCRS*/, null /*projection*/, toWGS84s);
418
- }
419
- /**
420
- * Parse a projected CRS.
421
- * @param crsCode the code of the CRS.
422
- * @param node the well-known-text node.
423
- * @param dialect the dialect of WKT to parse.
424
- * @return the CRS.
425
- */
426
- static parseProjection(crsCode, node, dialect) {
427
- /* Get the parameters */
428
- let name = WellKnownText.unquote(node.getArgument(0).getName());
429
- let baseCRS = WellKnownText.parseGeographic(-crsCode, node.getArgumentByName("GEOGCS"), dialect);
430
- let projection = node.getArgumentByName("PROJECTION");
431
- let parameters = node.getArgumentsByName("PARAMETER");
432
- let projectionMethod = WellKnownText.parseProjectionMethod(projection, parameters, dialect);
433
- let linearUnit = WellKnownText.parseLinearUnit(node.getArgumentByName("UNIT"), dialect);
434
- let axis = node.getArgumentsByName("AXIS");
435
- let authority = node.getArgumentByName("AUTHORITY");
436
- /* Do we have an EPGS code ? */
437
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
438
- let code = (epsgCode == 0) ? crsCode : epsgCode;
439
- /* Return the CRS */
440
- let projectionOperation = new Operation(0 /*code*/, "" /*name*/, Operation.CONVERSION, code, baseCRS.getCode(), 0 /*area*/, projectionMethod);
441
- return new CRS(code, name, 0 /*area*/, CRS.PROJECTED, 0 /*csCode*/, null /*datum*/, baseCRS, projectionOperation, null /*toWGS84*/);
442
- }
443
- /**
444
- * Parse a vertical CRS.
445
- * @param crsCode the code of the CRS.
446
- * @param node the well-known-text node.
447
- * @param dialect the dialect of WKT to parse.
448
- * @return the CRS.
449
- */
450
- static parseVertical(crsCode, node, dialect) {
451
- /* Get the parameters */
452
- let name = WellKnownText.unquote(node.getArgument(0).getName());
453
- let authority = node.getArgumentByName("AUTHORITY");
454
- /* Do we have an EPGS code ? */
455
- let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
456
- let code = (epsgCode == 0) ? crsCode : epsgCode;
457
- /* Create the datum */
458
- let datum = new Datum(code, name, Datum.TYPE_VERTICAL, null /*spheroid*/, null /*primeMeridian*/);
459
- /* Return the CRS */
460
- return new CRS(code, name, 0 /*area*/, CRS.VERTICAL, 6499 /*csCode*/, datum, null /*baseCRS*/, null /*projectionOperation*/, null /*toWGS84*/);
461
- }
462
- /**
463
- * Parse a CRS well-known-text.
464
- * @param crsCode the code of the CRS.
465
- * @param text the well-known-text.
466
- * @param dialect the dialect of WKT to parse.
467
- * @return the CRS (null if unable to parse).
468
- */
469
- static parseSpatialReferenceSystem(crsCode, text, dialect) {
470
- let node = WellKnownTextNode.parse(text);
471
- if (Strings.equalsIgnoreCase(node.getName(), "GEOCCS"))
472
- return WellKnownText.parseGeocentric(crsCode, node, dialect);
473
- if (Strings.equalsIgnoreCase(node.getName(), "GEOGCS"))
474
- return WellKnownText.parseGeographic(crsCode, node, dialect);
475
- if (Strings.equalsIgnoreCase(node.getName(), "PROJCS"))
476
- return WellKnownText.parseProjection(crsCode, node, dialect);
477
- if (Strings.equalsIgnoreCase(node.getName(), "VERTCS"))
478
- return WellKnownText.parseVertical(crsCode, node, dialect);
479
- Message.printWarning(WellKnownText.MODULE, "Invalid spatial reference system WKT '" + text + "'");
480
- return null;
481
- }
482
- }
483
- /** The name of this module */
484
- WellKnownText.MODULE = "WellKnownText";
485
- /** The dialect type in case of generic WKT */
486
- WellKnownText.TYPE_GENERIC = "generic";
487
- /** The conversion ratio from "arc-sec" to "radian" */
488
- WellKnownText._ARC_SEC_TO_RAD = (1.0 / 3600.0 * Math.PI / 180.0);
489
- /** The counter for creating unique codes */
490
- WellKnownText._CODES = 100000;
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module OrbitGT
7
+ */
8
+ import { AList } from "../../system/collection/AList";
9
+ import { ASystem } from "../../system/runtime/ASystem";
10
+ import { Message } from "../../system/runtime/Message";
11
+ import { Numbers } from "../../system/runtime/Numbers";
12
+ import { Strings } from "../../system/runtime/Strings";
13
+ import { CRS } from "./CRS";
14
+ import { Datum } from "./Datum";
15
+ import { Ellipsoid } from "./Ellipsoid";
16
+ import { Operation } from "./Operation";
17
+ import { ParameterValue } from "./ParameterValue";
18
+ import { ParameterValueList } from "./ParameterValueList";
19
+ import { PrimeMeridian } from "./PrimeMeridian";
20
+ import { HotineObliqueMercator } from "./projection/HotineObliqueMercator";
21
+ import { KrovakObliqueConformalConic } from "./projection/KrovakObliqueConformalConic";
22
+ import { KrovakObliqueConformalConicEN } from "./projection/KrovakObliqueConformalConicEN";
23
+ import { LambertConical1SP } from "./projection/LambertConical1SP";
24
+ import { LambertConical2SP } from "./projection/LambertConical2SP";
25
+ import { Mercator1SP } from "./projection/Mercator1SP";
26
+ import { ObliqueMercator } from "./projection/ObliqueMercator";
27
+ import { ObliqueStereographic } from "./projection/ObliqueStereographic";
28
+ import { TransverseMercator } from "./projection/TransverseMercator";
29
+ import { Registry } from "./Registry";
30
+ import { PositionVector } from "./transformation/PositionVector";
31
+ import { Unit } from "./Unit";
32
+ import { WellKnownTextNode } from "./WellKnownTextNode";
33
+ /**
34
+ * Class WellKnownText parses Well-known Text Representations of Spatial Reference Systems.
35
+ *
36
+ * @version 1.0 December 2010
37
+ */
38
+ /** @internal */
39
+ export class WellKnownText {
40
+ /**
41
+ * No instances.
42
+ */
43
+ constructor() { }
44
+ /**
45
+ * Unquote a name.
46
+ * @param name the name.
47
+ * @return the unquoted name.
48
+ */
49
+ static unquote(name) {
50
+ name = Strings.trim(name);
51
+ ASystem.assert0(Strings.startsWith(name, "\""), "Name '" + name + "' does not start with a quote");
52
+ ASystem.assert0(Strings.endsWith(name, "\""), "Name '" + name + "' does not end with a quote");
53
+ return Strings.substring(name, 1, Strings.getLength(name) - 1);
54
+ }
55
+ /**
56
+ * Get a number.
57
+ * @param value the string value.
58
+ * @return the number.
59
+ */
60
+ static getInteger(value) {
61
+ return Numbers.getInteger(value, 0);
62
+ }
63
+ /**
64
+ * Get a number.
65
+ * @param value the string value.
66
+ * @return the number.
67
+ */
68
+ static getDouble(value) {
69
+ return Numbers.getDouble(value, 0.0);
70
+ }
71
+ /**
72
+ * Get a number.
73
+ * @param value the node value.
74
+ * @return the number.
75
+ */
76
+ static getNodeDouble(value) {
77
+ if (value == null)
78
+ return 0.0;
79
+ return Numbers.getDouble(value.getName(), 0.0);
80
+ }
81
+ /**
82
+ * Get an EPSG code for an element.
83
+ * @param authority the authority for the element.
84
+ * @param dialect the dialect of WKT to parse.
85
+ * @return the EPSG code (zero if not found).
86
+ */
87
+ static getEPSGCode(authority, dialect) {
88
+ // example: AUTHORITY["EPSG","2320"]
89
+ if (authority == null)
90
+ return 0;
91
+ let name = WellKnownText.unquote(authority.getArgument(0).getName());
92
+ let code = WellKnownText.unquote(authority.getArgument(1).getName());
93
+ if (Strings.equalsIgnoreCase(name, "EPSG") == false)
94
+ return 0;
95
+ let epsgCode = Numbers.getInteger(code, 0);
96
+ return epsgCode; // Enabled on 06/06/2014
97
+ }
98
+ /**
99
+ * Parse a linear unit.
100
+ * @param node the well-known-text node.
101
+ * @param dialect the dialect of WKT to parse.
102
+ * @return the unit.
103
+ */
104
+ static parseLinearUnit(node, dialect) {
105
+ /* Get the parameters */
106
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
107
+ let conversionFactor = WellKnownText.getDouble(node.getArgument(1).getName());
108
+ let authority = node.getArgumentByName("AUTHORITY");
109
+ /* Do we have an EPGS code ? */
110
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
111
+ let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
112
+ /* Return the unit */
113
+ return new Unit(code, name, name /*abbreviation*/, "length", Unit.METER /*targetUnitCode*/, conversionFactor, 1.0);
114
+ }
115
+ /**
116
+ * Parse an angular unit.
117
+ * @param node the well-known-text node.
118
+ * @param dialect the dialect of WKT to parse.
119
+ * @return the unit.
120
+ */
121
+ static parseAngularUnit(node, dialect) {
122
+ /* Get the parameters */
123
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
124
+ let conversionFactor = WellKnownText.getDouble(node.getArgument(1).getName());
125
+ let authority = node.getArgumentByName("AUTHORITY");
126
+ /* Do we have an EPGS code ? */
127
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
128
+ let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
129
+ /* Return the unit */
130
+ return new Unit(code, name, name /*abbreviation*/, "angle", Unit.RADIAN /*targetUnitCode*/, conversionFactor, 1.0);
131
+ }
132
+ /**
133
+ * Parse a spheroid.
134
+ * @param crsCode the code of the CRS.
135
+ * @param node the well-known-text node.
136
+ * @param dialect the dialect of WKT to parse.
137
+ * @return the ellipsoid.
138
+ */
139
+ static parseSpheroid(crsCode, node, dialect) {
140
+ /* Get the parameters */
141
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
142
+ let semiMajorAxis = WellKnownText.getDouble(node.getArgument(1).getName());
143
+ let invFlattening = WellKnownText.getDouble(node.getArgument(2).getName());
144
+ let authority = node.getArgumentByName("AUTHORITY");
145
+ /* Do we have an EPGS code ? */
146
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
147
+ let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
148
+ /* Return the ellipsoid */
149
+ return new Ellipsoid(code, name, Unit.METER, semiMajorAxis, invFlattening, 0.0);
150
+ }
151
+ /**
152
+ * Parse a prime-meridian.
153
+ * @param crsCode the code of the CRS.
154
+ * @param node the well-known-text node.
155
+ * @param dialect the dialect of WKT to parse.
156
+ * @return the prime-meridian.
157
+ */
158
+ static parsePrimeMeridian(crsCode, node, dialect) {
159
+ /* Get the parameters */
160
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
161
+ let longitude = WellKnownText.getDouble(node.getArgument(1).getName());
162
+ let authority = node.getArgumentByName("AUTHORITY");
163
+ /* Do we have an EPGS code ? */
164
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
165
+ let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
166
+ /* Return the prime-meridian */
167
+ return new PrimeMeridian(code, name, longitude /*lonFromGreenwich*/, Unit.DEGREE /*?*/);
168
+ }
169
+ /**
170
+ * Parse a to-wgs84 transform.
171
+ * @param node the well-known-text node (method position vector).
172
+ * @param dialect the dialect of WKT to parse.
173
+ * @return the transform.
174
+ */
175
+ static parseToWGS84(node, dialect) {
176
+ /* No transform ? */
177
+ if (node == null)
178
+ return null;
179
+ /* Get the parameters */
180
+ let dx = WellKnownText.getNodeDouble(node.getArgument(0)); // meter
181
+ let dy = WellKnownText.getNodeDouble(node.getArgument(1));
182
+ let dz = WellKnownText.getNodeDouble(node.getArgument(2));
183
+ let rx = WellKnownText.getNodeDouble(node.getOptionalArgument(3)); // arc-second
184
+ let ry = WellKnownText.getNodeDouble(node.getOptionalArgument(4));
185
+ let rz = WellKnownText.getNodeDouble(node.getOptionalArgument(5));
186
+ let ppm = WellKnownText.getNodeDouble(node.getOptionalArgument(6)); // parts-per-million
187
+ /* Return the transform */
188
+ return PositionVector.create(dx, dy, dz, rx * WellKnownText._ARC_SEC_TO_RAD, ry * WellKnownText._ARC_SEC_TO_RAD, rz * WellKnownText._ARC_SEC_TO_RAD, ppm / 1.0e6);
189
+ }
190
+ /**
191
+ * Parse a datum.
192
+ * @param crsCode the code of the CRS.
193
+ * @param node the well-known-text node.
194
+ * @param primeMeridian the prime meridian.
195
+ * @param dialect the dialect of WKT to parse.
196
+ * @return the datum (with optional embedded datum transformation to WGS84).
197
+ */
198
+ static parseDatum(crsCode, node, primeMeridian, dialect) {
199
+ /* Get the parameters */
200
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
201
+ let spheroid = WellKnownText.parseSpheroid(crsCode, node.getArgumentByName("SPHEROID"), dialect);
202
+ let toWGS84 = WellKnownText.parseToWGS84(node.getArgumentByName("TOWGS84"), dialect);
203
+ if (toWGS84 == null)
204
+ toWGS84 = PositionVector.create(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); // default (identity) transform added on 19/06/2013 to allow ViewTransform creation.
205
+ let authority = node.getArgumentByName("AUTHORITY");
206
+ /* Do we have an EPGS code ? */
207
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
208
+ let code = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;
209
+ /* Return the datum */
210
+ let datum = new Datum(code, name, Datum.TYPE_GEODETIC, spheroid, primeMeridian);
211
+ datum.setToWGS84(toWGS84);
212
+ return datum;
213
+ }
214
+ /**
215
+ * Parse a projection method.
216
+ * @param projection the well-known-text projection node.
217
+ * @param parameters the well-known-text parameter nodes.
218
+ * @param dialect the dialect of WKT to parse.
219
+ * @return the projection method.
220
+ */
221
+ static parseProjectionMethod(projection, parameters, dialect) {
222
+ // See: http://www.remotesensing.org/geotiff/proj_list/
223
+ // for method names and parameter names and units
224
+ //
225
+ /* Get the projection name */
226
+ let projectionName = WellKnownText.unquote(projection.getArgument(0).getName());
227
+ /* Get the standard units */
228
+ let DEG = Registry.getUnit(Unit.DEGREE);
229
+ let METER = Registry.getUnit(Unit.METER);
230
+ let SCALE = Registry.getUnit(Unit.UNITY);
231
+ /* Convert to standard parameters */
232
+ let parameterList = new ParameterValueList();
233
+ for (let i = 0; i < parameters.size(); i++) {
234
+ /* Get the parameter name and value */
235
+ let parameter = parameters.get(i);
236
+ let parameterName = WellKnownText.unquote(parameter.getArgument(0).getName());
237
+ let parameterValue = WellKnownText.getDouble(parameter.getArgument(1).getName());
238
+ /* Hotine_Oblique_Mercator */
239
+ if (Strings.equalsIgnoreCase(projectionName, "Hotine_Oblique_Mercator")) {
240
+ if (Strings.equalsIgnoreCase(parameterName, "latitude_of_center"))
241
+ parameterList.add(new ParameterValue(8811, parameterValue, DEG));
242
+ if (Strings.equalsIgnoreCase(parameterName, "longitude_of_center"))
243
+ parameterList.add(new ParameterValue(8812, parameterValue, DEG));
244
+ if (Strings.equalsIgnoreCase(parameterName, "azimuth"))
245
+ parameterList.add(new ParameterValue(8813, parameterValue, DEG));
246
+ if (Strings.equalsIgnoreCase(parameterName, "rectified_grid_angle"))
247
+ parameterList.add(new ParameterValue(8814, parameterValue, DEG));
248
+ if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
249
+ parameterList.add(new ParameterValue(8815, parameterValue, SCALE));
250
+ if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
251
+ parameterList.add(new ParameterValue(8806, parameterValue, METER));
252
+ if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
253
+ parameterList.add(new ParameterValue(8807, parameterValue, METER));
254
+ }
255
+ /* Krovak */
256
+ if (Strings.equalsIgnoreCase(projectionName, "Krovak") || Strings.equalsIgnoreCase(projectionName, "KrovakEN")) {
257
+ if (Strings.equalsIgnoreCase(parameterName, "latitude_of_center"))
258
+ parameterList.add(new ParameterValue(8811, parameterValue, DEG));
259
+ if (Strings.equalsIgnoreCase(parameterName, "longitude_of_center"))
260
+ parameterList.add(new ParameterValue(8833, parameterValue, DEG));
261
+ if (Strings.equalsIgnoreCase(parameterName, "azimuth"))
262
+ parameterList.add(new ParameterValue(1036, parameterValue, DEG)); // changed from 8813 to 1036 on 31/08/2017
263
+ if (Strings.equalsIgnoreCase(parameterName, "pseudo_standard_parallel_1"))
264
+ parameterList.add(new ParameterValue(8818, parameterValue, DEG));
265
+ if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
266
+ parameterList.add(new ParameterValue(8819, parameterValue, SCALE));
267
+ if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
268
+ parameterList.add(new ParameterValue(8806, parameterValue, METER));
269
+ if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
270
+ parameterList.add(new ParameterValue(8807, parameterValue, METER));
271
+ }
272
+ /* Lambert_Conformal_Conic_1SP */
273
+ if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_1SP")) {
274
+ if (Strings.equalsIgnoreCase(parameterName, "latitude_of_origin"))
275
+ parameterList.add(new ParameterValue(8801, parameterValue, DEG));
276
+ if (Strings.equalsIgnoreCase(parameterName, "central_meridian"))
277
+ parameterList.add(new ParameterValue(8802, parameterValue, DEG));
278
+ if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
279
+ parameterList.add(new ParameterValue(8805, parameterValue, SCALE));
280
+ if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
281
+ parameterList.add(new ParameterValue(8806, parameterValue, METER));
282
+ if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
283
+ parameterList.add(new ParameterValue(8807, parameterValue, METER));
284
+ }
285
+ /* Lambert_Conformal_Conic_2SP / Lambert_Conformal_Conic_2SP_Belgium / Lambert_Conformal_Conic */
286
+ if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_2SP") || Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_2SP_Belgium") || Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic")) {
287
+ if (Strings.equalsIgnoreCase(parameterName, "latitude_of_origin"))
288
+ parameterList.add(new ParameterValue(8821, parameterValue, DEG));
289
+ if (Strings.equalsIgnoreCase(parameterName, "central_meridian"))
290
+ parameterList.add(new ParameterValue(8822, parameterValue, DEG));
291
+ if (Strings.equalsIgnoreCase(parameterName, "standard_parallel_1"))
292
+ parameterList.add(new ParameterValue(8823, parameterValue, DEG));
293
+ if (Strings.equalsIgnoreCase(parameterName, "standard_parallel_2"))
294
+ parameterList.add(new ParameterValue(8824, parameterValue, DEG));
295
+ if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
296
+ parameterList.add(new ParameterValue(8826, parameterValue, METER));
297
+ if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
298
+ parameterList.add(new ParameterValue(8827, parameterValue, METER));
299
+ // if (Strings.equalsIgnoreCase(parameterName,"scale_factor")) {if (parameterValue!=1.0) throw new IllegalArgumentException(MODULE+" : Invalid parameter '"+parameterName+"' with value "+parameterValue);}
300
+ }
301
+ /* Mercator_1SP */
302
+ if (Strings.equalsIgnoreCase(projectionName, "Mercator_1SP")) {
303
+ if (Strings.equalsIgnoreCase(parameterName, "latitude_of_origin"))
304
+ parameterList.add(new ParameterValue(8801, parameterValue, DEG));
305
+ if (Strings.equalsIgnoreCase(parameterName, "central_meridian"))
306
+ parameterList.add(new ParameterValue(8802, parameterValue, DEG));
307
+ if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
308
+ parameterList.add(new ParameterValue(8805, parameterValue, SCALE));
309
+ if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
310
+ parameterList.add(new ParameterValue(8806, parameterValue, METER));
311
+ if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
312
+ parameterList.add(new ParameterValue(8807, parameterValue, METER));
313
+ }
314
+ /* Oblique_Mercator */
315
+ if (Strings.equalsIgnoreCase(projectionName, "Oblique_Mercator")) {
316
+ if (Strings.equalsIgnoreCase(parameterName, "latitude_of_center"))
317
+ parameterList.add(new ParameterValue(8811, parameterValue, DEG));
318
+ if (Strings.equalsIgnoreCase(parameterName, "longitude_of_center"))
319
+ parameterList.add(new ParameterValue(8812, parameterValue, DEG));
320
+ if (Strings.equalsIgnoreCase(parameterName, "azimuth"))
321
+ parameterList.add(new ParameterValue(8813, parameterValue, DEG));
322
+ if (Strings.equalsIgnoreCase(parameterName, "rectified_grid_angle"))
323
+ parameterList.add(new ParameterValue(8814, parameterValue, DEG));
324
+ if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
325
+ parameterList.add(new ParameterValue(8815, parameterValue, SCALE));
326
+ if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
327
+ parameterList.add(new ParameterValue(8816, parameterValue, METER));
328
+ if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
329
+ parameterList.add(new ParameterValue(8817, parameterValue, METER));
330
+ }
331
+ /* Oblique_Stereographic /Transverse_Mercator */
332
+ if (Strings.equalsIgnoreCase(projectionName, "Oblique_Stereographic") || Strings.equalsIgnoreCase(projectionName, "Transverse_Mercator")) {
333
+ if (Strings.equalsIgnoreCase(parameterName, "latitude_of_origin"))
334
+ parameterList.add(new ParameterValue(8801, parameterValue, DEG));
335
+ if (Strings.equalsIgnoreCase(parameterName, "central_meridian"))
336
+ parameterList.add(new ParameterValue(8802, parameterValue, DEG));
337
+ if (Strings.equalsIgnoreCase(parameterName, "scale_factor"))
338
+ parameterList.add(new ParameterValue(8805, parameterValue, SCALE));
339
+ if (Strings.equalsIgnoreCase(parameterName, "false_easting"))
340
+ parameterList.add(new ParameterValue(8806, parameterValue, METER));
341
+ if (Strings.equalsIgnoreCase(parameterName, "false_northing"))
342
+ parameterList.add(new ParameterValue(8807, parameterValue, METER));
343
+ }
344
+ }
345
+ /* Create the right method */
346
+ if (Strings.equalsIgnoreCase(projectionName, "Hotine_Oblique_Mercator"))
347
+ return new HotineObliqueMercator(parameterList);
348
+ if (Strings.equalsIgnoreCase(projectionName, "Krovak"))
349
+ return new KrovakObliqueConformalConic(parameterList);
350
+ if (Strings.equalsIgnoreCase(projectionName, "KrovakEN"))
351
+ return new KrovakObliqueConformalConicEN(parameterList);
352
+ if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_1SP"))
353
+ return new LambertConical1SP(parameterList);
354
+ if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic_2SP"))
355
+ return new LambertConical2SP(parameterList);
356
+ if (Strings.equalsIgnoreCase(projectionName, "Lambert_Conformal_Conic"))
357
+ return new LambertConical2SP(parameterList);
358
+ if (Strings.equalsIgnoreCase(projectionName, "Mercator_1SP"))
359
+ return new Mercator1SP(parameterList);
360
+ if (Strings.equalsIgnoreCase(projectionName, "Oblique_Mercator"))
361
+ return new ObliqueMercator(parameterList);
362
+ if (Strings.equalsIgnoreCase(projectionName, "Oblique_Stereographic"))
363
+ return new ObliqueStereographic(parameterList);
364
+ if (Strings.equalsIgnoreCase(projectionName, "Transverse_Mercator"))
365
+ return new TransverseMercator(parameterList);
366
+ ASystem.assert0(false, "Unknown projection type '" + projectionName + "'");
367
+ return null;
368
+ }
369
+ /**
370
+ * Parse a geocentric CRS.
371
+ * @param crsCode the code of the CRS.
372
+ * @param node the well-known-text node.
373
+ * @param dialect the dialect of WKT to parse.
374
+ * @return the CRS.
375
+ */
376
+ static parseGeocentric(crsCode, node, dialect) {
377
+ /* Get the parameters */
378
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
379
+ let primeMeridian = WellKnownText.parsePrimeMeridian(crsCode, node.getArgumentByName("PRIMEM"), dialect);
380
+ let datum = WellKnownText.parseDatum(crsCode, node.getArgumentByName("DATUM"), primeMeridian, dialect);
381
+ let toWGS84m = datum.getToWGS84();
382
+ let toWGS84s = new AList();
383
+ let linearUnit = WellKnownText.parseLinearUnit(node.getArgumentByName("UNIT"), dialect);
384
+ let axis = node.getArgumentsByName("AXIS");
385
+ let authority = node.getArgumentByName("AUTHORITY");
386
+ /* Do we have an EPGS code ? */
387
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
388
+ let code = (epsgCode == 0) ? crsCode : epsgCode;
389
+ /* Return the CRS */
390
+ if (toWGS84m != null)
391
+ toWGS84s.add(new Operation(0 /*code*/, "" /*name*/, Operation.TRANSFORMATION, code, CRS.WGS84_2D_CRS_CODE, 0 /*area*/, toWGS84m));
392
+ return new CRS(code, name, 0 /*area*/, CRS.GEOCENTRIC, 0 /*csCode*/, datum, null /*baseCRS*/, null /*projection*/, toWGS84s);
393
+ }
394
+ /**
395
+ * Parse a geographic CRS.
396
+ * @param crsCode the code of the CRS.
397
+ * @param node the well-known-text node.
398
+ * @param dialect the dialect of WKT to parse.
399
+ * @return the CRS.
400
+ */
401
+ static parseGeographic(crsCode, node, dialect) {
402
+ /* Get the parameters */
403
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
404
+ let primeMeridian = WellKnownText.parsePrimeMeridian(crsCode, node.getArgumentByName("PRIMEM"), dialect);
405
+ let datum = WellKnownText.parseDatum(crsCode, node.getArgumentByName("DATUM"), primeMeridian, dialect);
406
+ let toWGS84m = datum.getToWGS84();
407
+ let toWGS84s = new AList();
408
+ let angularUnit = WellKnownText.parseAngularUnit(node.getArgumentByName("UNIT"), dialect);
409
+ let axis = node.getArgumentsByName("AXIS");
410
+ let authority = node.getArgumentByName("AUTHORITY");
411
+ /* Do we have an EPGS code ? */
412
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
413
+ let code = (epsgCode == 0) ? crsCode : epsgCode;
414
+ /* Return the CRS */
415
+ if (toWGS84m != null)
416
+ toWGS84s.add(new Operation(0 /*code*/, "" /*name*/, Operation.TRANSFORMATION, code, CRS.WGS84_2D_CRS_CODE, 0 /*area*/, toWGS84m));
417
+ return new CRS(code, name, 0 /*area*/, CRS.GEOGRAPHIC_2D, 0 /*csCode*/, datum, null /*baseCRS*/, null /*projection*/, toWGS84s);
418
+ }
419
+ /**
420
+ * Parse a projected CRS.
421
+ * @param crsCode the code of the CRS.
422
+ * @param node the well-known-text node.
423
+ * @param dialect the dialect of WKT to parse.
424
+ * @return the CRS.
425
+ */
426
+ static parseProjection(crsCode, node, dialect) {
427
+ /* Get the parameters */
428
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
429
+ let baseCRS = WellKnownText.parseGeographic(-crsCode, node.getArgumentByName("GEOGCS"), dialect);
430
+ let projection = node.getArgumentByName("PROJECTION");
431
+ let parameters = node.getArgumentsByName("PARAMETER");
432
+ let projectionMethod = WellKnownText.parseProjectionMethod(projection, parameters, dialect);
433
+ let linearUnit = WellKnownText.parseLinearUnit(node.getArgumentByName("UNIT"), dialect);
434
+ let axis = node.getArgumentsByName("AXIS");
435
+ let authority = node.getArgumentByName("AUTHORITY");
436
+ /* Do we have an EPGS code ? */
437
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
438
+ let code = (epsgCode == 0) ? crsCode : epsgCode;
439
+ /* Return the CRS */
440
+ let projectionOperation = new Operation(0 /*code*/, "" /*name*/, Operation.CONVERSION, code, baseCRS.getCode(), 0 /*area*/, projectionMethod);
441
+ return new CRS(code, name, 0 /*area*/, CRS.PROJECTED, 0 /*csCode*/, null /*datum*/, baseCRS, projectionOperation, null /*toWGS84*/);
442
+ }
443
+ /**
444
+ * Parse a vertical CRS.
445
+ * @param crsCode the code of the CRS.
446
+ * @param node the well-known-text node.
447
+ * @param dialect the dialect of WKT to parse.
448
+ * @return the CRS.
449
+ */
450
+ static parseVertical(crsCode, node, dialect) {
451
+ /* Get the parameters */
452
+ let name = WellKnownText.unquote(node.getArgument(0).getName());
453
+ let authority = node.getArgumentByName("AUTHORITY");
454
+ /* Do we have an EPGS code ? */
455
+ let epsgCode = WellKnownText.getEPSGCode(authority, dialect);
456
+ let code = (epsgCode == 0) ? crsCode : epsgCode;
457
+ /* Create the datum */
458
+ let datum = new Datum(code, name, Datum.TYPE_VERTICAL, null /*spheroid*/, null /*primeMeridian*/);
459
+ /* Return the CRS */
460
+ return new CRS(code, name, 0 /*area*/, CRS.VERTICAL, 6499 /*csCode*/, datum, null /*baseCRS*/, null /*projectionOperation*/, null /*toWGS84*/);
461
+ }
462
+ /**
463
+ * Parse a CRS well-known-text.
464
+ * @param crsCode the code of the CRS.
465
+ * @param text the well-known-text.
466
+ * @param dialect the dialect of WKT to parse.
467
+ * @return the CRS (null if unable to parse).
468
+ */
469
+ static parseSpatialReferenceSystem(crsCode, text, dialect) {
470
+ let node = WellKnownTextNode.parse(text);
471
+ if (Strings.equalsIgnoreCase(node.getName(), "GEOCCS"))
472
+ return WellKnownText.parseGeocentric(crsCode, node, dialect);
473
+ if (Strings.equalsIgnoreCase(node.getName(), "GEOGCS"))
474
+ return WellKnownText.parseGeographic(crsCode, node, dialect);
475
+ if (Strings.equalsIgnoreCase(node.getName(), "PROJCS"))
476
+ return WellKnownText.parseProjection(crsCode, node, dialect);
477
+ if (Strings.equalsIgnoreCase(node.getName(), "VERTCS"))
478
+ return WellKnownText.parseVertical(crsCode, node, dialect);
479
+ Message.printWarning(WellKnownText.MODULE, "Invalid spatial reference system WKT '" + text + "'");
480
+ return null;
481
+ }
482
+ }
483
+ /** The name of this module */
484
+ WellKnownText.MODULE = "WellKnownText";
485
+ /** The dialect type in case of generic WKT */
486
+ WellKnownText.TYPE_GENERIC = "generic";
487
+ /** The conversion ratio from "arc-sec" to "radian" */
488
+ WellKnownText._ARC_SEC_TO_RAD = (1.0 / 3600.0 * Math.PI / 180.0);
489
+ /** The counter for creating unique codes */
490
+ WellKnownText._CODES = 100000;
491
491
  //# sourceMappingURL=WellKnownText.js.map