@neilberkman/sidereon 0.26.1 → 0.27.1

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.
package/pkg/sidereon.js CHANGED
@@ -5463,6 +5463,21 @@ export class GeoidGrid {
5463
5463
  }
5464
5464
  return GeoidGrid.__wrap(ret[0]);
5465
5465
  }
5466
+ /**
5467
+ * Parse PROJ's public EGM96 15-arcminute `egm96_15.gtx` byte stream.
5468
+ * Use `undulationProjRad` with an explicit arithmetic recipe.
5469
+ * @param {Uint8Array} bytes
5470
+ * @returns {GeoidGrid}
5471
+ */
5472
+ static fromProjEgm96Gtx(bytes) {
5473
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
5474
+ const len0 = WASM_VECTOR_LEN;
5475
+ const ret = wasm.geoidgrid_fromProjEgm96Gtx(ptr0, len0);
5476
+ if (ret[2]) {
5477
+ throw takeFromExternrefTable0(ret[1]);
5478
+ }
5479
+ return GeoidGrid.__wrap(ret[0]);
5480
+ }
5466
5481
  /**
5467
5482
  * Parse a grid from the documented whitespace-delimited text format (a
5468
5483
  * six-field header `lat_min lon_min dlat dlon n_lat n_lon` followed by
@@ -5539,6 +5554,24 @@ export class GeoidGrid {
5539
5554
  const ret = wasm.geoidgrid_undulationDeg(this.__wbg_ptr, lat_deg, lon_deg);
5540
5555
  return ret;
5541
5556
  }
5557
+ /**
5558
+ * Evaluate PROJ 9.3.0-compatible vertical-grid interpolation at geodetic
5559
+ * radians. The caller must select separate or fused multiply/add behavior;
5560
+ * no platform-dependent default is inferred. Invalid coordinates throw a
5561
+ * `RangeError` with machine-readable `kind`, `coordinate`, and `detail`
5562
+ * properties.
5563
+ * @param {number} lat_rad
5564
+ * @param {number} lon_rad
5565
+ * @param {ProjVgridshiftArithmetic} arithmetic
5566
+ * @returns {number}
5567
+ */
5568
+ undulationProjRad(lat_rad, lon_rad, arithmetic) {
5569
+ const ret = wasm.geoidgrid_undulationProjRad(this.__wbg_ptr, lat_rad, lon_rad, arithmetic);
5570
+ if (ret[2]) {
5571
+ throw takeFromExternrefTable0(ret[1]);
5572
+ }
5573
+ return ret[0];
5574
+ }
5542
5575
  /**
5543
5576
  * Bilinearly interpolated undulation `N` (metres) at a geodetic position in
5544
5577
  * radians (latitude positive north, longitude positive east).
@@ -13588,6 +13621,38 @@ export class PredictedObservables {
13588
13621
  }
13589
13622
  if (Symbol.dispose) PredictedObservables.prototype[Symbol.dispose] = PredictedObservables.prototype.free;
13590
13623
 
13624
+ /**
13625
+ * Floating-point evaluation recipe for PROJ vertical-grid interpolation.
13626
+ * @enum {0 | 1}
13627
+ */
13628
+ export const ProjVgridshiftArithmetic = Object.freeze({
13629
+ /**
13630
+ * Round every multiplication and addition separately. This matches the
13631
+ * reviewed x86-64 PROJ 9.3.0 build with contraction disabled.
13632
+ */
13633
+ SeparateMultiplyAdd: 0, "0": "SeparateMultiplyAdd",
13634
+ /**
13635
+ * Evaluate each accumulation with a fused multiply-add and one rounding.
13636
+ * This matches the contracted AArch64 PROJ 9.3.0 reference build.
13637
+ */
13638
+ FusedMultiplyAdd: 1, "1": "FusedMultiplyAdd",
13639
+ });
13640
+
13641
+ /**
13642
+ * Error category reported by PROJ vertical-grid coordinate lookup.
13643
+ * @enum {0 | 1}
13644
+ */
13645
+ export const ProjVgridshiftError = Object.freeze({
13646
+ /**
13647
+ * Latitude or longitude was not finite.
13648
+ */
13649
+ NonFiniteCoordinate: 0, "0": "NonFiniteCoordinate",
13650
+ /**
13651
+ * Latitude or longitude was outside the loaded grid.
13652
+ */
13653
+ CoordinateOutsideGrid: 1, "1": "CoordinateOutsideGrid",
13654
+ });
13655
+
13591
13656
  /**
13592
13657
  * Reason a satellite was dropped from paired pseudorange combination.
13593
13658
  * @enum {0 | 1 | 2 | 3}
Binary file