webdggrid 1.7.0 → 1.9.0

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 (258) hide show
  1. package/dist/webdggrid.js +1 -1
  2. package/dist/webdggrid.js.map +1 -1
  3. package/dist/webdggrid.umd.js +1 -1
  4. package/dist/webdggrid.umd.js.map +1 -1
  5. package/lib-esm/libdggrid.wasm.js +1 -1
  6. package/lib-esm/tsconfig.tsbuildinfo +1 -1
  7. package/lib-esm/webdggrid.js +343 -19
  8. package/lib-esm/webdggrid.js.map +1 -1
  9. package/lib-wasm/CMakeCache.txt +3 -3
  10. package/lib-wasm/CMakeFiles/3.31.6/CMakeCCompiler.cmake +6 -6
  11. package/lib-wasm/CMakeFiles/3.31.6/CMakeCXXCompiler.cmake +6 -6
  12. package/lib-wasm/CMakeFiles/3.31.6/CMakeSystem.cmake +3 -3
  13. package/lib-wasm/CMakeFiles/CMakeConfigureLog.yaml +1 -1
  14. package/lib-wasm/CMakeFiles/Makefile.cmake +1 -1
  15. package/lib-wasm/CMakeFiles/libdggrid.dir/DependInfo.cmake +3 -0
  16. package/lib-wasm/CMakeFiles/libdggrid.dir/build.make +391 -343
  17. package/lib-wasm/CMakeFiles/libdggrid.dir/cmake_clean.cmake +6 -0
  18. package/lib-wasm/CMakeFiles/libdggrid.dir/flags.make +4 -4
  19. package/lib-wasm/CMakeFiles/libdggrid.dir/link.txt +1 -1
  20. package/lib-wasm/CMakeFiles/libdggrid.dir/progress.make +99 -96
  21. package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/dggrid_transform.cpp.o +0 -0
  22. package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/dggrid_transform.cpp.o.d +675 -676
  23. package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/igeo7_bindings.cpp.o +0 -0
  24. package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/igeo7_bindings.cpp.o.d +714 -0
  25. package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/webdggrid.cpp.o +0 -0
  26. package/lib-wasm/CMakeFiles/libdggrid.dir/src-cpp/webdggrid.cpp.o.d +692 -693
  27. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgAddressBase.cpp.o +0 -0
  28. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgAddressBase.cpp.o.d +662 -663
  29. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgAddressType.cpp.o +0 -0
  30. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgAddressType.cpp.o.d +662 -663
  31. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgApSeq.cpp.o +0 -0
  32. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgApSeq.cpp.o.d +669 -670
  33. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBase.cpp.o +0 -0
  34. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBase.cpp.o.d +662 -663
  35. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC2RF2D.cpp.o +0 -0
  36. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC2RF2D.cpp.o.d +671 -672
  37. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC3C2RF2D.cpp.o +0 -0
  38. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC3C2RF2D.cpp.o.d +671 -672
  39. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC3RF2D.cpp.o +0 -0
  40. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedHexC3RF2D.cpp.o.d +671 -672
  41. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedIDGG.cpp.o +0 -0
  42. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedIDGG.cpp.o.d +671 -672
  43. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedIDGGS.cpp.o +0 -0
  44. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedIDGGS.cpp.o.d +671 -672
  45. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRF2D.cpp.o +0 -0
  46. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRF2D.cpp.o.d +671 -672
  47. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRFBase0.cpp.o +0 -0
  48. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRFBase0.cpp.o.d +671 -672
  49. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRFS2D.cpp.o +0 -0
  50. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgBoundedRFS2D.cpp.o.d +671 -672
  51. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgCell.cpp.o +0 -0
  52. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgCell.cpp.o.d +671 -672
  53. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgColor.cpp.o +0 -0
  54. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgColor.cpp.o.d +669 -670
  55. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgConverterBase.cpp.o +0 -0
  56. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgConverterBase.cpp.o.d +671 -672
  57. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDVec2D.cpp.o +0 -0
  58. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDVec2D.cpp.o.d +671 -672
  59. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDVec3D.cpp.o +0 -0
  60. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDVec3D.cpp.o.d +671 -672
  61. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDataFieldBase.cpp.o +0 -0
  62. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDataFieldBase.cpp.o.d +662 -663
  63. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDataList.cpp.o +0 -0
  64. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDataList.cpp.o.d +662 -663
  65. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDiscRFS2D.cpp.o +0 -0
  66. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDiscRFS2D.cpp.o.d +671 -672
  67. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDistanceBase.cpp.o +0 -0
  68. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDistanceBase.cpp.o.d +671 -672
  69. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD4Grid2D.cpp.o +0 -0
  70. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD4Grid2D.cpp.o.d +671 -672
  71. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD4Grid2DS.cpp.o +0 -0
  72. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD4Grid2DS.cpp.o.d +671 -672
  73. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD8Grid2D.cpp.o +0 -0
  74. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD8Grid2D.cpp.o.d +671 -672
  75. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD8Grid2DS.cpp.o +0 -0
  76. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdD8Grid2DS.cpp.o.d +671 -672
  77. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdIDGG.cpp.o +0 -0
  78. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgDmdIDGG.cpp.o.d +671 -672
  79. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgEllipsoidRF.cpp.o +0 -0
  80. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgEllipsoidRF.cpp.o.d +671 -672
  81. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgGeoSphRF.cpp.o +0 -0
  82. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgGeoSphRF.cpp.o.d +671 -672
  83. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgGridTopo.cpp.o +0 -0
  84. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgGridTopo.cpp.o.d +662 -663
  85. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC1Grid2D.cpp.o +0 -0
  86. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC1Grid2D.cpp.o.d +671 -672
  87. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC2Grid2D.cpp.o +0 -0
  88. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC2Grid2D.cpp.o.d +671 -672
  89. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC3Grid2D.cpp.o +0 -0
  90. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexC3Grid2D.cpp.o.d +671 -672
  91. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexGrid2DS.cpp.o +0 -0
  92. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexGrid2DS.cpp.o.d +671 -672
  93. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexIDGG.cpp.o +0 -0
  94. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexIDGG.cpp.o.d +671 -672
  95. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexIDGGS.cpp.o +0 -0
  96. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgHexIDGGS.cpp.o.d +671 -672
  97. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGG.cpp.o +0 -0
  98. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGG.cpp.o.d +671 -672
  99. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGBase.cpp.o +0 -0
  100. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGBase.cpp.o.d +671 -672
  101. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS.cpp.o +0 -0
  102. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS.cpp.o.d +671 -672
  103. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS3H.cpp.o +0 -0
  104. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS3H.cpp.o.d +671 -672
  105. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS43H.cpp.o +0 -0
  106. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS43H.cpp.o.d +671 -672
  107. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4D.cpp.o +0 -0
  108. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4D.cpp.o.d +671 -672
  109. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4H.cpp.o +0 -0
  110. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4H.cpp.o.d +671 -672
  111. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4T.cpp.o +0 -0
  112. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS4T.cpp.o.d +671 -672
  113. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS7H.cpp.o +0 -0
  114. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGS7H.cpp.o.d +671 -672
  115. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGSBase.cpp.o +0 -0
  116. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGSBase.cpp.o.d +671 -672
  117. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGutil.cpp.o +0 -0
  118. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIDGGutil.cpp.o.d +671 -672
  119. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIVec2D.cpp.o +0 -0
  120. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIVec2D.cpp.o.d +671 -672
  121. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIVec3D.cpp.o +0 -0
  122. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIVec3D.cpp.o.d +671 -672
  123. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIcosaMap.cpp.o +0 -0
  124. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgIcosaMap.cpp.o.d +671 -672
  125. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInAIGenFile.cpp.o +0 -0
  126. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInAIGenFile.cpp.o.d +691 -692
  127. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInGdalFile.cpp.o +0 -0
  128. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInLocStreamFile.cpp.o +0 -0
  129. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInLocStreamFile.cpp.o.d +682 -683
  130. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInLocTextFile.cpp.o +0 -0
  131. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInLocTextFile.cpp.o.d +691 -692
  132. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInShapefile.cpp.o +0 -0
  133. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInShapefile.cpp.o.d +691 -692
  134. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInShapefileAtt.cpp.o +0 -0
  135. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInShapefileAtt.cpp.o.d +695 -696
  136. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInputStream.cpp.o +0 -0
  137. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgInputStream.cpp.o.d +682 -683
  138. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocBase.cpp.o +0 -0
  139. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocBase.cpp.o.d +662 -663
  140. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocList.cpp.o +0 -0
  141. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocList.cpp.o.d +672 -673
  142. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocVector.cpp.o +0 -0
  143. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocVector.cpp.o.d +671 -672
  144. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocation.cpp.o +0 -0
  145. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgLocation.cpp.o.d +671 -672
  146. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutAIGenFile.cpp.o +0 -0
  147. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutAIGenFile.cpp.o.d +691 -692
  148. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutChildrenFile.cpp.o +0 -0
  149. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutChildrenFile.cpp.o.d +690 -691
  150. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutGdalFile.cpp.o +0 -0
  151. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutGeoJSONFile.cpp.o +0 -0
  152. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutGeoJSONFile.cpp.o.d +691 -692
  153. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutKMLfile.cpp.o +0 -0
  154. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutKMLfile.cpp.o.d +691 -692
  155. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutLocFile.cpp.o +0 -0
  156. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutLocFile.cpp.o.d +695 -696
  157. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutLocTextFile.cpp.o +0 -0
  158. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutLocTextFile.cpp.o.d +689 -690
  159. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutNeighborsFile.cpp.o +0 -0
  160. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutNeighborsFile.cpp.o.d +690 -691
  161. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPRCellsFile.cpp.o +0 -0
  162. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPRCellsFile.cpp.o.d +691 -692
  163. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPRPtsFile.cpp.o +0 -0
  164. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPRPtsFile.cpp.o.d +691 -692
  165. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPtsText.cpp.o +0 -0
  166. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutPtsText.cpp.o.d +691 -692
  167. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutRandPtsText.cpp.o +0 -0
  168. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutRandPtsText.cpp.o.d +691 -692
  169. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutShapefile.cpp.o +0 -0
  170. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutShapefile.cpp.o.d +698 -699
  171. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutputStream.cpp.o +0 -0
  172. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgOutputStream.cpp.o.d +682 -683
  173. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgPolygon.cpp.o +0 -0
  174. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgPolygon.cpp.o.d +671 -672
  175. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjFuller.cpp.o +0 -0
  176. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjFuller.cpp.o.d +671 -672
  177. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjGnomonicRF.cpp.o +0 -0
  178. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjGnomonicRF.cpp.o.d +671 -672
  179. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjISEA.cpp.o +0 -0
  180. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjISEA.cpp.o.d +671 -672
  181. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjTriRF.cpp.o +0 -0
  182. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgProjTriRF.cpp.o.d +671 -672
  183. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRFBase.cpp.o +0 -0
  184. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRFBase.cpp.o.d +672 -673
  185. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRFNetwork.cpp.o +0 -0
  186. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRFNetwork.cpp.o.d +671 -672
  187. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRandom.cpp.o +0 -0
  188. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgRandom.cpp.o.d +671 -672
  189. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSeriesConverter.cpp.o +0 -0
  190. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSeriesConverter.cpp.o.d +672 -673
  191. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD4Grid2D.cpp.o +0 -0
  192. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD4Grid2D.cpp.o.d +671 -672
  193. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD4Grid2DS.cpp.o +0 -0
  194. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD4Grid2DS.cpp.o.d +671 -672
  195. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD8Grid2D.cpp.o +0 -0
  196. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD8Grid2D.cpp.o.d +671 -672
  197. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD8Grid2DS.cpp.o +0 -0
  198. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSqrD8Grid2DS.cpp.o.d +671 -672
  199. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSuperfund.cpp.o +0 -0
  200. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgSuperfund.cpp.o.d +662 -663
  201. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriGrid2D.cpp.o +0 -0
  202. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriGrid2D.cpp.o.d +671 -672
  203. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriGrid2DS.cpp.o +0 -0
  204. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriGrid2DS.cpp.o.d +671 -672
  205. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriIDGG.cpp.o +0 -0
  206. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgTriIDGG.cpp.o.d +671 -672
  207. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgUtil.cpp.o +0 -0
  208. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgUtil.cpp.o.d +669 -670
  209. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ3RF.cpp.o +0 -0
  210. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ3RF.cpp.o.d +674 -675
  211. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ3StringRF.cpp.o +0 -0
  212. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ3StringRF.cpp.o.d +671 -672
  213. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ7RF.cpp.o +0 -0
  214. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ7RF.cpp.o.d +674 -675
  215. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ7StringRF.cpp.o +0 -0
  216. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZ7StringRF.cpp.o.d +671 -672
  217. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZOrderRF.cpp.o +0 -0
  218. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZOrderRF.cpp.o.d +674 -675
  219. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZOrderStringRF.cpp.o +0 -0
  220. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/dglib/lib/DgZOrderStringRF.cpp.o.d +671 -672
  221. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/adjlon.cpp.o +0 -0
  222. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/adjlon.cpp.o.d +128 -129
  223. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_auth.cpp.o +0 -0
  224. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_auth.cpp.o.d +132 -133
  225. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_mlfn.cpp.o +0 -0
  226. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_mlfn.cpp.o.d +132 -133
  227. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_msfn.cpp.o +0 -0
  228. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_msfn.cpp.o.d +131 -132
  229. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_phi2.cpp.o +0 -0
  230. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_phi2.cpp.o.d +132 -133
  231. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_qsfn.cpp.o +0 -0
  232. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_qsfn.cpp.o.d +128 -129
  233. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_tsfn.cpp.o +0 -0
  234. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/proj4lib/lib/pj_tsfn.cpp.o.d +128 -129
  235. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/dbfopen.c.o +0 -0
  236. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/dbfopen.c.o.d +24 -25
  237. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/safileio.c.o +0 -0
  238. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/safileio.c.o.d +27 -28
  239. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/sbnsearch.c.o +0 -0
  240. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/sbnsearch.c.o.d +24 -25
  241. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shpopen.c.o +0 -0
  242. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shpopen.c.o.d +29 -30
  243. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shptree.c.o +0 -0
  244. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shptree.c.o.d +27 -28
  245. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shputils.c.o +0 -0
  246. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/DGGRID/src/lib/shapelib/lib/shputils.c.o.d +21 -22
  247. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/igeo7_duckdb/src/auth/authalic.cpp.o +0 -0
  248. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/igeo7_duckdb/src/auth/authalic.cpp.o.d +625 -0
  249. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/igeo7_duckdb/src/z7/library.cpp.o +0 -0
  250. package/lib-wasm/CMakeFiles/libdggrid.dir/submodules/igeo7_duckdb/src/z7/library.cpp.o.d +720 -0
  251. package/lib-wasm/Makefile +81 -0
  252. package/lib-wasm/cmake_install.cmake +1 -1
  253. package/lib-wasm/libdggrid.js +1 -1
  254. package/lib-wasm/libdggrid.wasm +0 -0
  255. package/package.json +1 -1
  256. package/src-ts/webdggrid.ts +369 -17
  257. package/types/webdggrid.d.ts +209 -7
  258. package/types/webdggrid.d.ts.map +1 -1
