@itwin/core-orbitgt 3.0.0-dev.100

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 (818) hide show
  1. package/CHANGELOG.md +515 -0
  2. package/lib/cjs/core-orbitgt.d.ts +27 -0
  3. package/lib/cjs/core-orbitgt.d.ts.map +1 -0
  4. package/lib/cjs/core-orbitgt.js +59 -0
  5. package/lib/cjs/core-orbitgt.js.map +1 -0
  6. package/lib/cjs/pointcloud/format/opc/AttributeMask.d.ts +31 -0
  7. package/lib/cjs/pointcloud/format/opc/AttributeMask.d.ts.map +1 -0
  8. package/lib/cjs/pointcloud/format/opc/AttributeMask.js +48 -0
  9. package/lib/cjs/pointcloud/format/opc/AttributeMask.js.map +1 -0
  10. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts +64 -0
  11. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts.map +1 -0
  12. package/lib/cjs/pointcloud/format/opc/AttributeReader.js +25 -0
  13. package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -0
  14. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts +55 -0
  15. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts.map +1 -0
  16. package/lib/cjs/pointcloud/format/opc/BlockRecord.js +85 -0
  17. package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -0
  18. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts +86 -0
  19. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts.map +1 -0
  20. package/lib/cjs/pointcloud/format/opc/ContainerFile.js +200 -0
  21. package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -0
  22. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.d.ts +56 -0
  23. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.d.ts.map +1 -0
  24. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js +76 -0
  25. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js.map +1 -0
  26. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts +76 -0
  27. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts.map +1 -0
  28. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js +170 -0
  29. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -0
  30. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts +60 -0
  31. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts.map +1 -0
  32. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js +90 -0
  33. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -0
  34. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +107 -0
  35. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts.map +1 -0
  36. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js +198 -0
  37. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -0
  38. package/lib/cjs/pointcloud/format/opc/FileAccess.d.ts +40 -0
  39. package/lib/cjs/pointcloud/format/opc/FileAccess.d.ts.map +1 -0
  40. package/lib/cjs/pointcloud/format/opc/FileAccess.js +49 -0
  41. package/lib/cjs/pointcloud/format/opc/FileAccess.js.map +1 -0
  42. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts +119 -0
  43. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts.map +1 -0
  44. package/lib/cjs/pointcloud/format/opc/FileReader.js +249 -0
  45. package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -0
  46. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts +90 -0
  47. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts.map +1 -0
  48. package/lib/cjs/pointcloud/format/opc/FileRecord.js +126 -0
  49. package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -0
  50. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts +80 -0
  51. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts.map +1 -0
  52. package/lib/cjs/pointcloud/format/opc/GeometryReader.js +164 -0
  53. package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -0
  54. package/lib/cjs/pointcloud/format/opc/GeometryRecord.d.ts +54 -0
  55. package/lib/cjs/pointcloud/format/opc/GeometryRecord.d.ts.map +1 -0
  56. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js +108 -0
  57. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js.map +1 -0
  58. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts +158 -0
  59. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts.map +1 -0
  60. package/lib/cjs/pointcloud/format/opc/OPCReader.js +320 -0
  61. package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -0
  62. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts +73 -0
  63. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts.map +1 -0
  64. package/lib/cjs/pointcloud/format/opc/PointReader.js +153 -0
  65. package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -0
  66. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts +64 -0
  67. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts.map +1 -0
  68. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js +93 -0
  69. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -0
  70. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts +89 -0
  71. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts.map +1 -0
  72. package/lib/cjs/pointcloud/format/opc/TileRecord.js +162 -0
  73. package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -0
  74. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts +38 -0
  75. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts.map +1 -0
  76. package/lib/cjs/pointcloud/model/AttributeTypes.js +65 -0
  77. package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -0
  78. package/lib/cjs/pointcloud/model/AttributeValue.d.ts +248 -0
  79. package/lib/cjs/pointcloud/model/AttributeValue.d.ts.map +1 -0
  80. package/lib/cjs/pointcloud/model/AttributeValue.js +509 -0
  81. package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -0
  82. package/lib/cjs/pointcloud/model/BlockIndex.d.ts +50 -0
  83. package/lib/cjs/pointcloud/model/BlockIndex.d.ts.map +1 -0
  84. package/lib/cjs/pointcloud/model/BlockIndex.js +49 -0
  85. package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -0
  86. package/lib/cjs/pointcloud/model/CloudPoint.d.ts +211 -0
  87. package/lib/cjs/pointcloud/model/CloudPoint.d.ts.map +1 -0
  88. package/lib/cjs/pointcloud/model/CloudPoint.js +319 -0
  89. package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -0
  90. package/lib/cjs/pointcloud/model/Grid.d.ts +92 -0
  91. package/lib/cjs/pointcloud/model/Grid.d.ts.map +1 -0
  92. package/lib/cjs/pointcloud/model/Grid.js +130 -0
  93. package/lib/cjs/pointcloud/model/Grid.js.map +1 -0
  94. package/lib/cjs/pointcloud/model/GridIndex.d.ts +67 -0
  95. package/lib/cjs/pointcloud/model/GridIndex.d.ts.map +1 -0
  96. package/lib/cjs/pointcloud/model/GridIndex.js +94 -0
  97. package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -0
  98. package/lib/cjs/pointcloud/model/PointAttribute.d.ts +209 -0
  99. package/lib/cjs/pointcloud/model/PointAttribute.d.ts.map +1 -0
  100. package/lib/cjs/pointcloud/model/PointAttribute.js +375 -0
  101. package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -0
  102. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts +157 -0
  103. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts.map +1 -0
  104. package/lib/cjs/pointcloud/model/PointCloudReader.js +190 -0
  105. package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -0
  106. package/lib/cjs/pointcloud/model/PointData.d.ts +18 -0
  107. package/lib/cjs/pointcloud/model/PointData.d.ts.map +1 -0
  108. package/lib/cjs/pointcloud/model/PointData.js +25 -0
  109. package/lib/cjs/pointcloud/model/PointData.js.map +1 -0
  110. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts +35 -0
  111. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts.map +1 -0
  112. package/lib/cjs/pointcloud/model/PointDataRaw.js +70 -0
  113. package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -0
  114. package/lib/cjs/pointcloud/model/ReadRequest.d.ts +176 -0
  115. package/lib/cjs/pointcloud/model/ReadRequest.d.ts.map +1 -0
  116. package/lib/cjs/pointcloud/model/ReadRequest.js +240 -0
  117. package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -0
  118. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts +41 -0
  119. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts.map +1 -0
  120. package/lib/cjs/pointcloud/model/StandardAttributes.js +48 -0
  121. package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -0
  122. package/lib/cjs/pointcloud/model/TileIndex.d.ts +48 -0
  123. package/lib/cjs/pointcloud/model/TileIndex.d.ts.map +1 -0
  124. package/lib/cjs/pointcloud/model/TileIndex.js +48 -0
  125. package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -0
  126. package/lib/cjs/pointcloud/render/AViewRequest.d.ts +39 -0
  127. package/lib/cjs/pointcloud/render/AViewRequest.d.ts.map +1 -0
  128. package/lib/cjs/pointcloud/render/AViewRequest.js +25 -0
  129. package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -0
  130. package/lib/cjs/pointcloud/render/Block.d.ts +68 -0
  131. package/lib/cjs/pointcloud/render/Block.d.ts.map +1 -0
  132. package/lib/cjs/pointcloud/render/Block.js +120 -0
  133. package/lib/cjs/pointcloud/render/Block.js.map +1 -0
  134. package/lib/cjs/pointcloud/render/DataManager.d.ts +137 -0
  135. package/lib/cjs/pointcloud/render/DataManager.d.ts.map +1 -0
  136. package/lib/cjs/pointcloud/render/DataManager.js +343 -0
  137. package/lib/cjs/pointcloud/render/DataManager.js.map +1 -0
  138. package/lib/cjs/pointcloud/render/FrameData.d.ts +31 -0
  139. package/lib/cjs/pointcloud/render/FrameData.d.ts.map +1 -0
  140. package/lib/cjs/pointcloud/render/FrameData.js +40 -0
  141. package/lib/cjs/pointcloud/render/FrameData.js.map +1 -0
  142. package/lib/cjs/pointcloud/render/Level.d.ts +91 -0
  143. package/lib/cjs/pointcloud/render/Level.d.ts.map +1 -0
  144. package/lib/cjs/pointcloud/render/Level.js +120 -0
  145. package/lib/cjs/pointcloud/render/Level.js.map +1 -0
  146. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts +61 -0
  147. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts.map +1 -0
  148. package/lib/cjs/pointcloud/render/TileLoadSorter.js +100 -0
  149. package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -0
  150. package/lib/cjs/pointcloud/render/ViewTree.d.ts +114 -0
  151. package/lib/cjs/pointcloud/render/ViewTree.d.ts.map +1 -0
  152. package/lib/cjs/pointcloud/render/ViewTree.js +364 -0
  153. package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -0
  154. package/lib/cjs/spatial/crs/CRSEngine.d.ts +56 -0
  155. package/lib/cjs/spatial/crs/CRSEngine.d.ts.map +1 -0
  156. package/lib/cjs/spatial/crs/CRSEngine.js +94 -0
  157. package/lib/cjs/spatial/crs/CRSEngine.js.map +1 -0
  158. package/lib/cjs/spatial/crs/CRSManager.d.ts +50 -0
  159. package/lib/cjs/spatial/crs/CRSManager.d.ts.map +1 -0
  160. package/lib/cjs/spatial/crs/CRSManager.js +110 -0
  161. package/lib/cjs/spatial/crs/CRSManager.js.map +1 -0
  162. package/lib/cjs/spatial/ecrs/Axis.d.ts +78 -0
  163. package/lib/cjs/spatial/ecrs/Axis.d.ts.map +1 -0
  164. package/lib/cjs/spatial/ecrs/Axis.js +94 -0
  165. package/lib/cjs/spatial/ecrs/Axis.js.map +1 -0
  166. package/lib/cjs/spatial/ecrs/CRS.d.ts +448 -0
  167. package/lib/cjs/spatial/ecrs/CRS.d.ts.map +1 -0
  168. package/lib/cjs/spatial/ecrs/CRS.js +931 -0
  169. package/lib/cjs/spatial/ecrs/CRS.js.map +1 -0
  170. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts +143 -0
  171. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts.map +1 -0
  172. package/lib/cjs/spatial/ecrs/CoordinateSystem.js +327 -0
  173. package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -0
  174. package/lib/cjs/spatial/ecrs/DataFileUnit.d.ts +11 -0
  175. package/lib/cjs/spatial/ecrs/DataFileUnit.d.ts.map +1 -0
  176. package/lib/cjs/spatial/ecrs/DataFileUnit.js +105 -0
  177. package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -0
  178. package/lib/cjs/spatial/ecrs/Datum.d.ts +112 -0
  179. package/lib/cjs/spatial/ecrs/Datum.d.ts.map +1 -0
  180. package/lib/cjs/spatial/ecrs/Datum.js +167 -0
  181. package/lib/cjs/spatial/ecrs/Datum.js.map +1 -0
  182. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts +189 -0
  183. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts.map +1 -0
  184. package/lib/cjs/spatial/ecrs/Ellipsoid.js +337 -0
  185. package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -0
  186. package/lib/cjs/spatial/ecrs/OnlineEngine.d.ts +49 -0
  187. package/lib/cjs/spatial/ecrs/OnlineEngine.d.ts.map +1 -0
  188. package/lib/cjs/spatial/ecrs/OnlineEngine.js +103 -0
  189. package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -0
  190. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts +38 -0
  191. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts.map +1 -0
  192. package/lib/cjs/spatial/ecrs/OnlineRegistry.js +77 -0
  193. package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -0
  194. package/lib/cjs/spatial/ecrs/Operation.d.ts +192 -0
  195. package/lib/cjs/spatial/ecrs/Operation.d.ts.map +1 -0
  196. package/lib/cjs/spatial/ecrs/Operation.js +346 -0
  197. package/lib/cjs/spatial/ecrs/Operation.js.map +1 -0
  198. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts +72 -0
  199. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts.map +1 -0
  200. package/lib/cjs/spatial/ecrs/OperationMethod.js +76 -0
  201. package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -0
  202. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts +50 -0
  203. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts.map +1 -0
  204. package/lib/cjs/spatial/ecrs/ParameterValue.js +66 -0
  205. package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -0
  206. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts +73 -0
  207. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts.map +1 -0
  208. package/lib/cjs/spatial/ecrs/ParameterValueList.js +121 -0
  209. package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -0
  210. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts +79 -0
  211. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts.map +1 -0
  212. package/lib/cjs/spatial/ecrs/PrimeMeridian.js +109 -0
  213. package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -0
  214. package/lib/cjs/spatial/ecrs/Registry.d.ts +110 -0
  215. package/lib/cjs/spatial/ecrs/Registry.d.ts.map +1 -0
  216. package/lib/cjs/spatial/ecrs/Registry.js +208 -0
  217. package/lib/cjs/spatial/ecrs/Registry.js.map +1 -0
  218. package/lib/cjs/spatial/ecrs/Transform.d.ts +78 -0
  219. package/lib/cjs/spatial/ecrs/Transform.d.ts.map +1 -0
  220. package/lib/cjs/spatial/ecrs/Transform.js +397 -0
  221. package/lib/cjs/spatial/ecrs/Transform.js.map +1 -0
  222. package/lib/cjs/spatial/ecrs/Unit.d.ts +171 -0
  223. package/lib/cjs/spatial/ecrs/Unit.d.ts.map +1 -0
  224. package/lib/cjs/spatial/ecrs/Unit.js +337 -0
  225. package/lib/cjs/spatial/ecrs/Unit.js.map +1 -0
  226. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts +70 -0
  227. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts.map +1 -0
  228. package/lib/cjs/spatial/ecrs/VerticalModel.js +89 -0
  229. package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -0
  230. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts +154 -0
  231. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts.map +1 -0
  232. package/lib/cjs/spatial/ecrs/WellKnownText.js +495 -0
  233. package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -0
  234. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts +70 -0
  235. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts.map +1 -0
  236. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js +129 -0
  237. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -0
  238. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts +102 -0
  239. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts.map +1 -0
  240. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js +163 -0
  241. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -0
  242. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +80 -0
  243. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts.map +1 -0
  244. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js +126 -0
  245. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -0
  246. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +48 -0
  247. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts.map +1 -0
  248. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +74 -0
  249. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -0
  250. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts +73 -0
  251. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts.map +1 -0
  252. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js +130 -0
  253. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -0
  254. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts +121 -0
  255. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts.map +1 -0
  256. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js +180 -0
  257. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -0
  258. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts +74 -0
  259. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts.map +1 -0
  260. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js +113 -0
  261. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -0
  262. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts +97 -0
  263. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts.map +1 -0
  264. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js +174 -0
  265. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -0
  266. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts +124 -0
  267. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts.map +1 -0
  268. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js +209 -0
  269. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -0
  270. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts +109 -0
  271. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts.map +1 -0
  272. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js +184 -0
  273. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -0
  274. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts +91 -0
  275. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts.map +1 -0
  276. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js +131 -0
  277. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -0
  278. package/lib/cjs/spatial/geom/Bounds.d.ts +34 -0
  279. package/lib/cjs/spatial/geom/Bounds.d.ts.map +1 -0
  280. package/lib/cjs/spatial/geom/Bounds.js +157 -0
  281. package/lib/cjs/spatial/geom/Bounds.js.map +1 -0
  282. package/lib/cjs/spatial/geom/Coordinate.d.ts +62 -0
  283. package/lib/cjs/spatial/geom/Coordinate.d.ts.map +1 -0
  284. package/lib/cjs/spatial/geom/Coordinate.js +187 -0
  285. package/lib/cjs/spatial/geom/Coordinate.js.map +1 -0
  286. package/lib/cjs/spatial/geom/Line.d.ts +226 -0
  287. package/lib/cjs/spatial/geom/Line.d.ts.map +1 -0
  288. package/lib/cjs/spatial/geom/Line.js +433 -0
  289. package/lib/cjs/spatial/geom/Line.js.map +1 -0
  290. package/lib/cjs/spatial/geom/Transform.d.ts +341 -0
  291. package/lib/cjs/spatial/geom/Transform.d.ts.map +1 -0
  292. package/lib/cjs/spatial/geom/Transform.js +749 -0
  293. package/lib/cjs/spatial/geom/Transform.js.map +1 -0
  294. package/lib/cjs/system/buffer/ABuffer.d.ts +52 -0
  295. package/lib/cjs/system/buffer/ABuffer.d.ts.map +1 -0
  296. package/lib/cjs/system/buffer/ABuffer.js +91 -0
  297. package/lib/cjs/system/buffer/ABuffer.js.map +1 -0
  298. package/lib/cjs/system/buffer/Float32Buffer.d.ts +47 -0
  299. package/lib/cjs/system/buffer/Float32Buffer.d.ts.map +1 -0
  300. package/lib/cjs/system/buffer/Float32Buffer.js +61 -0
  301. package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -0
  302. package/lib/cjs/system/buffer/LittleEndian.d.ts +150 -0
  303. package/lib/cjs/system/buffer/LittleEndian.d.ts.map +1 -0
  304. package/lib/cjs/system/buffer/LittleEndian.js +304 -0
  305. package/lib/cjs/system/buffer/LittleEndian.js.map +1 -0
  306. package/lib/cjs/system/buffer/Uint16Buffer.d.ts +50 -0
  307. package/lib/cjs/system/buffer/Uint16Buffer.d.ts.map +1 -0
  308. package/lib/cjs/system/buffer/Uint16Buffer.js +66 -0
  309. package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -0
  310. package/lib/cjs/system/buffer/Uint8Buffer.d.ts +50 -0
  311. package/lib/cjs/system/buffer/Uint8Buffer.d.ts.map +1 -0
  312. package/lib/cjs/system/buffer/Uint8Buffer.js +66 -0
  313. package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -0
  314. package/lib/cjs/system/collection/AList.d.ts +31 -0
  315. package/lib/cjs/system/collection/AList.d.ts.map +1 -0
  316. package/lib/cjs/system/collection/AList.js +71 -0
  317. package/lib/cjs/system/collection/AList.js.map +1 -0
  318. package/lib/cjs/system/collection/IntMap.d.ts +19 -0
  319. package/lib/cjs/system/collection/IntMap.d.ts.map +1 -0
  320. package/lib/cjs/system/collection/IntMap.js +36 -0
  321. package/lib/cjs/system/collection/IntMap.js.map +1 -0
  322. package/lib/cjs/system/collection/StringMap.d.ts +27 -0
  323. package/lib/cjs/system/collection/StringMap.d.ts.map +1 -0
  324. package/lib/cjs/system/collection/StringMap.js +64 -0
  325. package/lib/cjs/system/collection/StringMap.js.map +1 -0
  326. package/lib/cjs/system/io/ABufferInStream.d.ts +30 -0
  327. package/lib/cjs/system/io/ABufferInStream.d.ts.map +1 -0
  328. package/lib/cjs/system/io/ABufferInStream.js +47 -0
  329. package/lib/cjs/system/io/ABufferInStream.js.map +1 -0
  330. package/lib/cjs/system/io/InStream.d.ts +24 -0
  331. package/lib/cjs/system/io/InStream.d.ts.map +1 -0
  332. package/lib/cjs/system/io/InStream.js +35 -0
  333. package/lib/cjs/system/io/InStream.js.map +1 -0
  334. package/lib/cjs/system/io/OutStream.d.ts +24 -0
  335. package/lib/cjs/system/io/OutStream.d.ts.map +1 -0
  336. package/lib/cjs/system/io/OutStream.js +34 -0
  337. package/lib/cjs/system/io/OutStream.js.map +1 -0
  338. package/lib/cjs/system/runtime/ALong.d.ts +330 -0
  339. package/lib/cjs/system/runtime/ALong.d.ts.map +1 -0
  340. package/lib/cjs/system/runtime/ALong.js +688 -0
  341. package/lib/cjs/system/runtime/ALong.js.map +1 -0
  342. package/lib/cjs/system/runtime/ASystem.d.ts +15 -0
  343. package/lib/cjs/system/runtime/ASystem.d.ts.map +1 -0
  344. package/lib/cjs/system/runtime/ASystem.js +32 -0
  345. package/lib/cjs/system/runtime/ASystem.js.map +1 -0
  346. package/lib/cjs/system/runtime/Downloader.d.ts +18 -0
  347. package/lib/cjs/system/runtime/Downloader.d.ts.map +1 -0
  348. package/lib/cjs/system/runtime/Downloader.js +39 -0
  349. package/lib/cjs/system/runtime/Downloader.js.map +1 -0
  350. package/lib/cjs/system/runtime/DownloaderNode.d.ts +19 -0
  351. package/lib/cjs/system/runtime/DownloaderNode.d.ts.map +1 -0
  352. package/lib/cjs/system/runtime/DownloaderNode.js +130 -0
  353. package/lib/cjs/system/runtime/DownloaderNode.js.map +1 -0
  354. package/lib/cjs/system/runtime/DownloaderXhr.d.ts +19 -0
  355. package/lib/cjs/system/runtime/DownloaderXhr.d.ts.map +1 -0
  356. package/lib/cjs/system/runtime/DownloaderXhr.js +132 -0
  357. package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -0
  358. package/lib/cjs/system/runtime/Message.d.ts +17 -0
  359. package/lib/cjs/system/runtime/Message.d.ts.map +1 -0
  360. package/lib/cjs/system/runtime/Message.js +40 -0
  361. package/lib/cjs/system/runtime/Message.js.map +1 -0
  362. package/lib/cjs/system/runtime/Numbers.d.ts +35 -0
  363. package/lib/cjs/system/runtime/Numbers.d.ts.map +1 -0
  364. package/lib/cjs/system/runtime/Numbers.js +88 -0
  365. package/lib/cjs/system/runtime/Numbers.js.map +1 -0
  366. package/lib/cjs/system/runtime/Strings.d.ts +50 -0
  367. package/lib/cjs/system/runtime/Strings.d.ts.map +1 -0
  368. package/lib/cjs/system/runtime/Strings.js +189 -0
  369. package/lib/cjs/system/runtime/Strings.js.map +1 -0
  370. package/lib/cjs/system/runtime/iComparator.d.ts +13 -0
  371. package/lib/cjs/system/runtime/iComparator.d.ts.map +1 -0
  372. package/lib/cjs/system/runtime/iComparator.js +10 -0
  373. package/lib/cjs/system/runtime/iComparator.js.map +1 -0
  374. package/lib/cjs/system/storage/CacheList.d.ts +40 -0
  375. package/lib/cjs/system/storage/CacheList.d.ts.map +1 -0
  376. package/lib/cjs/system/storage/CacheList.js +81 -0
  377. package/lib/cjs/system/storage/CacheList.js.map +1 -0
  378. package/lib/cjs/system/storage/CachedItem.d.ts +22 -0
  379. package/lib/cjs/system/storage/CachedItem.d.ts.map +1 -0
  380. package/lib/cjs/system/storage/CachedItem.js +26 -0
  381. package/lib/cjs/system/storage/CachedItem.js.map +1 -0
  382. package/lib/cjs/system/storage/ContentLoader.d.ts +65 -0
  383. package/lib/cjs/system/storage/ContentLoader.d.ts.map +1 -0
  384. package/lib/cjs/system/storage/ContentLoader.js +96 -0
  385. package/lib/cjs/system/storage/ContentLoader.js.map +1 -0
  386. package/lib/cjs/system/storage/FileContent.d.ts +20 -0
  387. package/lib/cjs/system/storage/FileContent.d.ts.map +1 -0
  388. package/lib/cjs/system/storage/FileContent.js +25 -0
  389. package/lib/cjs/system/storage/FileContent.js.map +1 -0
  390. package/lib/cjs/system/storage/FileRange.d.ts +21 -0
  391. package/lib/cjs/system/storage/FileRange.d.ts.map +1 -0
  392. package/lib/cjs/system/storage/FileRange.js +25 -0
  393. package/lib/cjs/system/storage/FileRange.js.map +1 -0
  394. package/lib/cjs/system/storage/FileStorage.d.ts +45 -0
  395. package/lib/cjs/system/storage/FileStorage.d.ts.map +1 -0
  396. package/lib/cjs/system/storage/FileStorage.js +63 -0
  397. package/lib/cjs/system/storage/FileStorage.js.map +1 -0
  398. package/lib/cjs/system/storage/NodeFS.d.ts +42 -0
  399. package/lib/cjs/system/storage/NodeFS.d.ts.map +1 -0
  400. package/lib/cjs/system/storage/NodeFS.js +80 -0
  401. package/lib/cjs/system/storage/NodeFS.js.map +1 -0
  402. package/lib/cjs/system/storage/PageCachedFile.d.ts +55 -0
  403. package/lib/cjs/system/storage/PageCachedFile.d.ts.map +1 -0
  404. package/lib/cjs/system/storage/PageCachedFile.js +166 -0
  405. package/lib/cjs/system/storage/PageCachedFile.js.map +1 -0
  406. package/lib/cjs/system/storage/UrlFS.d.ts +54 -0
  407. package/lib/cjs/system/storage/UrlFS.d.ts.map +1 -0
  408. package/lib/cjs/system/storage/UrlFS.js +115 -0
  409. package/lib/cjs/system/storage/UrlFS.js.map +1 -0
  410. package/lib/esm/core-orbitgt.d.ts +27 -0
  411. package/lib/esm/core-orbitgt.d.ts.map +1 -0
  412. package/lib/esm/core-orbitgt.js +32 -0
  413. package/lib/esm/core-orbitgt.js.map +1 -0
  414. package/lib/esm/pointcloud/format/opc/AttributeMask.d.ts +31 -0
  415. package/lib/esm/pointcloud/format/opc/AttributeMask.d.ts.map +1 -0
  416. package/lib/esm/pointcloud/format/opc/AttributeMask.js +44 -0
  417. package/lib/esm/pointcloud/format/opc/AttributeMask.js.map +1 -0
  418. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts +64 -0
  419. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts.map +1 -0
  420. package/lib/esm/pointcloud/format/opc/AttributeReader.js +21 -0
  421. package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -0
  422. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts +55 -0
  423. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts.map +1 -0
  424. package/lib/esm/pointcloud/format/opc/BlockRecord.js +81 -0
  425. package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -0
  426. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts +86 -0
  427. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts.map +1 -0
  428. package/lib/esm/pointcloud/format/opc/ContainerFile.js +196 -0
  429. package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -0
  430. package/lib/esm/pointcloud/format/opc/ContainerFilePart.d.ts +56 -0
  431. package/lib/esm/pointcloud/format/opc/ContainerFilePart.d.ts.map +1 -0
  432. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js +72 -0
  433. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js.map +1 -0
  434. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts +76 -0
  435. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts.map +1 -0
  436. package/lib/esm/pointcloud/format/opc/DirectoryReader.js +166 -0
  437. package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -0
  438. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts +60 -0
  439. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts.map +1 -0
  440. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js +86 -0
  441. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -0
  442. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +107 -0
  443. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts.map +1 -0
  444. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js +194 -0
  445. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -0
  446. package/lib/esm/pointcloud/format/opc/FileAccess.d.ts +40 -0
  447. package/lib/esm/pointcloud/format/opc/FileAccess.d.ts.map +1 -0
  448. package/lib/esm/pointcloud/format/opc/FileAccess.js +45 -0
  449. package/lib/esm/pointcloud/format/opc/FileAccess.js.map +1 -0
  450. package/lib/esm/pointcloud/format/opc/FileReader.d.ts +119 -0
  451. package/lib/esm/pointcloud/format/opc/FileReader.d.ts.map +1 -0
  452. package/lib/esm/pointcloud/format/opc/FileReader.js +245 -0
  453. package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -0
  454. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts +90 -0
  455. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts.map +1 -0
  456. package/lib/esm/pointcloud/format/opc/FileRecord.js +122 -0
  457. package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -0
  458. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts +80 -0
  459. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts.map +1 -0
  460. package/lib/esm/pointcloud/format/opc/GeometryReader.js +160 -0
  461. package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -0
  462. package/lib/esm/pointcloud/format/opc/GeometryRecord.d.ts +54 -0
  463. package/lib/esm/pointcloud/format/opc/GeometryRecord.d.ts.map +1 -0
  464. package/lib/esm/pointcloud/format/opc/GeometryRecord.js +104 -0
  465. package/lib/esm/pointcloud/format/opc/GeometryRecord.js.map +1 -0
  466. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts +158 -0
  467. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts.map +1 -0
  468. package/lib/esm/pointcloud/format/opc/OPCReader.js +316 -0
  469. package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -0
  470. package/lib/esm/pointcloud/format/opc/PointReader.d.ts +73 -0
  471. package/lib/esm/pointcloud/format/opc/PointReader.d.ts.map +1 -0
  472. package/lib/esm/pointcloud/format/opc/PointReader.js +149 -0
  473. package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -0
  474. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts +64 -0
  475. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts.map +1 -0
  476. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js +89 -0
  477. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -0
  478. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts +89 -0
  479. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts.map +1 -0
  480. package/lib/esm/pointcloud/format/opc/TileRecord.js +158 -0
  481. package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -0
  482. package/lib/esm/pointcloud/model/AttributeTypes.d.ts +38 -0
  483. package/lib/esm/pointcloud/model/AttributeTypes.d.ts.map +1 -0
  484. package/lib/esm/pointcloud/model/AttributeTypes.js +61 -0
  485. package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -0
  486. package/lib/esm/pointcloud/model/AttributeValue.d.ts +248 -0
  487. package/lib/esm/pointcloud/model/AttributeValue.d.ts.map +1 -0
  488. package/lib/esm/pointcloud/model/AttributeValue.js +505 -0
  489. package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -0
  490. package/lib/esm/pointcloud/model/BlockIndex.d.ts +50 -0
  491. package/lib/esm/pointcloud/model/BlockIndex.d.ts.map +1 -0
  492. package/lib/esm/pointcloud/model/BlockIndex.js +45 -0
  493. package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -0
  494. package/lib/esm/pointcloud/model/CloudPoint.d.ts +211 -0
  495. package/lib/esm/pointcloud/model/CloudPoint.d.ts.map +1 -0
  496. package/lib/esm/pointcloud/model/CloudPoint.js +315 -0
  497. package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -0
  498. package/lib/esm/pointcloud/model/Grid.d.ts +92 -0
  499. package/lib/esm/pointcloud/model/Grid.d.ts.map +1 -0
  500. package/lib/esm/pointcloud/model/Grid.js +126 -0
  501. package/lib/esm/pointcloud/model/Grid.js.map +1 -0
  502. package/lib/esm/pointcloud/model/GridIndex.d.ts +67 -0
  503. package/lib/esm/pointcloud/model/GridIndex.d.ts.map +1 -0
  504. package/lib/esm/pointcloud/model/GridIndex.js +90 -0
  505. package/lib/esm/pointcloud/model/GridIndex.js.map +1 -0
  506. package/lib/esm/pointcloud/model/PointAttribute.d.ts +209 -0
  507. package/lib/esm/pointcloud/model/PointAttribute.d.ts.map +1 -0
  508. package/lib/esm/pointcloud/model/PointAttribute.js +371 -0
  509. package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -0
  510. package/lib/esm/pointcloud/model/PointCloudReader.d.ts +157 -0
  511. package/lib/esm/pointcloud/model/PointCloudReader.d.ts.map +1 -0
  512. package/lib/esm/pointcloud/model/PointCloudReader.js +186 -0
  513. package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -0
  514. package/lib/esm/pointcloud/model/PointData.d.ts +18 -0
  515. package/lib/esm/pointcloud/model/PointData.d.ts.map +1 -0
  516. package/lib/esm/pointcloud/model/PointData.js +21 -0
  517. package/lib/esm/pointcloud/model/PointData.js.map +1 -0
  518. package/lib/esm/pointcloud/model/PointDataRaw.d.ts +35 -0
  519. package/lib/esm/pointcloud/model/PointDataRaw.d.ts.map +1 -0
  520. package/lib/esm/pointcloud/model/PointDataRaw.js +66 -0
  521. package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -0
  522. package/lib/esm/pointcloud/model/ReadRequest.d.ts +176 -0
  523. package/lib/esm/pointcloud/model/ReadRequest.d.ts.map +1 -0
  524. package/lib/esm/pointcloud/model/ReadRequest.js +236 -0
  525. package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -0
  526. package/lib/esm/pointcloud/model/StandardAttributes.d.ts +41 -0
  527. package/lib/esm/pointcloud/model/StandardAttributes.d.ts.map +1 -0
  528. package/lib/esm/pointcloud/model/StandardAttributes.js +44 -0
  529. package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -0
  530. package/lib/esm/pointcloud/model/TileIndex.d.ts +48 -0
  531. package/lib/esm/pointcloud/model/TileIndex.d.ts.map +1 -0
  532. package/lib/esm/pointcloud/model/TileIndex.js +44 -0
  533. package/lib/esm/pointcloud/model/TileIndex.js.map +1 -0
  534. package/lib/esm/pointcloud/render/AViewRequest.d.ts +39 -0
  535. package/lib/esm/pointcloud/render/AViewRequest.d.ts.map +1 -0
  536. package/lib/esm/pointcloud/render/AViewRequest.js +21 -0
  537. package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -0
  538. package/lib/esm/pointcloud/render/Block.d.ts +68 -0
  539. package/lib/esm/pointcloud/render/Block.d.ts.map +1 -0
  540. package/lib/esm/pointcloud/render/Block.js +116 -0
  541. package/lib/esm/pointcloud/render/Block.js.map +1 -0
  542. package/lib/esm/pointcloud/render/DataManager.d.ts +137 -0
  543. package/lib/esm/pointcloud/render/DataManager.d.ts.map +1 -0
  544. package/lib/esm/pointcloud/render/DataManager.js +339 -0
  545. package/lib/esm/pointcloud/render/DataManager.js.map +1 -0
  546. package/lib/esm/pointcloud/render/FrameData.d.ts +31 -0
  547. package/lib/esm/pointcloud/render/FrameData.d.ts.map +1 -0
  548. package/lib/esm/pointcloud/render/FrameData.js +36 -0
  549. package/lib/esm/pointcloud/render/FrameData.js.map +1 -0
  550. package/lib/esm/pointcloud/render/Level.d.ts +91 -0
  551. package/lib/esm/pointcloud/render/Level.d.ts.map +1 -0
  552. package/lib/esm/pointcloud/render/Level.js +116 -0
  553. package/lib/esm/pointcloud/render/Level.js.map +1 -0
  554. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts +61 -0
  555. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts.map +1 -0
  556. package/lib/esm/pointcloud/render/TileLoadSorter.js +96 -0
  557. package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -0
  558. package/lib/esm/pointcloud/render/ViewTree.d.ts +114 -0
  559. package/lib/esm/pointcloud/render/ViewTree.d.ts.map +1 -0
  560. package/lib/esm/pointcloud/render/ViewTree.js +360 -0
  561. package/lib/esm/pointcloud/render/ViewTree.js.map +1 -0
  562. package/lib/esm/spatial/crs/CRSEngine.d.ts +56 -0
  563. package/lib/esm/spatial/crs/CRSEngine.d.ts.map +1 -0
  564. package/lib/esm/spatial/crs/CRSEngine.js +90 -0
  565. package/lib/esm/spatial/crs/CRSEngine.js.map +1 -0
  566. package/lib/esm/spatial/crs/CRSManager.d.ts +50 -0
  567. package/lib/esm/spatial/crs/CRSManager.d.ts.map +1 -0
  568. package/lib/esm/spatial/crs/CRSManager.js +106 -0
  569. package/lib/esm/spatial/crs/CRSManager.js.map +1 -0
  570. package/lib/esm/spatial/ecrs/Axis.d.ts +78 -0
  571. package/lib/esm/spatial/ecrs/Axis.d.ts.map +1 -0
  572. package/lib/esm/spatial/ecrs/Axis.js +90 -0
  573. package/lib/esm/spatial/ecrs/Axis.js.map +1 -0
  574. package/lib/esm/spatial/ecrs/CRS.d.ts +448 -0
  575. package/lib/esm/spatial/ecrs/CRS.d.ts.map +1 -0
  576. package/lib/esm/spatial/ecrs/CRS.js +927 -0
  577. package/lib/esm/spatial/ecrs/CRS.js.map +1 -0
  578. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts +143 -0
  579. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts.map +1 -0
  580. package/lib/esm/spatial/ecrs/CoordinateSystem.js +323 -0
  581. package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -0
  582. package/lib/esm/spatial/ecrs/DataFileUnit.d.ts +11 -0
  583. package/lib/esm/spatial/ecrs/DataFileUnit.d.ts.map +1 -0
  584. package/lib/esm/spatial/ecrs/DataFileUnit.js +101 -0
  585. package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -0
  586. package/lib/esm/spatial/ecrs/Datum.d.ts +112 -0
  587. package/lib/esm/spatial/ecrs/Datum.d.ts.map +1 -0
  588. package/lib/esm/spatial/ecrs/Datum.js +163 -0
  589. package/lib/esm/spatial/ecrs/Datum.js.map +1 -0
  590. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts +189 -0
  591. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts.map +1 -0
  592. package/lib/esm/spatial/ecrs/Ellipsoid.js +333 -0
  593. package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -0
  594. package/lib/esm/spatial/ecrs/OnlineEngine.d.ts +49 -0
  595. package/lib/esm/spatial/ecrs/OnlineEngine.d.ts.map +1 -0
  596. package/lib/esm/spatial/ecrs/OnlineEngine.js +99 -0
  597. package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -0
  598. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts +38 -0
  599. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts.map +1 -0
  600. package/lib/esm/spatial/ecrs/OnlineRegistry.js +73 -0
  601. package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -0
  602. package/lib/esm/spatial/ecrs/Operation.d.ts +192 -0
  603. package/lib/esm/spatial/ecrs/Operation.d.ts.map +1 -0
  604. package/lib/esm/spatial/ecrs/Operation.js +342 -0
  605. package/lib/esm/spatial/ecrs/Operation.js.map +1 -0
  606. package/lib/esm/spatial/ecrs/OperationMethod.d.ts +72 -0
  607. package/lib/esm/spatial/ecrs/OperationMethod.d.ts.map +1 -0
  608. package/lib/esm/spatial/ecrs/OperationMethod.js +72 -0
  609. package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -0
  610. package/lib/esm/spatial/ecrs/ParameterValue.d.ts +50 -0
  611. package/lib/esm/spatial/ecrs/ParameterValue.d.ts.map +1 -0
  612. package/lib/esm/spatial/ecrs/ParameterValue.js +62 -0
  613. package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -0
  614. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts +73 -0
  615. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts.map +1 -0
  616. package/lib/esm/spatial/ecrs/ParameterValueList.js +117 -0
  617. package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -0
  618. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts +79 -0
  619. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts.map +1 -0
  620. package/lib/esm/spatial/ecrs/PrimeMeridian.js +105 -0
  621. package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -0
  622. package/lib/esm/spatial/ecrs/Registry.d.ts +110 -0
  623. package/lib/esm/spatial/ecrs/Registry.d.ts.map +1 -0
  624. package/lib/esm/spatial/ecrs/Registry.js +204 -0
  625. package/lib/esm/spatial/ecrs/Registry.js.map +1 -0
  626. package/lib/esm/spatial/ecrs/Transform.d.ts +78 -0
  627. package/lib/esm/spatial/ecrs/Transform.d.ts.map +1 -0
  628. package/lib/esm/spatial/ecrs/Transform.js +393 -0
  629. package/lib/esm/spatial/ecrs/Transform.js.map +1 -0
  630. package/lib/esm/spatial/ecrs/Unit.d.ts +171 -0
  631. package/lib/esm/spatial/ecrs/Unit.d.ts.map +1 -0
  632. package/lib/esm/spatial/ecrs/Unit.js +333 -0
  633. package/lib/esm/spatial/ecrs/Unit.js.map +1 -0
  634. package/lib/esm/spatial/ecrs/VerticalModel.d.ts +70 -0
  635. package/lib/esm/spatial/ecrs/VerticalModel.d.ts.map +1 -0
  636. package/lib/esm/spatial/ecrs/VerticalModel.js +85 -0
  637. package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -0
  638. package/lib/esm/spatial/ecrs/WellKnownText.d.ts +154 -0
  639. package/lib/esm/spatial/ecrs/WellKnownText.d.ts.map +1 -0
  640. package/lib/esm/spatial/ecrs/WellKnownText.js +491 -0
  641. package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -0
  642. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts +70 -0
  643. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts.map +1 -0
  644. package/lib/esm/spatial/ecrs/WellKnownTextNode.js +125 -0
  645. package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -0
  646. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts +102 -0
  647. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts.map +1 -0
  648. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +159 -0
  649. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -0
  650. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +80 -0
  651. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts.map +1 -0
  652. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js +122 -0
  653. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -0
  654. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +48 -0
  655. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts.map +1 -0
  656. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +70 -0
  657. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -0
  658. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts +73 -0
  659. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts.map +1 -0
  660. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js +126 -0
  661. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -0
  662. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts +121 -0
  663. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts.map +1 -0
  664. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js +176 -0
  665. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -0
  666. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts +74 -0
  667. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts.map +1 -0
  668. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js +109 -0
  669. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -0
  670. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts +97 -0
  671. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts.map +1 -0
  672. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js +170 -0
  673. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -0
  674. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts +124 -0
  675. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts.map +1 -0
  676. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js +205 -0
  677. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -0
  678. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts +109 -0
  679. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts.map +1 -0
  680. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js +180 -0
  681. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -0
  682. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts +91 -0
  683. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts.map +1 -0
  684. package/lib/esm/spatial/ecrs/transformation/PositionVector.js +127 -0
  685. package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -0
  686. package/lib/esm/spatial/geom/Bounds.d.ts +34 -0
  687. package/lib/esm/spatial/geom/Bounds.d.ts.map +1 -0
  688. package/lib/esm/spatial/geom/Bounds.js +153 -0
  689. package/lib/esm/spatial/geom/Bounds.js.map +1 -0
  690. package/lib/esm/spatial/geom/Coordinate.d.ts +62 -0
  691. package/lib/esm/spatial/geom/Coordinate.d.ts.map +1 -0
  692. package/lib/esm/spatial/geom/Coordinate.js +183 -0
  693. package/lib/esm/spatial/geom/Coordinate.js.map +1 -0
  694. package/lib/esm/spatial/geom/Line.d.ts +226 -0
  695. package/lib/esm/spatial/geom/Line.d.ts.map +1 -0
  696. package/lib/esm/spatial/geom/Line.js +429 -0
  697. package/lib/esm/spatial/geom/Line.js.map +1 -0
  698. package/lib/esm/spatial/geom/Transform.d.ts +341 -0
  699. package/lib/esm/spatial/geom/Transform.d.ts.map +1 -0
  700. package/lib/esm/spatial/geom/Transform.js +745 -0
  701. package/lib/esm/spatial/geom/Transform.js.map +1 -0
  702. package/lib/esm/system/buffer/ABuffer.d.ts +52 -0
  703. package/lib/esm/system/buffer/ABuffer.d.ts.map +1 -0
  704. package/lib/esm/system/buffer/ABuffer.js +87 -0
  705. package/lib/esm/system/buffer/ABuffer.js.map +1 -0
  706. package/lib/esm/system/buffer/Float32Buffer.d.ts +47 -0
  707. package/lib/esm/system/buffer/Float32Buffer.d.ts.map +1 -0
  708. package/lib/esm/system/buffer/Float32Buffer.js +57 -0
  709. package/lib/esm/system/buffer/Float32Buffer.js.map +1 -0
  710. package/lib/esm/system/buffer/LittleEndian.d.ts +150 -0
  711. package/lib/esm/system/buffer/LittleEndian.d.ts.map +1 -0
  712. package/lib/esm/system/buffer/LittleEndian.js +300 -0
  713. package/lib/esm/system/buffer/LittleEndian.js.map +1 -0
  714. package/lib/esm/system/buffer/Uint16Buffer.d.ts +50 -0
  715. package/lib/esm/system/buffer/Uint16Buffer.d.ts.map +1 -0
  716. package/lib/esm/system/buffer/Uint16Buffer.js +62 -0
  717. package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -0
  718. package/lib/esm/system/buffer/Uint8Buffer.d.ts +50 -0
  719. package/lib/esm/system/buffer/Uint8Buffer.d.ts.map +1 -0
  720. package/lib/esm/system/buffer/Uint8Buffer.js +62 -0
  721. package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -0
  722. package/lib/esm/system/collection/AList.d.ts +31 -0
  723. package/lib/esm/system/collection/AList.d.ts.map +1 -0
  724. package/lib/esm/system/collection/AList.js +67 -0
  725. package/lib/esm/system/collection/AList.js.map +1 -0
  726. package/lib/esm/system/collection/IntMap.d.ts +19 -0
  727. package/lib/esm/system/collection/IntMap.d.ts.map +1 -0
  728. package/lib/esm/system/collection/IntMap.js +32 -0
  729. package/lib/esm/system/collection/IntMap.js.map +1 -0
  730. package/lib/esm/system/collection/StringMap.d.ts +27 -0
  731. package/lib/esm/system/collection/StringMap.d.ts.map +1 -0
  732. package/lib/esm/system/collection/StringMap.js +60 -0
  733. package/lib/esm/system/collection/StringMap.js.map +1 -0
  734. package/lib/esm/system/io/ABufferInStream.d.ts +30 -0
  735. package/lib/esm/system/io/ABufferInStream.d.ts.map +1 -0
  736. package/lib/esm/system/io/ABufferInStream.js +43 -0
  737. package/lib/esm/system/io/ABufferInStream.js.map +1 -0
  738. package/lib/esm/system/io/InStream.d.ts +24 -0
  739. package/lib/esm/system/io/InStream.d.ts.map +1 -0
  740. package/lib/esm/system/io/InStream.js +31 -0
  741. package/lib/esm/system/io/InStream.js.map +1 -0
  742. package/lib/esm/system/io/OutStream.d.ts +24 -0
  743. package/lib/esm/system/io/OutStream.d.ts.map +1 -0
  744. package/lib/esm/system/io/OutStream.js +30 -0
  745. package/lib/esm/system/io/OutStream.js.map +1 -0
  746. package/lib/esm/system/runtime/ALong.d.ts +330 -0
  747. package/lib/esm/system/runtime/ALong.d.ts.map +1 -0
  748. package/lib/esm/system/runtime/ALong.js +684 -0
  749. package/lib/esm/system/runtime/ALong.js.map +1 -0
  750. package/lib/esm/system/runtime/ASystem.d.ts +15 -0
  751. package/lib/esm/system/runtime/ASystem.d.ts.map +1 -0
  752. package/lib/esm/system/runtime/ASystem.js +28 -0
  753. package/lib/esm/system/runtime/ASystem.js.map +1 -0
  754. package/lib/esm/system/runtime/Downloader.d.ts +18 -0
  755. package/lib/esm/system/runtime/Downloader.d.ts.map +1 -0
  756. package/lib/esm/system/runtime/Downloader.js +35 -0
  757. package/lib/esm/system/runtime/Downloader.js.map +1 -0
  758. package/lib/esm/system/runtime/DownloaderNode.d.ts +19 -0
  759. package/lib/esm/system/runtime/DownloaderNode.d.ts.map +1 -0
  760. package/lib/esm/system/runtime/DownloaderNode.js +126 -0
  761. package/lib/esm/system/runtime/DownloaderNode.js.map +1 -0
  762. package/lib/esm/system/runtime/DownloaderXhr.d.ts +19 -0
  763. package/lib/esm/system/runtime/DownloaderXhr.d.ts.map +1 -0
  764. package/lib/esm/system/runtime/DownloaderXhr.js +128 -0
  765. package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -0
  766. package/lib/esm/system/runtime/Message.d.ts +17 -0
  767. package/lib/esm/system/runtime/Message.d.ts.map +1 -0
  768. package/lib/esm/system/runtime/Message.js +36 -0
  769. package/lib/esm/system/runtime/Message.js.map +1 -0
  770. package/lib/esm/system/runtime/Numbers.d.ts +35 -0
  771. package/lib/esm/system/runtime/Numbers.d.ts.map +1 -0
  772. package/lib/esm/system/runtime/Numbers.js +84 -0
  773. package/lib/esm/system/runtime/Numbers.js.map +1 -0
  774. package/lib/esm/system/runtime/Strings.d.ts +50 -0
  775. package/lib/esm/system/runtime/Strings.d.ts.map +1 -0
  776. package/lib/esm/system/runtime/Strings.js +185 -0
  777. package/lib/esm/system/runtime/Strings.js.map +1 -0
  778. package/lib/esm/system/runtime/iComparator.d.ts +13 -0
  779. package/lib/esm/system/runtime/iComparator.d.ts.map +1 -0
  780. package/lib/esm/system/runtime/iComparator.js +9 -0
  781. package/lib/esm/system/runtime/iComparator.js.map +1 -0
  782. package/lib/esm/system/storage/CacheList.d.ts +40 -0
  783. package/lib/esm/system/storage/CacheList.d.ts.map +1 -0
  784. package/lib/esm/system/storage/CacheList.js +77 -0
  785. package/lib/esm/system/storage/CacheList.js.map +1 -0
  786. package/lib/esm/system/storage/CachedItem.d.ts +22 -0
  787. package/lib/esm/system/storage/CachedItem.d.ts.map +1 -0
  788. package/lib/esm/system/storage/CachedItem.js +22 -0
  789. package/lib/esm/system/storage/CachedItem.js.map +1 -0
  790. package/lib/esm/system/storage/ContentLoader.d.ts +65 -0
  791. package/lib/esm/system/storage/ContentLoader.d.ts.map +1 -0
  792. package/lib/esm/system/storage/ContentLoader.js +92 -0
  793. package/lib/esm/system/storage/ContentLoader.js.map +1 -0
  794. package/lib/esm/system/storage/FileContent.d.ts +20 -0
  795. package/lib/esm/system/storage/FileContent.d.ts.map +1 -0
  796. package/lib/esm/system/storage/FileContent.js +21 -0
  797. package/lib/esm/system/storage/FileContent.js.map +1 -0
  798. package/lib/esm/system/storage/FileRange.d.ts +21 -0
  799. package/lib/esm/system/storage/FileRange.d.ts.map +1 -0
  800. package/lib/esm/system/storage/FileRange.js +21 -0
  801. package/lib/esm/system/storage/FileRange.js.map +1 -0
  802. package/lib/esm/system/storage/FileStorage.d.ts +45 -0
  803. package/lib/esm/system/storage/FileStorage.d.ts.map +1 -0
  804. package/lib/esm/system/storage/FileStorage.js +59 -0
  805. package/lib/esm/system/storage/FileStorage.js.map +1 -0
  806. package/lib/esm/system/storage/NodeFS.d.ts +42 -0
  807. package/lib/esm/system/storage/NodeFS.d.ts.map +1 -0
  808. package/lib/esm/system/storage/NodeFS.js +76 -0
  809. package/lib/esm/system/storage/NodeFS.js.map +1 -0
  810. package/lib/esm/system/storage/PageCachedFile.d.ts +55 -0
  811. package/lib/esm/system/storage/PageCachedFile.d.ts.map +1 -0
  812. package/lib/esm/system/storage/PageCachedFile.js +162 -0
  813. package/lib/esm/system/storage/PageCachedFile.js.map +1 -0
  814. package/lib/esm/system/storage/UrlFS.d.ts +54 -0
  815. package/lib/esm/system/storage/UrlFS.d.ts.map +1 -0
  816. package/lib/esm/system/storage/UrlFS.js +111 -0
  817. package/lib/esm/system/storage/UrlFS.js.map +1 -0
  818. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WellKnownText.js","sourceRoot":"","sources":["../../../../src/spatial/ecrs/WellKnownText.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module OrbitGT\r\n */\r\n\r\n//package orbitgt.spatial.ecrs;\r\n\r\ntype int8 = number;\r\ntype int16 = number;\r\ntype int32 = number;\r\ntype float32 = number;\r\ntype float64 = number;\r\n\r\nimport { AList } from \"../../system/collection/AList\";\r\nimport { ASystem } from \"../../system/runtime/ASystem\";\r\nimport { Message } from \"../../system/runtime/Message\";\r\nimport { Numbers } from \"../../system/runtime/Numbers\";\r\nimport { Strings } from \"../../system/runtime/Strings\";\r\nimport { CRS } from \"./CRS\";\r\nimport { Datum } from \"./Datum\";\r\nimport { Ellipsoid } from \"./Ellipsoid\";\r\nimport { Operation } from \"./Operation\";\r\nimport { OperationMethod } from \"./OperationMethod\";\r\nimport { ParameterValue } from \"./ParameterValue\";\r\nimport { ParameterValueList } from \"./ParameterValueList\";\r\nimport { PrimeMeridian } from \"./PrimeMeridian\";\r\nimport { HotineObliqueMercator } from \"./projection/HotineObliqueMercator\";\r\nimport { KrovakObliqueConformalConic } from \"./projection/KrovakObliqueConformalConic\";\r\nimport { KrovakObliqueConformalConicEN } from \"./projection/KrovakObliqueConformalConicEN\";\r\nimport { LambertConical1SP } from \"./projection/LambertConical1SP\";\r\nimport { LambertConical2SP } from \"./projection/LambertConical2SP\";\r\nimport { Mercator1SP } from \"./projection/Mercator1SP\";\r\nimport { ObliqueMercator } from \"./projection/ObliqueMercator\";\r\nimport { ObliqueStereographic } from \"./projection/ObliqueStereographic\";\r\nimport { TransverseMercator } from \"./projection/TransverseMercator\";\r\nimport { Registry } from \"./Registry\";\r\nimport { PositionVector } from \"./transformation/PositionVector\";\r\nimport { Unit } from \"./Unit\";\r\nimport { WellKnownTextNode } from \"./WellKnownTextNode\";\r\n\r\n/**\r\n * Class WellKnownText parses Well-known Text Representations of Spatial Reference Systems.\r\n *\r\n * @version 1.0 December 2010\r\n */\r\n/** @internal */\r\nexport class WellKnownText {\r\n /** The name of this module */\r\n private static readonly MODULE: string = \"WellKnownText\";\r\n\r\n /** The dialect type in case of generic WKT */\r\n public static readonly TYPE_GENERIC: string = \"generic\";\r\n\r\n /** The conversion ratio from \"arc-sec\" to \"radian\" */\r\n private static readonly _ARC_SEC_TO_RAD: float64 = (1.0 / 3600.0 * Math.PI / 180.0);\r\n\r\n /** The counter for creating unique codes */\r\n private static _CODES: int32 = 100000;\r\n\r\n /**\r\n * No instances.\r\n */\r\n private constructor() { }\r\n\r\n /**\r\n * Unquote a name.\r\n * @param name the name.\r\n * @return the unquoted name.\r\n */\r\n private static unquote(name: string): string {\r\n name = Strings.trim(name);\r\n ASystem.assert0(Strings.startsWith(name, \"\\\"\"), \"Name '\" + name + \"' does not start with a quote\");\r\n ASystem.assert0(Strings.endsWith(name, \"\\\"\"), \"Name '\" + name + \"' does not end with a quote\");\r\n return Strings.substring(name, 1, Strings.getLength(name) - 1);\r\n }\r\n\r\n /**\r\n * Get a number.\r\n * @param value the string value.\r\n * @return the number.\r\n */\r\n private static getInteger(value: string): int32 {\r\n return Numbers.getInteger(value, 0);\r\n }\r\n\r\n /**\r\n * Get a number.\r\n * @param value the string value.\r\n * @return the number.\r\n */\r\n private static getDouble(value: string): float64 {\r\n return Numbers.getDouble(value, 0.0);\r\n }\r\n\r\n /**\r\n * Get a number.\r\n * @param value the node value.\r\n * @return the number.\r\n */\r\n private static getNodeDouble(value: WellKnownTextNode): float64 {\r\n if (value == null) return 0.0;\r\n return Numbers.getDouble(value.getName(), 0.0);\r\n }\r\n\r\n /**\r\n * Get an EPSG code for an element.\r\n * @param authority the authority for the element.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the EPSG code (zero if not found).\r\n */\r\n private static getEPSGCode(authority: WellKnownTextNode, dialect: string): int32 {\r\n // example: AUTHORITY[\"EPSG\",\"2320\"]\r\n if (authority == null) return 0;\r\n let name: string = WellKnownText.unquote(authority.getArgument(0).getName());\r\n let code: string = WellKnownText.unquote(authority.getArgument(1).getName());\r\n if (Strings.equalsIgnoreCase(name, \"EPSG\") == false) return 0;\r\n let epsgCode: int32 = Numbers.getInteger(code, 0);\r\n return epsgCode; // Enabled on 06/06/2014\r\n }\r\n\r\n /**\r\n * Parse a linear unit.\r\n * @param node the well-known-text node.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the unit.\r\n */\r\n private static parseLinearUnit(node: WellKnownTextNode, dialect: string): Unit {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let conversionFactor: float64 = WellKnownText.getDouble(node.getArgument(1).getName());\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;\r\n /* Return the unit */\r\n return new Unit(code, name, name/*abbreviation*/, \"length\", Unit.METER/*targetUnitCode*/, conversionFactor, 1.0);\r\n }\r\n\r\n /**\r\n * Parse an angular unit.\r\n * @param node the well-known-text node.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the unit.\r\n */\r\n private static parseAngularUnit(node: WellKnownTextNode, dialect: string): Unit {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let conversionFactor: float64 = WellKnownText.getDouble(node.getArgument(1).getName());\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;\r\n /* Return the unit */\r\n return new Unit(code, name, name/*abbreviation*/, \"angle\", Unit.RADIAN/*targetUnitCode*/, conversionFactor, 1.0);\r\n }\r\n\r\n /**\r\n * Parse a spheroid.\r\n * @param crsCode the code of the CRS.\r\n * @param node the well-known-text node.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the ellipsoid.\r\n */\r\n private static parseSpheroid(crsCode: int32, node: WellKnownTextNode, dialect: string): Ellipsoid {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let semiMajorAxis: float64 = WellKnownText.getDouble(node.getArgument(1).getName());\r\n let invFlattening: float64 = WellKnownText.getDouble(node.getArgument(2).getName());\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;\r\n /* Return the ellipsoid */\r\n return new Ellipsoid(code, name, Unit.METER, semiMajorAxis, invFlattening, 0.0);\r\n }\r\n\r\n /**\r\n * Parse a prime-meridian.\r\n * @param crsCode the code of the CRS.\r\n * @param node the well-known-text node.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the prime-meridian.\r\n */\r\n private static parsePrimeMeridian(crsCode: int32, node: WellKnownTextNode, dialect: string): PrimeMeridian {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let longitude: float64 = WellKnownText.getDouble(node.getArgument(1).getName());\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;\r\n /* Return the prime-meridian */\r\n return new PrimeMeridian(code, name, longitude/*lonFromGreenwich*/, Unit.DEGREE/*?*/);\r\n }\r\n\r\n /**\r\n * Parse a to-wgs84 transform.\r\n * @param node the well-known-text node (method position vector).\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the transform.\r\n */\r\n public static parseToWGS84(node: WellKnownTextNode, dialect: string): OperationMethod {\r\n /* No transform ? */\r\n if (node == null) return null;\r\n /* Get the parameters */\r\n let dx: float64 = WellKnownText.getNodeDouble(node.getArgument(0)); // meter\r\n let dy: float64 = WellKnownText.getNodeDouble(node.getArgument(1));\r\n let dz: float64 = WellKnownText.getNodeDouble(node.getArgument(2));\r\n let rx: float64 = WellKnownText.getNodeDouble(node.getOptionalArgument(3)); // arc-second\r\n let ry: float64 = WellKnownText.getNodeDouble(node.getOptionalArgument(4));\r\n let rz: float64 = WellKnownText.getNodeDouble(node.getOptionalArgument(5));\r\n let ppm: float64 = WellKnownText.getNodeDouble(node.getOptionalArgument(6)); // parts-per-million\r\n /* Return the transform */\r\n 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);\r\n }\r\n\r\n /**\r\n * Parse a datum.\r\n * @param crsCode the code of the CRS.\r\n * @param node the well-known-text node.\r\n * @param primeMeridian the prime meridian.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the datum (with optional embedded datum transformation to WGS84).\r\n */\r\n private static parseDatum(crsCode: int32, node: WellKnownTextNode, primeMeridian: PrimeMeridian, dialect: string): Datum {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let spheroid: Ellipsoid = WellKnownText.parseSpheroid(crsCode, node.getArgumentByName(\"SPHEROID\"), dialect);\r\n let toWGS84: OperationMethod = WellKnownText.parseToWGS84(node.getArgumentByName(\"TOWGS84\"), dialect);\r\n if (toWGS84 == null) 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.\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? WellKnownText._CODES++ : epsgCode;\r\n /* Return the datum */\r\n let datum: Datum = new Datum(code, name, Datum.TYPE_GEODETIC, spheroid, primeMeridian);\r\n datum.setToWGS84(toWGS84);\r\n return datum;\r\n }\r\n\r\n /**\r\n * Parse a projection method.\r\n * @param projection the well-known-text projection node.\r\n * @param parameters the well-known-text parameter nodes.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the projection method.\r\n */\r\n private static parseProjectionMethod(projection: WellKnownTextNode, parameters: AList<WellKnownTextNode>, dialect: string): OperationMethod {\r\n // See: http://www.remotesensing.org/geotiff/proj_list/\r\n // for method names and parameter names and units\r\n //\r\n /* Get the projection name */\r\n let projectionName: string = WellKnownText.unquote(projection.getArgument(0).getName());\r\n /* Get the standard units */\r\n let DEG: Unit = Registry.getUnit(Unit.DEGREE);\r\n let METER: Unit = Registry.getUnit(Unit.METER);\r\n let SCALE: Unit = Registry.getUnit(Unit.UNITY);\r\n /* Convert to standard parameters */\r\n let parameterList: ParameterValueList = new ParameterValueList();\r\n for (let i: number = 0; i < parameters.size(); i++) {\r\n /* Get the parameter name and value */\r\n let parameter: WellKnownTextNode = parameters.get(i);\r\n let parameterName: string = WellKnownText.unquote(parameter.getArgument(0).getName());\r\n let parameterValue: float64 = WellKnownText.getDouble(parameter.getArgument(1).getName());\r\n /* Hotine_Oblique_Mercator */\r\n if (Strings.equalsIgnoreCase(projectionName, \"Hotine_Oblique_Mercator\")) {\r\n if (Strings.equalsIgnoreCase(parameterName, \"latitude_of_center\")) parameterList.add(new ParameterValue(8811, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"longitude_of_center\")) parameterList.add(new ParameterValue(8812, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"azimuth\")) parameterList.add(new ParameterValue(8813, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"rectified_grid_angle\")) parameterList.add(new ParameterValue(8814, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"scale_factor\")) parameterList.add(new ParameterValue(8815, parameterValue, SCALE));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_easting\")) parameterList.add(new ParameterValue(8806, parameterValue, METER));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_northing\")) parameterList.add(new ParameterValue(8807, parameterValue, METER));\r\n }\r\n /* Krovak */\r\n if (Strings.equalsIgnoreCase(projectionName, \"Krovak\")) {\r\n if (Strings.equalsIgnoreCase(parameterName, \"latitude_of_center\")) parameterList.add(new ParameterValue(8811, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"longitude_of_center\")) parameterList.add(new ParameterValue(8833, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"azimuth\")) parameterList.add(new ParameterValue(1036, parameterValue, DEG)); // changed from 8813 to 1036 on 31/08/2017\r\n if (Strings.equalsIgnoreCase(parameterName, \"pseudo_standard_parallel_1\")) parameterList.add(new ParameterValue(8818, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"scale_factor\")) parameterList.add(new ParameterValue(8819, parameterValue, SCALE));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_easting\")) parameterList.add(new ParameterValue(8806, parameterValue, METER));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_northing\")) parameterList.add(new ParameterValue(8807, parameterValue, METER));\r\n }\r\n /* Lambert_Conformal_Conic_1SP */\r\n if (Strings.equalsIgnoreCase(projectionName, \"Lambert_Conformal_Conic_1SP\")) {\r\n if (Strings.equalsIgnoreCase(parameterName, \"latitude_of_origin\")) parameterList.add(new ParameterValue(8801, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"central_meridian\")) parameterList.add(new ParameterValue(8802, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"scale_factor\")) parameterList.add(new ParameterValue(8805, parameterValue, SCALE));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_easting\")) parameterList.add(new ParameterValue(8806, parameterValue, METER));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_northing\")) parameterList.add(new ParameterValue(8807, parameterValue, METER));\r\n }\r\n /* Lambert_Conformal_Conic_2SP / Lambert_Conformal_Conic_2SP_Belgium / Lambert_Conformal_Conic */\r\n if (Strings.equalsIgnoreCase(projectionName, \"Lambert_Conformal_Conic_2SP\") || Strings.equalsIgnoreCase(projectionName, \"Lambert_Conformal_Conic_2SP_Belgium\") || Strings.equalsIgnoreCase(projectionName, \"Lambert_Conformal_Conic\")) {\r\n if (Strings.equalsIgnoreCase(parameterName, \"latitude_of_origin\")) parameterList.add(new ParameterValue(8821, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"central_meridian\")) parameterList.add(new ParameterValue(8822, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"standard_parallel_1\")) parameterList.add(new ParameterValue(8823, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"standard_parallel_2\")) parameterList.add(new ParameterValue(8824, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_easting\")) parameterList.add(new ParameterValue(8826, parameterValue, METER));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_northing\")) parameterList.add(new ParameterValue(8827, parameterValue, METER));\r\n // if (Strings.equalsIgnoreCase(parameterName,\"scale_factor\")) {if (parameterValue!=1.0) throw new IllegalArgumentException(MODULE+\" : Invalid parameter '\"+parameterName+\"' with value \"+parameterValue);}\r\n }\r\n /* Mercator_1SP */\r\n if (Strings.equalsIgnoreCase(projectionName, \"Mercator_1SP\")) {\r\n if (Strings.equalsIgnoreCase(parameterName, \"latitude_of_origin\")) parameterList.add(new ParameterValue(8801, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"central_meridian\")) parameterList.add(new ParameterValue(8802, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"scale_factor\")) parameterList.add(new ParameterValue(8805, parameterValue, SCALE));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_easting\")) parameterList.add(new ParameterValue(8806, parameterValue, METER));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_northing\")) parameterList.add(new ParameterValue(8807, parameterValue, METER));\r\n }\r\n /* Oblique_Mercator */\r\n if (Strings.equalsIgnoreCase(projectionName, \"Oblique_Mercator\")) {\r\n if (Strings.equalsIgnoreCase(parameterName, \"latitude_of_center\")) parameterList.add(new ParameterValue(8811, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"longitude_of_center\")) parameterList.add(new ParameterValue(8812, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"azimuth\")) parameterList.add(new ParameterValue(8813, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"rectified_grid_angle\")) parameterList.add(new ParameterValue(8814, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"scale_factor\")) parameterList.add(new ParameterValue(8815, parameterValue, SCALE));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_easting\")) parameterList.add(new ParameterValue(8816, parameterValue, METER));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_northing\")) parameterList.add(new ParameterValue(8817, parameterValue, METER));\r\n }\r\n /* Oblique_Stereographic /Transverse_Mercator */\r\n if (Strings.equalsIgnoreCase(projectionName, \"Oblique_Stereographic\") || Strings.equalsIgnoreCase(projectionName, \"Transverse_Mercator\")) {\r\n if (Strings.equalsIgnoreCase(parameterName, \"latitude_of_origin\")) parameterList.add(new ParameterValue(8801, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"central_meridian\")) parameterList.add(new ParameterValue(8802, parameterValue, DEG));\r\n if (Strings.equalsIgnoreCase(parameterName, \"scale_factor\")) parameterList.add(new ParameterValue(8805, parameterValue, SCALE));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_easting\")) parameterList.add(new ParameterValue(8806, parameterValue, METER));\r\n if (Strings.equalsIgnoreCase(parameterName, \"false_northing\")) parameterList.add(new ParameterValue(8807, parameterValue, METER));\r\n }\r\n }\r\n /* Create the right method */\r\n if (Strings.equalsIgnoreCase(projectionName, \"Hotine_Oblique_Mercator\")) return new HotineObliqueMercator(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"Krovak\")) return new KrovakObliqueConformalConic(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"KrovakEN\")) return new KrovakObliqueConformalConicEN(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"Lambert_Conformal_Conic_1SP\")) return new LambertConical1SP(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"Lambert_Conformal_Conic_2SP\")) return new LambertConical2SP(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"Lambert_Conformal_Conic\")) return new LambertConical2SP(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"Mercator_1SP\")) return new Mercator1SP(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"Oblique_Mercator\")) return new ObliqueMercator(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"Oblique_Stereographic\")) return new ObliqueStereographic(parameterList);\r\n if (Strings.equalsIgnoreCase(projectionName, \"Transverse_Mercator\")) return new TransverseMercator(parameterList);\r\n ASystem.assert0(false, \"Unknown projection type '\" + projectionName + \"'\");\r\n return null;\r\n }\r\n\r\n /**\r\n * Parse a geocentric CRS.\r\n * @param crsCode the code of the CRS.\r\n * @param node the well-known-text node.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the CRS.\r\n */\r\n private static parseGeocentric(crsCode: int32, node: WellKnownTextNode, dialect: string): CRS {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let primeMeridian: PrimeMeridian = WellKnownText.parsePrimeMeridian(crsCode, node.getArgumentByName(\"PRIMEM\"), dialect);\r\n let datum: Datum = WellKnownText.parseDatum(crsCode, node.getArgumentByName(\"DATUM\"), primeMeridian, dialect);\r\n let toWGS84m: OperationMethod = datum.getToWGS84();\r\n let toWGS84s: AList<Operation> = new AList<Operation>();\r\n let linearUnit: Unit = WellKnownText.parseLinearUnit(node.getArgumentByName(\"UNIT\"), dialect);\r\n let axis: AList<WellKnownTextNode> = node.getArgumentsByName(\"AXIS\");\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? crsCode : epsgCode;\r\n /* Return the CRS */\r\n if (toWGS84m != null) toWGS84s.add(new Operation(0/*code*/, \"\"/*name*/, Operation.TRANSFORMATION, code, CRS.WGS84_2D_CRS_CODE, 0/*area*/, toWGS84m));\r\n return new CRS(code, name, 0/*area*/, CRS.GEOCENTRIC, 0/*csCode*/, datum, null/*baseCRS*/, null/*projection*/, toWGS84s);\r\n }\r\n\r\n /**\r\n * Parse a geographic CRS.\r\n * @param crsCode the code of the CRS.\r\n * @param node the well-known-text node.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the CRS.\r\n */\r\n private static parseGeographic(crsCode: int32, node: WellKnownTextNode, dialect: string): CRS {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let primeMeridian: PrimeMeridian = WellKnownText.parsePrimeMeridian(crsCode, node.getArgumentByName(\"PRIMEM\"), dialect);\r\n let datum: Datum = WellKnownText.parseDatum(crsCode, node.getArgumentByName(\"DATUM\"), primeMeridian, dialect);\r\n let toWGS84m: OperationMethod = datum.getToWGS84();\r\n let toWGS84s: AList<Operation> = new AList<Operation>();\r\n let angularUnit: Unit = WellKnownText.parseAngularUnit(node.getArgumentByName(\"UNIT\"), dialect);\r\n let axis: AList<WellKnownTextNode> = node.getArgumentsByName(\"AXIS\");\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? crsCode : epsgCode;\r\n /* Return the CRS */\r\n if (toWGS84m != null) toWGS84s.add(new Operation(0/*code*/, \"\"/*name*/, Operation.TRANSFORMATION, code, CRS.WGS84_2D_CRS_CODE, 0/*area*/, toWGS84m));\r\n return new CRS(code, name, 0/*area*/, CRS.GEOGRAPHIC_2D, 0/*csCode*/, datum, null/*baseCRS*/, null/*projection*/, toWGS84s);\r\n }\r\n\r\n /**\r\n * Parse a projected CRS.\r\n * @param crsCode the code of the CRS.\r\n * @param node the well-known-text node.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the CRS.\r\n */\r\n private static parseProjection(crsCode: int32, node: WellKnownTextNode, dialect: string): CRS {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let baseCRS: CRS = WellKnownText.parseGeographic(-crsCode, node.getArgumentByName(\"GEOGCS\"), dialect);\r\n let projection: WellKnownTextNode = node.getArgumentByName(\"PROJECTION\");\r\n let parameters: AList<WellKnownTextNode> = node.getArgumentsByName(\"PARAMETER\");\r\n let projectionMethod: OperationMethod = WellKnownText.parseProjectionMethod(projection, parameters, dialect);\r\n let linearUnit: Unit = WellKnownText.parseLinearUnit(node.getArgumentByName(\"UNIT\"), dialect);\r\n let axis: AList<WellKnownTextNode> = node.getArgumentsByName(\"AXIS\");\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? crsCode : epsgCode;\r\n /* Return the CRS */\r\n let projectionOperation: Operation = new Operation(0/*code*/, \"\"/*name*/, Operation.CONVERSION, code, baseCRS.getCode(), 0/*area*/, projectionMethod);\r\n return new CRS(code, name, 0/*area*/, CRS.PROJECTED, 0/*csCode*/, null/*datum*/, baseCRS, projectionOperation, null/*toWGS84*/);\r\n }\r\n\r\n /**\r\n * Parse a vertical CRS.\r\n * @param crsCode the code of the CRS.\r\n * @param node the well-known-text node.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the CRS.\r\n */\r\n private static parseVertical(crsCode: int32, node: WellKnownTextNode, dialect: string): CRS {\r\n /* Get the parameters */\r\n let name: string = WellKnownText.unquote(node.getArgument(0).getName());\r\n let authority: WellKnownTextNode = node.getArgumentByName(\"AUTHORITY\");\r\n /* Do we have an EPGS code ? */\r\n let epsgCode: int32 = WellKnownText.getEPSGCode(authority, dialect);\r\n let code: int32 = (epsgCode == 0) ? crsCode : epsgCode;\r\n /* Create the datum */\r\n let datum: Datum = new Datum(code, name, Datum.TYPE_VERTICAL, null/*spheroid*/, null/*primeMeridian*/);\r\n /* Return the CRS */\r\n return new CRS(code, name, 0/*area*/, CRS.VERTICAL, 6499/*csCode*/, datum, null/*baseCRS*/, null/*projectionOperation*/, null/*toWGS84*/);\r\n }\r\n\r\n /**\r\n * Parse a CRS well-known-text.\r\n * @param crsCode the code of the CRS.\r\n * @param text the well-known-text.\r\n * @param dialect the dialect of WKT to parse.\r\n * @return the CRS (null if unable to parse).\r\n */\r\n public static parseSpatialReferenceSystem(crsCode: int32, text: string, dialect: string): CRS {\r\n let node: WellKnownTextNode = WellKnownTextNode.parse(text);\r\n if (Strings.equalsIgnoreCase(node.getName(), \"GEOCCS\")) return WellKnownText.parseGeocentric(crsCode, node, dialect);\r\n if (Strings.equalsIgnoreCase(node.getName(), \"GEOGCS\")) return WellKnownText.parseGeographic(crsCode, node, dialect);\r\n if (Strings.equalsIgnoreCase(node.getName(), \"PROJCS\")) return WellKnownText.parseProjection(crsCode, node, dialect);\r\n if (Strings.equalsIgnoreCase(node.getName(), \"VERTCS\")) return WellKnownText.parseVertical(crsCode, node, dialect);\r\n Message.printWarning(WellKnownText.MODULE, \"Invalid spatial reference system WKT '\" + text + \"'\");\r\n return null;\r\n }\r\n}\r\n"]}