@@ -1,6 +1,6 @@
1
1
  // @ts-ignore
2
2
  import { loadWasm, unloadWasm } from './libdggrid.wasm.js';
3
- import { Feature, FeatureCollection, GeoJsonProperties, Polygon, Position } from 'geojson';
3
+ import { Feature, FeatureCollection, GeoJSON, GeoJsonProperties, Polygon, Position } from 'geojson';
4
4
 
5
5
  /**
6
6
  * The shape of each cell in the Discrete Global Grid System.
@@ -187,21 +187,31 @@ export interface IDGGSProps {
187
187
 
188
188
  /**
189
189
  * Rewraps a polygon ring that crosses the antimeridian so that all longitudes
190
- * are in a contiguous range (some may exceed 180°). This is the format
191
- * expected by MapLibre GL / Mapbox GL globe projection for antimeridian cells.
192
- * For renderers that require standard [-180, 180] coordinates, use the raw
193
- * output from {@link Webdggrid.sequenceNumToGrid} directly.
190
+ * are in a contiguous range. The output longitudes may fall outside
191
+ * [-180, 180] that's intentional, and is the format expected by MapLibre
192
+ * GL / Mapbox GL globe projection for antimeridian cells. For renderers that
193
+ * require standard [-180, 180] coordinates, run a final modulo step
194
+ * downstream.
195
+ *
196
+ * Walks consecutive vertices and accumulates a ±360 offset whenever the
197
+ * longitude delta between neighbours exceeds 180° (the only meaningful sign
198
+ * of an antimeridian crossing). This keeps the traversal direction faithful
199
+ * even for polar caps, which span a full 360° in lon and were broken by the
200
+ * previous "negative-to-positive" rewrite.
194
201
  */