@@ -0,0 +1,70 @@
1
+ /** @packageDocumentation
2
+ * @module OrbitGT
3
+ */
4
+ declare type int32 = number;
5
+ import { AList } from "../../system/collection/AList";
6
+ /**
7
+ * Class WellKnownTextNode defines a node in a well-known-text expression.
8
+ *
9
+ * @version 1.0 December 2010
10
+ */
11
+ /** @internal */
12
+ export declare class WellKnownTextNode {
13
+ /** Get the name */
14
+ private _name;
15
+ /** Get the arguments */
16
+ private _argumentList;
17
+ /**
18
+ * Create a new node.
19
+ * @param name the name.
20
+ * @param argumentList the arguments.
21
+ */
22
+ constructor(name: string, argumentList: AList<WellKnownTextNode>);
23
+ /**
24
+ * Get the name.
25
+ * @return the name.
26
+ */
27
+ getName(): string;
28
+ /**
29
+ * Get the arguments.
30
+ * @return the arguments.
31
+ */
32
+ getArguments(): AList<WellKnownTextNode>;
33
+ /**
34
+ * Add an argument.
35
+ * @param argument the argument to add.
36
+ */
37
+ addArgument(argument: WellKnownTextNode): void;
38
+ /**
39
+ * Get an argument.
40
+ * @param index the index of the argument.
41
+ * @return the argument.
42
+ */
43
+ getArgument(index: int32): WellKnownTextNode;
44
+ /**
45
+ * Get an optional argument.
46
+ * @param index the index of the argument.
47
+ * @return the argument.
48
+ */
49
+ getOptionalArgument(index: int32): WellKnownTextNode;
50
+ /**
51
+ * Get arguments by name.
52
+ * @param name the name of the arguments.
53
+ * @return the arguments.
54
+ */
55
+ getArgumentsByName(name: string): AList<WellKnownTextNode>;
56
+ /**
57
+ * Get an argument by name.
58
+ * @param name the name of the argument.
59
+ * @return the argument (null if not found).
60
+ */
61
+ getArgumentByName(name: string): WellKnownTextNode;
62
+ /**
63
+ * Parse an expression.
64
+ * @param expression the expression.
65
+ * @return the parsed expression.
66
+ */
67
+ static parse(expression: string): WellKnownTextNode;
68
+ }
69
+ export {};
70
+ //# sourceMappingURL=WellKnownTextNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WellKnownTextNode.d.ts","sourceRoot":"","sources":["../../../../src/spatial/ecrs/WellKnownTextNode.ts"],"names":[],"mappings":"AAIA;;GAEG;AAMH,aAAK,KAAK,GAAG,MAAM,CAAC;AAIpB,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAItD;;;;GAIG;AACH,gBAAgB;AAChB,qBAAa,iBAAiB;IAC1B,mBAAmB;IACnB,OAAO,CAAC,KAAK,CAAS;IACtB,wBAAwB;IACxB,OAAO,CAAC,aAAa,CAA2B;IAEhD;;;;OAIG;gBACgB,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAMvE;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;;OAGG;IACI,YAAY,IAAI,KAAK,CAAC,iBAAiB,CAAC;IAI/C;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIrD;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB;IAInD;;;;OAIG;IACI,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB;IAK3D;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAMjE;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IAKzD;;;;OAIG;WACW,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;CAyB7D"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module OrbitGT
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.WellKnownTextNode = void 0;
11
+ const AList_1 = require("../../system/collection/AList");
12
+ const ASystem_1 = require("../../system/runtime/ASystem");
13
+ const Strings_1 = require("../../system/runtime/Strings");
14
+ /**
15
+ * Class WellKnownTextNode defines a node in a well-known-text expression.
16
+ *
17
+ * @version 1.0 December 2010
18
+ */
19
+ /** @internal */
20
+ class WellKnownTextNode {
21
+ /**
22
+ * Create a new node.
23
+ * @param name the name.
24
+ * @param argumentList the arguments.
25
+ */
26
+ constructor(name, argumentList) {
27
+ if (argumentList == null)
28
+ argumentList = new AList_1.AList();
29
+ this._name = name;
30
+ this._argumentList = argumentList;
31
+ }
32
+ /**
33
+ * Get the name.
34
+ * @return the name.
35
+ */
36
+ getName() {
37
+ return this._name;
38
+ }
39
+ /**
40
+ * Get the arguments.
41
+ * @return the arguments.
42
+ */
43
+ getArguments() {
44
+ return this._argumentList;
45
+ }
46
+ /**
47
+ * Add an argument.
48
+ * @param argument the argument to add.
49
+ */
50
+ addArgument(argument) {
51
+ this._argumentList.add(argument);
52
+ }
53
+ /**
54
+ * Get an argument.
55
+ * @param index the index of the argument.
56
+ * @return the argument.
57
+ */
58
+ getArgument(index) {
59
+ return this._argumentList.get(index);
60
+ }
61
+ /**
62
+ * Get an optional argument.
63
+ * @param index the index of the argument.
64
+ * @return the argument.
65
+ */
66
+ getOptionalArgument(index) {
67
+ if (index < this._argumentList.size())
68
+ return this.getArgument(index);
69
+ return null;
70
+ }
71
+ /**
72
+ * Get arguments by name.
73
+ * @param name the name of the arguments.
74
+ * @return the arguments.
75
+ */
76
+ getArgumentsByName(name) {
77
+ let list = new AList_1.AList();
78
+ for (let argument of this._argumentList)
79
+ if (Strings_1.Strings.equalsIgnoreCase(argument.getName(), name))
80
+ list.add(argument);
81
+ return list;
82
+ }
83
+ /**
84
+ * Get an argument by name.
85
+ * @param name the name of the argument.
86
+ * @return the argument (null if not found).
87
+ */
88
+ getArgumentByName(name) {
89
+ let list = this.getArgumentsByName(name);
90
+ return (list.size() == 0) ? null : list.get(0);
91
+ }
92
+ /**
93
+ * Parse an expression.
94
+ * @param expression the expression.
95
+ * @return the parsed expression.
96
+ */
97
+ static parse(expression) {
98
+ /* Literal ? */
99
+ if ((Strings_1.Strings.getLength(expression) >= 2) && Strings_1.Strings.startsWith(expression, "\"") && Strings_1.Strings.endsWith(expression, "\""))
100
+ return new WellKnownTextNode(expression, null);
101
+ /* Get the start of the argument list */
102
+ let index1 = Strings_1.Strings.indexOf(expression, "[");
103
+ if (index1 < 0)
104
+ index1 = Strings_1.Strings.indexOf(expression, "(");
105
+ /* No arguments ? */
106
+ if (index1 < 0)
107
+ return new WellKnownTextNode(expression, null);
108
+ /* Get the end of the argument list */
109
+ let index2 = Strings_1.Strings.lastIndexOf(expression, "]");
110
+ if (index2 < 0)
111
+ index2 = Strings_1.Strings.lastIndexOf(expression, ")");
112
+ /* Check */
113
+ ASystem_1.ASystem.assertNot(index2 < 0, "Invalid well-known-text '" + expression + "' (missing closing bracket)");
114
+ ASystem_1.ASystem.assertNot(index2 < index1, "Invalid well-known-text '" + expression + "' (wrong bracket sequence)");
115
+ /* Get the argument list */
116
+ let argumentList = Strings_1.Strings.substring(expression, index1 + 1, index2);
117
+ let arguments1 = Strings_1.Strings.splitAdvanced(argumentList, "," /*separators*/, "[(" /*opens*/, "])" /*closes*/, "\"" /*literals*/);
118
+ /* Parse the arguments */
119
+ let arguments2 = new AList_1.AList();
120
+ for (let i = 0; i < arguments1.size(); i++)
121
+ arguments2.add(WellKnownTextNode.parse(Strings_1.Strings.trim(arguments1.get(i))));
122
+ /* Get the node name */
123
+ let name = Strings_1.Strings.trim(Strings_1.Strings.substring(expression, 0, index1));
124
+ /* Return the node */
125
+ return new WellKnownTextNode(name, arguments2);
126
+ }
127
+ }
128
+ exports.WellKnownTextNode = WellKnownTextNode;
129
+ //# sourceMappingURL=WellKnownTextNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WellKnownTextNode.js","sourceRoot":"","sources":["../../../../src/spatial/ecrs/WellKnownTextNode.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module OrbitGT\r\n */\r\n\r\n//package orbitgt.spatial.ecrs;\r\n\r\ntype int8 = number;\r\ntype int16 = number;\r\ntype int32 = number;\r\ntype float32 = number;\r\ntype float64 = number;\r\n\r\nimport { AList } from \"../../system/collection/AList\";\r\nimport { ASystem } from \"../../system/runtime/ASystem\";\r\nimport { Strings } from \"../../system/runtime/Strings\";\r\n\r\n/**\r\n * Class WellKnownTextNode defines a node in a well-known-text expression.\r\n *\r\n * @version 1.0 December 2010\r\n */\r\n/** @internal */\r\nexport class WellKnownTextNode {\r\n /** Get the name */\r\n private _name: string;\r\n /** Get the arguments */\r\n private _argumentList: AList<WellKnownTextNode>;\r\n\r\n /**\r\n * Create a new node.\r\n * @param name the name.\r\n * @param argumentList the arguments.\r\n */\r\n public constructor(name: string, argumentList: AList<WellKnownTextNode>) {\r\n if (argumentList == null) argumentList = new AList<WellKnownTextNode>();\r\n this._name = name;\r\n this._argumentList = argumentList;\r\n }\r\n\r\n /**\r\n * Get the name.\r\n * @return the name.\r\n */\r\n public getName(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * Get the arguments.\r\n * @return the arguments.\r\n */\r\n public getArguments(): AList<WellKnownTextNode> {\r\n return this._argumentList;\r\n }\r\n\r\n /**\r\n * Add an argument.\r\n * @param argument the argument to add.\r\n */\r\n public addArgument(argument: WellKnownTextNode): void {\r\n this._argumentList.add(argument);\r\n }\r\n\r\n /**\r\n * Get an argument.\r\n * @param index the index of the argument.\r\n * @return the argument.\r\n */\r\n public getArgument(index: int32): WellKnownTextNode {\r\n return this._argumentList.get(index);\r\n }\r\n\r\n /**\r\n * Get an optional argument.\r\n * @param index the index of the argument.\r\n * @return the argument.\r\n */\r\n public getOptionalArgument(index: int32): WellKnownTextNode {\r\n if (index < this._argumentList.size()) return this.getArgument(index);\r\n return null;\r\n }\r\n\r\n /**\r\n * Get arguments by name.\r\n * @param name the name of the arguments.\r\n * @return the arguments.\r\n */\r\n public getArgumentsByName(name: string): AList<WellKnownTextNode> {\r\n let list: AList<WellKnownTextNode> = new AList<WellKnownTextNode>();\r\n for (let argument of this._argumentList) if (Strings.equalsIgnoreCase(argument.getName(), name)) list.add(argument);\r\n return list;\r\n }\r\n\r\n /**\r\n * Get an argument by name.\r\n * @param name the name of the argument.\r\n * @return the argument (null if not found).\r\n */\r\n public getArgumentByName(name: string): WellKnownTextNode {\r\n let list: AList<WellKnownTextNode> = this.getArgumentsByName(name);\r\n return (list.size() == 0) ? null : list.get(0);\r\n }\r\n\r\n /**\r\n * Parse an expression.\r\n * @param expression the expression.\r\n * @return the parsed expression.\r\n */\r\n public static parse(expression: string): WellKnownTextNode {\r\n /* Literal ? */\r\n if ((Strings.getLength(expression) >= 2) && Strings.startsWith(expression, \"\\\"\") && Strings.endsWith(expression, \"\\\"\")) return new WellKnownTextNode(expression, null);\r\n /* Get the start of the argument list */\r\n let index1: int32 = Strings.indexOf(expression, \"[\");\r\n if (index1 < 0) index1 = Strings.indexOf(expression, \"(\");\r\n /* No arguments ? */\r\n if (index1 < 0) return new WellKnownTextNode(expression, null);\r\n /* Get the end of the argument list */\r\n let index2: int32 = Strings.lastIndexOf(expression, \"]\");\r\n if (index2 < 0) index2 = Strings.lastIndexOf(expression, \")\");\r\n /* Check */\r\n ASystem.assertNot(index2 < 0, \"Invalid well-known-text '\" + expression + \"' (missing closing bracket)\");\r\n ASystem.assertNot(index2 < index1, \"Invalid well-known-text '\" + expression + \"' (wrong bracket sequence)\");\r\n /* Get the argument list */\r\n let argumentList: string = Strings.substring(expression, index1 + 1, index2);\r\n let arguments1: AList<string> = Strings.splitAdvanced(argumentList, \",\"/*separators*/, \"[(\"/*opens*/, \"])\"/*closes*/, \"\\\"\"/*literals*/);\r\n /* Parse the arguments */\r\n let arguments2: AList<WellKnownTextNode> = new AList<WellKnownTextNode>();\r\n for (let i: number = 0; i < arguments1.size(); i++) arguments2.add(WellKnownTextNode.parse(Strings.trim(arguments1.get(i))));\r\n /* Get the node name */\r\n let name: string = Strings.trim(Strings.substring(expression, 0, index1));\r\n /* Return the node */\r\n return new WellKnownTextNode(name, arguments2);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,102 @@
1
+ /** @packageDocumentation
2
+ * @module OrbitGT
3
+ */
4
+ declare type int32 = number;
5
+ import { Coordinate } from "../../geom/Coordinate";
6
+ import { CRS } from "../CRS";
7
+ import { Ellipsoid } from "../Ellipsoid";
8
+ import { Operation } from "../Operation";
9
+ import { OperationMethod } from "../OperationMethod";
10
+ import { ParameterValueList } from "../ParameterValueList";
11
+ /**
12
+ * Class HotineObliqueMercator defines a Hotine Oblique Mercator projection.
13
+ *
14
+ * The 'source' CRS is the geographic CRS.
15
+ * The 'target' CRS is the projected CRS.
16
+ *
17
+ * Based on the following document:
18
+ *
19
+ * Coordinate Conversions and Transformations including Formulas
20
+ * Guidance Note Number 7, part 2
21
+ * Revised August 2006
22
+ * Available at: http://www.epsg.org/
23
+ *
24
+ * Formulas: see 1.4.6: Oblique Mercator and Hotine Oblique Mercator
25
+ *
26
+ * @version 1.0 May 2008
27
+ */
28
+ /** @internal */
29
+ export declare class HotineObliqueMercator extends OperationMethod {
30
+ /** The code of this method */
31
+ static readonly METHOD_CODE: int32;
32
+ /** Latitude of the projection center */
33
+ private _latC;
34
+ /** Longitude of the projection center */
35
+ private _lonC;
36
+ /** Azimuth of the initial line passing through the projection center */
37
+ private _aziC;
38
+ /** Angle from the recified grid to the skew (oblique) grid */
39
+ private _gamC;
40
+ /** Scale factor on the initial line of projection */
41
+ private _kC;
42
+ /** False easting at the natural origin */
43
+ private _fe;
44
+ /** False northing at the natural origin */
45
+ private _fn;
46
+ /** Forward calculation parameters */
47
+ private _a;
48
+ private _e;
49
+ private _e2;
50
+ private _B;
51
+ private _A;
52
+ private _tO;
53
+ private _D;
54
+ private _F;
55
+ private _H;
56
+ private _G;
57
+ private _latO;
58
+ private _lonO;
59
+ private _vC;
60
+ private _uC;
61
+ /** Reverse calculation parameters */
62
+ private _rev1;
63
+ private _rev2;
64
+ private _rev3;
65
+ private _rev4;
66
+ /**
67
+ * Create a new projection.
68
+ * @param parameters the values of the parameters.
69
+ */
70
+ constructor(parameters: ParameterValueList);
71
+ /**
72
+ * Get the sign of a number.
73
+ */
74
+ private static sign;
75
+ /**
76
+ * Get the power of a number (must be able to handle negative 'n' values).
77
+ */
78
+ private static pow;
79
+ /**
80
+ * Initialize the projection.
81
+ * @param ellipsoid the ellipsoid to use.
82
+ * @return this projection (for convenience).
83
+ */
84
+ initializeProjection(ellipsoid: Ellipsoid): HotineObliqueMercator;
85
+ /**
86
+ * OperationMethod method.
87
+ * @see OperationMethod#initialize
88
+ */
89
+ initialize(operation: Operation): void;
90
+ /**
91
+ * OperationMethod interface method.
92
+ * @see OperationMethod#forward
93
+ */
94
+ forward(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void;
95
+ /**
96
+ * OperationMethod interface method.
97
+ * @see OperationMethod#reverse
98
+ */
99
+ reverse(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void;
100
+ }
101
+ export {};
102
+ //# sourceMappingURL=HotineObliqueMercator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HotineObliqueMercator.d.ts","sourceRoot":"","sources":["../../../../../src/spatial/ecrs/projection/HotineObliqueMercator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAMH,aAAK,KAAK,GAAG,MAAM,CAAC;AAIpB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,gBAAgB;AAChB,qBAAa,qBAAsB,SAAQ,eAAe;IACtD,8BAA8B;IAC9B,gBAAuB,WAAW,EAAE,KAAK,CAAQ;IAEjD,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAU;IACvB,yCAAyC;IACzC,OAAO,CAAC,KAAK,CAAU;IACvB,wEAAwE;IACxE,OAAO,CAAC,KAAK,CAAU;IACvB,8DAA8D;IAC9D,OAAO,CAAC,KAAK,CAAU;IACvB,qDAAqD;IACrD,OAAO,CAAC,GAAG,CAAU;IACrB,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAU;IACrB,2CAA2C;IAC3C,OAAO,CAAC,GAAG,CAAU;IAErB,qCAAqC;IACrC,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,GAAG,CAAU;IACrB,qCAAqC;IACrC,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAU;IAEvB;;;SAGK;gBACc,UAAU,EAAE,kBAAkB;IAYjD;;SAEK;IACL,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB;;SAEK;IACL,OAAO,CAAC,MAAM,CAAC,GAAG;IAMlB;;;;SAIK;IACE,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,qBAAqB;IA+BxE;;;SAGK;IACW,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAItD;;;SAGK;IACE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAwB5F;;;SAGK;IACE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;CAuB/F"}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module OrbitGT
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.HotineObliqueMercator = void 0;
11
+ const OperationMethod_1 = require("../OperationMethod");
12
+ /**
13
+ * Class HotineObliqueMercator defines a Hotine Oblique Mercator projection.
14
+ *
15
+ * The 'source' CRS is the geographic CRS.
16
+ * The 'target' CRS is the projected CRS.
17
+ *
18
+ * Based on the following document:
19
+ *
20
+ * Coordinate Conversions and Transformations including Formulas
21
+ * Guidance Note Number 7, part 2
22
+ * Revised August 2006
23
+ * Available at: http://www.epsg.org/
24
+ *
25
+ * Formulas: see 1.4.6: Oblique Mercator and Hotine Oblique Mercator
26
+ *
27
+ * @version 1.0 May 2008
28
+ */
29
+ /** @internal */
30
+ class HotineObliqueMercator extends OperationMethod_1.OperationMethod {
31
+ /**
32
+ * Create a new projection.
33
+ * @param parameters the values of the parameters.
34
+ */
35
+ constructor(parameters) {
36
+ super(HotineObliqueMercator.METHOD_CODE, "Hotine Oblique Mercator", parameters);
37
+ /* Store the parameters */
38
+ this._latC = parameters.getValue(8811);
39
+ this._lonC = parameters.getValue(8812);
40
+ this._aziC = parameters.getValue(8813);
41
+ this._gamC = parameters.getValue(8814);
42
+ this._kC = parameters.getValue(8815);
43
+ this._fe = parameters.getValue(8806);
44
+ this._fn = parameters.getValue(8807);
45
+ }
46
+ /**
47
+ * Get the sign of a number.
48
+ */
49
+ static sign(v) {
50
+ return (v < 0.0) ? (-1.0) : (1.0);
51
+ }
52
+ /**
53
+ * Get the power of a number (must be able to handle negative 'n' values).
54
+ */
55
+ static pow(n, e) {
56
+ let p = 1.0;
57
+ for (let i = 0; i < e; i++)
58
+ p *= n;
59
+ return p;
60
+ }
61
+ /**
62
+ * Initialize the projection.
63
+ * @param ellipsoid the ellipsoid to use.
64
+ * @return this projection (for convenience).
65
+ */
66
+ initializeProjection(ellipsoid) {
67
+ /* Prepare the forward parameters */
68
+ this._a = ellipsoid.getA();
69
+ this._e = ellipsoid.getE();
70
+ this._e2 = this._e * this._e;
71
+ this._B = Math.sqrt(1.0 + (this._e2 * HotineObliqueMercator.pow(Math.cos(this._latC), 4) / (1.0 - this._e2)));
72
+ const esinLatC = this._e * Math.sin(this._latC);
73
+ this._A = this._a * this._B * this._kC * Math.sqrt(1.0 - this._e2) / (1.0 - HotineObliqueMercator.pow(esinLatC, 2));
74
+ this._tO = Math.tan(Math.PI / 4.0 - this._latC / 2.0) / Math.pow((1.0 - esinLatC) / (1.0 + esinLatC), this._e / 2.0);
75
+ this._D = this._B * Math.sqrt(1.0 - this._e2) / (Math.cos(this._latC) * Math.sqrt(1.0 - HotineObliqueMercator.pow(esinLatC, 2)));
76
+ const D2 = (this._D < 1.0) ? (1.0) : (this._D * this._D);
77
+ this._F = this._D + Math.sqrt(D2 - 1.0) * HotineObliqueMercator.sign(this._latC);
78
+ this._H = this._F * Math.pow(this._tO, this._B);
79
+ this._G = (this._F - 1.0 / this._F) / 2.0;
80
+ this._latO = Math.asin(Math.sin(this._aziC) / this._D);
81
+ this._lonO = this._lonC - Math.asin(this._G * Math.tan(this._latO)) / this._B;
82
+ this._vC = 0.0;
83
+ if (Math.abs(this._aziC - 0.5 * Math.PI) < 0.00001)
84
+ this._uC = this._A * (this._lonC - this._lonO); // special case Hungary, Switzerland
85
+ else
86
+ this._uC = (this._A / this._B) * Math.atan(Math.sqrt(D2 - 1.0) / Math.cos(this._aziC)) * HotineObliqueMercator.sign(this._latC);
87
+ /* Prepare the reverse parameters */
88
+ const e4 = this._e2 * this._e2;
89
+ const e6 = e4 * this._e2;
90
+ const e8 = e4 * e4;
91
+ this._rev1 = (this._e2 / 2 + 5 * e4 / 24 + e6 / 12 + 13 * e8 / 360);
92
+ this._rev2 = (7 * e4 / 48 + 29 * e6 / 240 + 811 * e8 / 11520);
93
+ this._rev3 = (7 * e6 / 120 + 81 * e8 / 1120);
94
+ this._rev4 = (4279 * e8 / 161280);
95
+ /* Return the projection */
96
+ return this;
97
+ }
98
+ /**
99
+ * OperationMethod method.
100
+ * @see OperationMethod#initialize
101
+ */
102
+ initialize(operation) {
103
+ this.initializeProjection(operation.getSourceCRS().getEllipsoid());
104
+ }
105
+ /**
106
+ * OperationMethod interface method.
107
+ * @see OperationMethod#forward
108
+ */
109
+ forward(sourceCRS, source, targetCRS, target) {
110
+ /* Get the parameters */
111
+ const lon = source.getX();
112
+ const lat = source.getY();
113
+ /* Make the calculation */
114
+ const esinLat = this._e * Math.sin(lat);
115
+ const t = Math.tan(Math.PI / 4.0 - lat / 2.0) / Math.pow((1.0 - esinLat) / (1.0 + esinLat), this._e / 2.0);
116
+ const Q = this._H / Math.pow(t, this._B);
117
+ const S = (Q - 1.0 / Q) / 2.0;
118
+ const T = (Q + 1.0 / Q) / 2.0;
119
+ const V = Math.sin(this._B * (lon - this._lonO));
120
+ const U = (-V * Math.cos(this._latO) + S * Math.sin(this._latO)) / T;
121
+ const v = this._A * Math.log((1.0 - U) / (1.0 + U)) / (2.0 * this._B);
122
+ const u = (this._A * Math.atan((S * Math.cos(this._latO) + V * Math.sin(this._latO)) / Math.cos(this._B * (lon - this._lonO))) / this._B); // possibly related to method 9815 atan2 problem? (LER 15/06/2018)
123
+ const sinGamC = Math.sin(this._gamC);
124
+ const cosGamC = Math.cos(this._gamC);
125
+ const E = v * cosGamC + u * sinGamC + this._fe;
126
+ const N = u * cosGamC - v * sinGamC + this._fn;
127
+ /* Save the position */
128
+ target.setX(E);
129
+ target.setY(N);
130
+ target.setZ(source.getZ()); // Keep the Z value
131
+ }
132
+ /**
133
+ * OperationMethod interface method.
134
+ * @see OperationMethod#reverse
135
+ */
136
+ reverse(sourceCRS, source, targetCRS, target) {
137
+ /* Get the parameters */
138
+ const E = target.getX();
139
+ const N = target.getY();
140
+ /* Make the calculation */
141
+ const sinGamC = Math.sin(this._gamC);
142
+ const cosGamC = Math.cos(this._gamC);
143
+ const v = (E - this._fe) * cosGamC - (N - this._fn) * sinGamC;
144
+ const u = (N - this._fn) * cosGamC + (E - this._fe) * sinGamC;
145
+ const Q = Math.exp(-this._B * v / this._A);
146
+ const S = (Q - 1.0 / Q) / 2.0;
147
+ const T = (Q + 1.0 / Q) / 2.0;
148
+ const V = Math.sin(this._B * u / this._A);
149
+ const U = (V * Math.cos(this._latO) + S * Math.sin(this._latO)) / T;
150
+ const t = Math.pow(this._H / Math.sqrt((1.0 + U) / (1.0 - U)), 1.0 / this._B);
151
+ const chi = Math.PI / 2.0 - 2.0 * Math.atan(t);
152
+ const lat = chi + Math.sin(2.0 * chi) * this._rev1 + Math.sin(4.0 * chi) * this._rev2 + Math.sin(6.0 * chi) * this._rev3 + Math.sin(8.0 * chi) * this._rev4;
153
+ const lon = this._lonO - Math.atan((S * cosGamC - V * sinGamC) / Math.cos(this._B * u / this._A)) / this._B; // possibly related to method 9815 atan2 problem? (LER 15/06/2018)
154
+ /* Save the position */
155
+ source.setX(lon);
156
+ source.setY(lat);
157
+ source.setZ(target.getZ()); // Keep the Z value
158
+ }
159
+ }
160
+ exports.HotineObliqueMercator = HotineObliqueMercator;
161
+ /** The code of this method */
162
+ HotineObliqueMercator.METHOD_CODE = 9812;
163
+ //# sourceMappingURL=HotineObliqueMercator.js.map