195
202
  export function unwrapAntimeridianRing(ring: Position[]): Position[] {
196
- let minLon = ring[0][0];
197
- let maxLon = ring[0][0];
203
+ if (ring.length === 0) return ring;
204
+ const out: Position[] = [[ring[0][0], ring[0][1]]];
205
+ let offset = 0;
198
206
  for (let i = 1; i < ring.length; i++) {
199
- const lon = ring[i][0];
200
- if (lon < minLon) minLon = lon;
201
- else if (lon > maxLon) maxLon = lon;
202
- }
203
- if (maxLon - minLon <= 180) return ring;
204
- return ring.map(([lon, lat]) => [lon < 0 ? lon + 360 : lon, lat]);
207
+ const prev = ring[i - 1][0];
208
+ const curr = ring[i][0];
209
+ const delta = curr - prev;
210
+ if (delta > 180) offset -= 360;
211
+ else if (delta < -180) offset += 360;
212
+ out.push([curr + offset, ring[i][1]]);
213
+ }
214
+ return out;
205
215
  }
206
216
 
207
217
  const DEFAULT_RESOLUTION = 1;
@@ -778,13 +788,22 @@ export class Webdggrid {
778
788
  * retrieve.
779
789
  * @param resolution - Resolution at which the IDs were generated. Defaults
780
790
  * to the instance's current {@link resolution}.
791
+ * @param unwrap - When `true` (default), antimeridian-crossing rings are
792
+ * passed through {@link unwrapAntimeridianRing} so longitudes stay
793
+ * contiguous (lons may exceed 180°). Required by MapLibre GL / Mapbox
794
+ * GL globe projection. Set to `false` to receive the raw DGGRID output
795
+ * in `[-180, 180]` — required by Cesium's `GeoJsonDataSource` (which
796
+ * internally normalises lons and breaks polar caps under unwrap), and
797
+ * by any sphere-aware renderer that interpolates edges as great-circle
798
+ * arcs.
781
799
  * @returns A 2-D array: `result[i]` is the vertex ring of `sequenceNum[i]`.
782
800
  * Each vertex is a `[lng, lat]` position.
783
801
  * @throws If the WASM module encounters an invalid cell ID.
784
802
  */
785
803
  sequenceNumToGrid(
786
804
  sequenceNum: bigint[],
787
- resolution: number = DEFAULT_RESOLUTION
805
+ resolution: number = DEFAULT_RESOLUTION,
806
+ unwrap: boolean = true
788
807
  ): Position[][] {
789
808
  const {
790
809
  poleCoordinates: { lat, lng },
@@ -836,7 +855,7 @@ export class Webdggrid {
836
855
  for (let j = 0; j < numVertexes; j += 1) {
837
856
  coordinates.push([resultArray[xOffset + j], resultArray[yOffset + j]]);
838
857
  }
839
- featureSet.push(unwrapAntimeridianRing(coordinates));
858
+ featureSet.push(unwrap ? unwrapAntimeridianRing(coordinates) : coordinates);
840
859
  xOffset += numVertexes;
841
860
  yOffset += numVertexes;
842
861
  }
@@ -874,15 +893,19 @@ export class Webdggrid {
874
893
  * @param sequenceNum - Array of `BigInt` cell IDs to convert.
875
894
  * @param resolution - Resolution at which the IDs were generated. Defaults
876
895
  * to the instance's current {@link resolution}.
896
+ * @param unwrap - Forwarded to {@link sequenceNumToGrid}. Defaults to
897
+ * `true` (MapLibre-style unwrap). Pass `false` for Cesium and other
898
+ * great-circle-arc renderers.
877
899
  * @returns A GeoJSON `FeatureCollection` of `Polygon` features, one per
878
900
  * input cell ID.
879
901
  */
880
902
  sequenceNumToGridFeatureCollection(
881
903
  sequenceNum: bigint[],
882
- resolution: number = DEFAULT_RESOLUTION
904
+ resolution: number = DEFAULT_RESOLUTION,
905
+ unwrap: boolean = true
883
906
  ): FeatureCollection<Polygon, DGGSGeoJsonProperty> {
884
907
 
885
- const coordinatesArray = this.sequenceNumToGrid(sequenceNum, resolution);
908
+ const coordinatesArray = this.sequenceNumToGrid(sequenceNum, resolution, unwrap);
886
909
 
887
910
  const features = coordinatesArray.map((coordinates, index) => {
888
911
  const seqNum = sequenceNum[index];
@@ -2370,4 +2393,333 @@ export class Webdggrid {
2370
2393
  // There are no PLANE_to_* transformations available.
2371
2394
  // Use other coordinate systems (GEO, SEQNUM, Q2DI, Q2DD, PROJTRI) as input.
2372
2395
  // -------------------------------------------------------------------------
2396
+
2397
+ // =========================================================================
2398
+ // IGEO7 / Z7 — hexagonal hierarchical index (packed UBIGINT)
2399
+ //
2400
+ // Wraps the upstream Z7 C++ core library (from allixender/igeo7_duckdb).
2401
+ // These are **stateless** bit-level operations on a packed 64-bit index —
2402
+ // they do **not** use the active DGGS configuration and can be called
2403
+ // without first invoking {@link setDggs}.
2404
+ //
2405
+ // Index layout (MSB → LSB):
2406
+ // [63:60] base cell (0-11)
2407
+ // [59:57] digit 1 (0-6; 7 = padding / unused slot)
2408
+ // [56:54] digit 2
2409
+ // ...
2410
+ // [ 2: 0] digit 20
2411
+ //
2412
+ // The "compact string" form from {@link igeo7ToString} is a 2-digit
2413
+ // zero-padded base cell followed by the non-padding digit characters —
2414
+ // e.g. `'0800432'` (base 08, digits 0,0,4,3,2, resolution 5).
2415
+ //
2416
+ // The invalid sentinel is `UINT64_MAX` (`0xFFFFFFFFFFFFFFFFn`), returned
2417
+ // by {@link igeo7Neighbours} for pentagon-excluded directions and by
2418
+ // {@link igeo7Neighbour} for out-of-range direction arguments.
2419
+ // =========================================================================
2420
+
2421
+ /**
2422
+ * Normalize a 64-bit integer (possibly returned as signed BigInt by the
2423
+ * WASM boundary when bit 63 is set) to its canonical unsigned form.
2424
+ * @internal
2425
+ */
2426
+ private _u64(x: bigint): bigint {
2427
+ return BigInt.asUintN(64, x);
2428
+ }
2429
+
2430
+ /**
2431
+ * Parse a Z7 compact string into a packed 64-bit index.
2432
+ *
2433
+ * ```ts
2434
+ * const idx = dggs.igeo7FromString('0800432');
2435
+ * // idx is a BigInt packed index for base=8, digits=[0,0,4,3,2], res=5
2436
+ * ```
2437
+ *
2438
+ * @param s - Compact Z7 string (2-digit base + digit characters).
2439
+ * @returns Packed index as BigInt (unsigned).
2440
+ */
2441
+ igeo7FromString(s: string): bigint {
2442
+ return this._u64(this._module.igeo7_from_string(s));
2443
+ }
2444
+
2445
+ /**
2446
+ * Render a packed Z7 index as its compact string form.
2447
+ *
2448
+ * Stops at the first padding digit (value 7), producing a string whose
2449
+ * length reflects the cell's resolution (`2 + resolution` characters).
2450
+ *
2451
+ * ```ts
2452
+ * dggs.igeo7ToString(dggs.igeo7FromString('0800432')); // '0800432'
2453
+ * ```
2454
+ *
2455
+ * @param index - Packed Z7 index.
2456
+ * @returns Compact Z7 string.
2457
+ */
2458
+ igeo7ToString(index: bigint): string {
2459
+ return this._module.igeo7_to_string(index);
2460
+ }
2461
+
2462
+ /**
2463
+ * Pack a base cell and exactly 20 digit slots into a 64-bit Z7 index.
2464
+ *
2465
+ * Use digit value `7` for every slot beyond the desired resolution.
2466
+ * Field values are masked internally — no range-check is required.
2467
+ *
2468
+ * ```ts
2469
+ * // Reconstruct '0800432' — base=8, resolution=5
2470
+ * const idx = dggs.igeo7Encode(
2471
+ * 8, [0,0,4,3,2, 7,7,7,7,7, 7,7,7,7,7, 7,7,7,7,7]
2472
+ * );
2473
+ * // idx === dggs.igeo7FromString('0800432')
2474
+ * ```
2475
+ *
2476
+ * @param base - Base cell (0-11).
2477
+ * @param digits - Exactly 20 digit values (0-7 each).
2478
+ * @returns Packed Z7 index as BigInt.
2479
+ * @throws If `digits.length !== 20`.
2480
+ */
2481
+ igeo7Encode(base: number, digits: number[]): bigint {
2482
+ if (digits.length !== 20) {
2483
+ throw new Error(`igeo7Encode requires exactly 20 digits, got ${digits.length}`);
2484
+ }
2485
+ return this._u64(this._module.igeo7_encode(
2486
+ base,
2487
+ digits[0], digits[1], digits[2], digits[3], digits[4],
2488
+ digits[5], digits[6], digits[7], digits[8], digits[9],
2489
+ digits[10], digits[11], digits[12], digits[13], digits[14],
2490
+ digits[15], digits[16], digits[17], digits[18], digits[19]
2491
+ ));
2492
+ }
2493
+
2494
+ /**
2495
+ * Extract the resolution (0-20) of a packed Z7 index.
2496
+ *
2497
+ * @param index - Packed Z7 index.
2498
+ * @returns Resolution level.
2499
+ */
2500
+ igeo7GetResolution(index: bigint): number {
2501
+ return this._module.igeo7_get_resolution(index);
2502
+ }
2503
+
2504
+ /**
2505
+ * Extract the base cell (0-11) of a packed Z7 index.
2506
+ *
2507
+ * @param index - Packed Z7 index.
2508
+ * @returns Base cell ID.
2509
+ */
2510
+ igeo7GetBaseCell(index: bigint): number {
2511
+ return this._module.igeo7_get_base_cell(index);
2512
+ }
2513
+
2514
+ /**
2515
+ * Extract the `i`-th digit (1-20) of a packed Z7 index.
2516
+ * Positions outside `[1, 20]` return `7` (matches DuckDB extension).
2517
+ *
2518
+ * @param index - Packed Z7 index.
2519
+ * @param position - Digit position, 1-based.
2520
+ * @returns Digit value (0-7).
2521
+ */
2522
+ igeo7GetDigit(index: bigint, position: number): number {
2523
+ return this._module.igeo7_get_digit(index, position);
2524
+ }
2525
+
2526
+ /**
2527
+ * Parent of a Z7 cell — one hierarchy level up.
2528
+ *
2529
+ * At resolution 0 the cell is its own parent (the result has resolution 0
2530
+ * and the same base cell).
2531
+ *
2532
+ * ```ts
2533
+ * const child = dggs.igeo7FromString('0800432');
2534
+ * dggs.igeo7ToString(dggs.igeo7Parent(child)); // '080043'
2535
+ * ```
2536
+ *
2537
+ * @param index - Packed Z7 index.
2538
+ * @returns Parent index as BigInt.
2539
+ */
2540
+ igeo7Parent(index: bigint): bigint {
2541
+ return this._u64(this._module.igeo7_parent(index));
2542
+ }
2543
+
2544
+ /**
2545
+ * Ancestor of a Z7 cell at a specific resolution.
2546
+ *
2547
+ * Keeps digits `1..resolution` and fills the remainder with padding
2548
+ * (`7`). The argument is clamped to `[0, 20]`.
2549
+ *
2550
+ * ```ts
2551
+ * const cell = dggs.igeo7FromString('0800432');
2552
+ * dggs.igeo7ToString(dggs.igeo7ParentAt(cell, 3)); // '08004'
2553
+ * ```
2554
+ *
2555
+ * @param index - Packed Z7 index.
2556
+ * @param resolution - Target resolution (0-20).
2557
+ * @returns Ancestor index as BigInt.
2558
+ */
2559
+ igeo7ParentAt(index: bigint, resolution: number): bigint {
2560
+ return this._u64(this._module.igeo7_parent_at(index, resolution));
2561
+ }
2562
+
2563
+ /**
2564
+ * Return all 6 neighbour indices of a Z7 cell, in GBT directions 1-6.
2565
+ *
2566
+ * Invalid neighbours (e.g. one direction on the 12 pentagons) are the
2567
+ * sentinel `UINT64_MAX` (`0xFFFFFFFFFFFFFFFFn`). Use {@link igeo7IsValid}
2568
+ * to filter them out.
2569
+ *
2570
+ * ```ts
2571
+ * const cell = dggs.igeo7FromString('0800432');
2572
+ * const ns = dggs.igeo7Neighbours(cell)
2573
+ * .filter(n => dggs.igeo7IsValid(n))
2574
+ * .map(n => dggs.igeo7ToString(n));
2575
+ * ```
2576
+ *
2577
+ * @param index - Packed Z7 index.
2578
+ * @returns Array of exactly 6 BigInt neighbour indices.
2579
+ */
2580
+ igeo7Neighbours(index: bigint): bigint[] {
2581
+ const raw = this._module.igeo7_get_neighbours(index) as bigint[];
2582
+ return raw.map(n => this._u64(n));
2583
+ }
2584
+
2585
+ /**
2586
+ * Single neighbour of a Z7 cell by GBT direction (1-6).
2587
+ *
2588
+ * Returns the invalid sentinel (`UINT64_MAX`) when `direction` is outside
2589
+ * `[1, 6]` or when the requested neighbour is excluded (pentagons).
2590
+ *
2591
+ * @param index - Packed Z7 index.
2592
+ * @param direction - Direction number, 1-6.
2593
+ * @returns Neighbour index as BigInt.
2594
+ */
2595
+ igeo7Neighbour(index: bigint, direction: number): bigint {
2596
+ return this._u64(this._module.igeo7_get_neighbour(index, direction));
2597
+ }
2598
+
2599
+ /**
2600
+ * Position (1-20) of the first non-zero digit slot in a Z7 index.
2601
+ * Returns `0` when no non-zero digit exists (centre of the base cell).
2602
+ *
2603
+ * @param index - Packed Z7 index.
2604
+ * @returns Position of first non-zero digit, or 0.
2605
+ */
2606
+ igeo7FirstNonZero(index: bigint): number {
2607
+ return this._module.igeo7_first_non_zero(index);
2608
+ }
2609
+
2610
+ /**
2611
+ * Whether a packed Z7 index is valid (i.e. not the `UINT64_MAX` sentinel).
2612
+ *
2613
+ * @param index - Packed Z7 index.
2614
+ * @returns `true` if valid, `false` for the invalid sentinel.
2615
+ */
2616
+ igeo7IsValid(index: bigint): boolean {
2617
+ return this._module.igeo7_is_valid(index);
2618
+ }
2619
+
2620
+ /**
2621
+ * Convert a geodetic latitude (WGS84 ellipsoid) to its authalic latitude
2622
+ * on the equal-area sphere. Implementation follows Karney (2022) — same
2623
+ * polynomial used by the `igeo7_geo_to_authalic` DuckDB scalar function.
2624
+ *
2625
+ * Longitude is unaffected; only latitude is transformed.
2626
+ *
2627
+ * @param latDeg - Geodetic latitude in degrees, range `[-90, 90]`.
2628
+ * @returns Authalic latitude in degrees.
2629
+ */
2630
+ igeo7GeoToAuthalic(latDeg: number): number {
2631
+ return this._module.igeo7_geo_to_authalic(latDeg);
2632
+ }
2633
+
2634
+ /**
2635
+ * Inverse of {@link igeo7GeoToAuthalic} — convert an authalic latitude
2636
+ * back to geodetic.
2637
+ *
2638
+ * @param latDeg - Authalic latitude in degrees.
2639
+ * @returns Geodetic latitude (WGS84) in degrees.
2640
+ */
2641
+ igeo7AuthalicToGeo(latDeg: number): number {
2642
+ return this._module.igeo7_authalic_to_geo(latDeg);
2643
+ }
2644
+
2645
+ /**
2646
+ * Apply {@link igeo7GeoToAuthalic} (or its inverse) to every coordinate of
2647
+ * a GeoJSON geometry, feature, or feature collection. Mirrors the
2648
+ * `igeo7_geo_to_authalic` / `igeo7_authalic_to_geo` DuckDB functions
2649
+ * (which take/return `GEOMETRY`); this is the WASM equivalent for
2650
+ * GeoJSON-shaped inputs.
2651
+ *
2652
+ * The input is **deep-cloned** — the source object is not mutated.
2653
+ * Geometries with `null` or unsupported types are returned unchanged.
2654
+ *
2655
+ * @param input - Any GeoJSON geometry, feature, or feature collection.
2656
+ * @param direction - `'geoToAuthalic'` (default) or `'authalicToGeo'`.
2657
+ * @returns A new GeoJSON object of the same shape with transformed lats.
2658
+ */
2659
+ igeo7TransformGeoJson<T extends GeoJSON>(
2660
+ input: T,
2661
+ direction: 'geoToAuthalic' | 'authalicToGeo' = 'geoToAuthalic',
2662
+ ): T {
2663
+ const fn = direction === 'authalicToGeo'
2664
+ ? (lat: number) => this._module.igeo7_authalic_to_geo(lat)
2665
+ : (lat: number) => this._module.igeo7_geo_to_authalic(lat);
2666
+ return transformGeoJsonLatitudes(input, fn);
2667
+ }
2668
+ }
2669
+
2670
+ // ─────────────────────────────────────────────────────────────────────────────
2671
+ // GeoJSON latitude transform helper (used by igeo7TransformGeoJson)
2672
+ // ─────────────────────────────────────────────────────────────────────────────
2673
+
2674
+ type Pos = number[];
2675
+
2676
+ function transformPos(pos: Pos, fn: (lat: number) => number): Pos {
2677
+ // GeoJSON positions are [lng, lat, ...]; only lat (index 1) is touched,
2678
+ // any z/m values trail through untouched.
2679
+ const out = pos.slice();
2680
+ if (out.length >= 2) out[1] = fn(out[1]);
2681
+ return out;
2682
+ }
2683
+
2684
+ function transformCoords(coords: any, depth: number, fn: (lat: number) => number): any {
2685
+ if (depth === 0) return transformPos(coords as Pos, fn);
2686
+ return (coords as any[]).map(c => transformCoords(c, depth - 1, fn));
2687
+ }
2688
+
2689
+ const COORD_DEPTH: Record<string, number> = {
2690
+ Point: 0,
2691
+ LineString: 1,
2692
+ MultiPoint: 1,
2693
+ Polygon: 2,
2694
+ MultiLineString: 2,
2695
+ MultiPolygon: 3,
2696
+ };
2697
+
2698
+ function transformGeometry(geom: any, fn: (lat: number) => number): any {
2699
+ if (!geom || typeof geom.type !== 'string') return geom;
2700
+ if (geom.type === 'GeometryCollection') {
2701
+ return {
2702
+ ...geom,
2703
+ geometries: (geom.geometries || []).map((g: any) => transformGeometry(g, fn)),
2704
+ };
2705
+ }
2706
+ const depth = COORD_DEPTH[geom.type];
2707
+ if (depth === undefined || !geom.coordinates) return geom;
2708
+ return { ...geom, coordinates: transformCoords(geom.coordinates, depth, fn) };
2709
+ }
2710
+
2711
+ function transformGeoJsonLatitudes<T>(input: T, fn: (lat: number) => number): T {
2712
+ const node = input as any;
2713
+ if (!node || typeof node.type !== 'string') return input;
2714
+ switch (node.type) {
2715
+ case 'FeatureCollection':
2716
+ return {
2717
+ ...node,
2718
+ features: (node.features || []).map((f: any) => transformGeoJsonLatitudes(f, fn)),
2719
+ } as T;
2720
+ case 'Feature':
2721
+ return { ...node, geometry: transformGeometry(node.geometry, fn) } as T;
2722
+ default:
2723
+ return transformGeometry(node, fn) as T;
2724
+ }
2373
2725
  }
@@ -1,4 +1,4 @@
1
- import { FeatureCollection, GeoJsonProperties, Polygon, Position } from 'geojson';
1
+ import { FeatureCollection, GeoJSON, GeoJsonProperties, Polygon, Position } from 'geojson';
2
2
  /**
3
3
  * The shape of each cell in the Discrete Global Grid System.
4
4
  *
@@ -178,10 +178,17 @@ export interface IDGGSProps {
178
178
  }
179
179
  /**
180
180
  * Rewraps a polygon ring that crosses the antimeridian so that all longitudes
181
- * are in a contiguous range (some may exceed 180°). This is the format
182
- * expected by MapLibre GL / Mapbox GL globe projection for antimeridian cells.
183
- * For renderers that require standard [-180, 180] coordinates, use the raw
184
- * output from {@link Webdggrid.sequenceNumToGrid} directly.
181
+ * are in a contiguous range. The output longitudes may fall outside
182
+ * [-180, 180] that's intentional, and is the format expected by MapLibre
183
+ * GL / Mapbox GL globe projection for antimeridian cells. For renderers that
184
+ * require standard [-180, 180] coordinates, run a final modulo step
185
+ * downstream.
186
+ *
187
+ * Walks consecutive vertices and accumulates a ±360 offset whenever the
188
+ * longitude delta between neighbours exceeds 180° (the only meaningful sign
189
+ * of an antimeridian crossing). This keeps the traversal direction faithful
190
+ * even for polar caps, which span a full 360° in lon and were broken by the
191
+ * previous "negative-to-positive" rewrite.
185
192
  */
186
193
  export declare function unwrapAntimeridianRing(ring: Position[]): Position[];
187
194
  /**
@@ -499,11 +506,19 @@ export declare class Webdggrid {
499
506
  * retrieve.
500
507
  * @param resolution - Resolution at which the IDs were generated. Defaults
501
508
  * to the instance's current {@link resolution}.
509
+ * @param unwrap - When `true` (default), antimeridian-crossing rings are
510
+ * passed through {@link unwrapAntimeridianRing} so longitudes stay
511
+ * contiguous (lons may exceed 180°). Required by MapLibre GL / Mapbox
512
+ * GL globe projection. Set to `false` to receive the raw DGGRID output
513
+ * in `[-180, 180]` — required by Cesium's `GeoJsonDataSource` (which
514
+ * internally normalises lons and breaks polar caps under unwrap), and
515
+ * by any sphere-aware renderer that interpolates edges as great-circle
516
+ * arcs.
502
517
  * @returns A 2-D array: `result[i]` is the vertex ring of `sequenceNum[i]`.
503
518
  * Each vertex is a `[lng, lat]` position.
504
519
  * @throws If the WASM module encounters an invalid cell ID.
505
520
  */
506
- sequenceNumToGrid(sequenceNum: bigint[], resolution?: number): Position[][];
521
+ sequenceNumToGrid(sequenceNum: bigint[], resolution?: number, unwrap?: boolean): Position[][];
507
522
  /**
508
523
  * Converts an array of DGGS cell IDs into a GeoJSON `FeatureCollection`
509
524
  * where each `Feature` is a `Polygon` representing the cell boundary.
@@ -534,10 +549,13 @@ export declare class Webdggrid {
534
549
  * @param sequenceNum - Array of `BigInt` cell IDs to convert.
535
550
  * @param resolution - Resolution at which the IDs were generated. Defaults
536
551
  * to the instance's current {@link resolution}.
552
+ * @param unwrap - Forwarded to {@link sequenceNumToGrid}. Defaults to
553
+ * `true` (MapLibre-style unwrap). Pass `false` for Cesium and other
554
+ * great-circle-arc renderers.
537
555
  * @returns A GeoJSON `FeatureCollection` of `Polygon` features, one per
538
556
  * input cell ID.
539
557
  */
540
- sequenceNumToGridFeatureCollection(sequenceNum: bigint[], resolution?: number): FeatureCollection<Polygon, DGGSGeoJsonProperty>;
558
+ sequenceNumToGridFeatureCollection(sequenceNum: bigint[], resolution?: number, unwrap?: boolean): FeatureCollection<Polygon, DGGSGeoJsonProperty>;
541
559
  /**
542
560
  * Returns all neighboring cells (sharing an edge) for each input cell.
543
561
  *
@@ -1292,5 +1310,189 @@ export declare class Webdggrid {
1292
1310
  i: bigint;
1293
1311
  j: bigint;
1294
1312
  }>;
1313
+ /**
1314
+ * Normalize a 64-bit integer (possibly returned as signed BigInt by the
1315
+ * WASM boundary when bit 63 is set) to its canonical unsigned form.
1316
+ * @internal
1317
+ */
1318
+ private _u64;
1319
+ /**
1320
+ * Parse a Z7 compact string into a packed 64-bit index.
1321
+ *
1322
+ * ```ts
1323
+ * const idx = dggs.igeo7FromString('0800432');
1324
+ * // idx is a BigInt packed index for base=8, digits=[0,0,4,3,2], res=5
1325
+ * ```
1326
+ *
1327
+ * @param s - Compact Z7 string (2-digit base + digit characters).
1328
+ * @returns Packed index as BigInt (unsigned).
1329
+ */
1330
+ igeo7FromString(s: string): bigint;
1331
+ /**
1332
+ * Render a packed Z7 index as its compact string form.
1333
+ *
1334
+ * Stops at the first padding digit (value 7), producing a string whose
1335
+ * length reflects the cell's resolution (`2 + resolution` characters).
1336
+ *
1337
+ * ```ts
1338
+ * dggs.igeo7ToString(dggs.igeo7FromString('0800432')); // '0800432'
1339
+ * ```
1340
+ *
1341
+ * @param index - Packed Z7 index.
1342
+ * @returns Compact Z7 string.
1343
+ */
1344
+ igeo7ToString(index: bigint): string;
1345
+ /**
1346
+ * Pack a base cell and exactly 20 digit slots into a 64-bit Z7 index.
1347
+ *
1348
+ * Use digit value `7` for every slot beyond the desired resolution.
1349
+ * Field values are masked internally — no range-check is required.
1350
+ *
1351
+ * ```ts
1352
+ * // Reconstruct '0800432' — base=8, resolution=5
1353
+ * const idx = dggs.igeo7Encode(
1354
+ * 8, [0,0,4,3,2, 7,7,7,7,7, 7,7,7,7,7, 7,7,7,7,7]
1355
+ * );
1356
+ * // idx === dggs.igeo7FromString('0800432')
1357
+ * ```
1358
+ *
1359
+ * @param base - Base cell (0-11).
1360
+ * @param digits - Exactly 20 digit values (0-7 each).
1361
+ * @returns Packed Z7 index as BigInt.
1362
+ * @throws If `digits.length !== 20`.
1363
+ */
1364
+ igeo7Encode(base: number, digits: number[]): bigint;
1365
+ /**
1366
+ * Extract the resolution (0-20) of a packed Z7 index.
1367
+ *
1368
+ * @param index - Packed Z7 index.
1369
+ * @returns Resolution level.
1370
+ */
1371
+ igeo7GetResolution(index: bigint): number;
1372
+ /**
1373
+ * Extract the base cell (0-11) of a packed Z7 index.
1374
+ *
1375
+ * @param index - Packed Z7 index.
1376
+ * @returns Base cell ID.
1377
+ */
1378
+ igeo7GetBaseCell(index: bigint): number;
1379
+ /**
1380
+ * Extract the `i`-th digit (1-20) of a packed Z7 index.
1381
+ * Positions outside `[1, 20]` return `7` (matches DuckDB extension).
1382
+ *
1383
+ * @param index - Packed Z7 index.
1384
+ * @param position - Digit position, 1-based.
1385
+ * @returns Digit value (0-7).
1386
+ */
1387
+ igeo7GetDigit(index: bigint, position: number): number;
1388
+ /**
1389
+ * Parent of a Z7 cell — one hierarchy level up.
1390
+ *
1391
+ * At resolution 0 the cell is its own parent (the result has resolution 0
1392
+ * and the same base cell).
1393
+ *
1394
+ * ```ts
1395
+ * const child = dggs.igeo7FromString('0800432');
1396
+ * dggs.igeo7ToString(dggs.igeo7Parent(child)); // '080043'
1397
+ * ```
1398
+ *
1399
+ * @param index - Packed Z7 index.
1400
+ * @returns Parent index as BigInt.
1401
+ */
1402
+ igeo7Parent(index: bigint): bigint;
1403
+ /**
1404
+ * Ancestor of a Z7 cell at a specific resolution.
1405
+ *
1406
+ * Keeps digits `1..resolution` and fills the remainder with padding
1407
+ * (`7`). The argument is clamped to `[0, 20]`.
1408
+ *
1409
+ * ```ts
1410
+ * const cell = dggs.igeo7FromString('0800432');
1411
+ * dggs.igeo7ToString(dggs.igeo7ParentAt(cell, 3)); // '08004'
1412
+ * ```
1413
+ *
1414
+ * @param index - Packed Z7 index.
1415
+ * @param resolution - Target resolution (0-20).
1416
+ * @returns Ancestor index as BigInt.
1417
+ */
1418
+ igeo7ParentAt(index: bigint, resolution: number): bigint;
1419
+ /**
1420
+ * Return all 6 neighbour indices of a Z7 cell, in GBT directions 1-6.
1421
+ *
1422
+ * Invalid neighbours (e.g. one direction on the 12 pentagons) are the
1423
+ * sentinel `UINT64_MAX` (`0xFFFFFFFFFFFFFFFFn`). Use {@link igeo7IsValid}
1424
+ * to filter them out.
1425
+ *
1426
+ * ```ts
1427
+ * const cell = dggs.igeo7FromString('0800432');
1428
+ * const ns = dggs.igeo7Neighbours(cell)
1429
+ * .filter(n => dggs.igeo7IsValid(n))
1430
+ * .map(n => dggs.igeo7ToString(n));
1431
+ * ```
1432
+ *
1433
+ * @param index - Packed Z7 index.
1434
+ * @returns Array of exactly 6 BigInt neighbour indices.
1435
+ */
1436
+ igeo7Neighbours(index: bigint): bigint[];
1437
+ /**
1438
+ * Single neighbour of a Z7 cell by GBT direction (1-6).
1439
+ *
1440
+ * Returns the invalid sentinel (`UINT64_MAX`) when `direction` is outside
1441
+ * `[1, 6]` or when the requested neighbour is excluded (pentagons).
1442
+ *
1443
+ * @param index - Packed Z7 index.
1444
+ * @param direction - Direction number, 1-6.
1445
+ * @returns Neighbour index as BigInt.
1446
+ */
1447
+ igeo7Neighbour(index: bigint, direction: number): bigint;
1448
+ /**
1449
+ * Position (1-20) of the first non-zero digit slot in a Z7 index.
1450
+ * Returns `0` when no non-zero digit exists (centre of the base cell).
1451
+ *
1452
+ * @param index - Packed Z7 index.
1453
+ * @returns Position of first non-zero digit, or 0.
1454
+ */
1455
+ igeo7FirstNonZero(index: bigint): number;
1456
+ /**
1457
+ * Whether a packed Z7 index is valid (i.e. not the `UINT64_MAX` sentinel).
1458
+ *
1459
+ * @param index - Packed Z7 index.
1460
+ * @returns `true` if valid, `false` for the invalid sentinel.
1461
+ */
1462
+ igeo7IsValid(index: bigint): boolean;
1463
+ /**
1464
+ * Convert a geodetic latitude (WGS84 ellipsoid) to its authalic latitude
1465
+ * on the equal-area sphere. Implementation follows Karney (2022) — same
1466
+ * polynomial used by the `igeo7_geo_to_authalic` DuckDB scalar function.
1467
+ *
1468
+ * Longitude is unaffected; only latitude is transformed.
1469
+ *
1470
+ * @param latDeg - Geodetic latitude in degrees, range `[-90, 90]`.
1471
+ * @returns Authalic latitude in degrees.
1472
+ */
1473
+ igeo7GeoToAuthalic(latDeg: number): number;
1474
+ /**
1475
+ * Inverse of {@link igeo7GeoToAuthalic} — convert an authalic latitude
1476
+ * back to geodetic.
1477
+ *
1478
+ * @param latDeg - Authalic latitude in degrees.
1479
+ * @returns Geodetic latitude (WGS84) in degrees.
1480
+ */
1481
+ igeo7AuthalicToGeo(latDeg: number): number;
1482
+ /**
1483
+ * Apply {@link igeo7GeoToAuthalic} (or its inverse) to every coordinate of
1484
+ * a GeoJSON geometry, feature, or feature collection. Mirrors the
1485
+ * `igeo7_geo_to_authalic` / `igeo7_authalic_to_geo` DuckDB functions
1486
+ * (which take/return `GEOMETRY`); this is the WASM equivalent for
1487
+ * GeoJSON-shaped inputs.
1488
+ *
1489
+ * The input is **deep-cloned** — the source object is not mutated.
1490
+ * Geometries with `null` or unsupported types are returned unchanged.
1491
+ *
1492
+ * @param input - Any GeoJSON geometry, feature, or feature collection.
1493
+ * @param direction - `'geoToAuthalic'` (default) or `'authalicToGeo'`.
1494
+ * @returns A new GeoJSON object of the same shape with transformed lats.
1495
+ */
1496
+ igeo7TransformGeoJson<T extends GeoJSON>(input: T, direction?: 'geoToAuthalic' | 'authalicToGeo'): T;
1295
1497
  }
1296
1498
  //# sourceMappingURL=webdggrid.d.ts.map