Skip to content

Add ergonomic horizontal coordinate transformations - #86

Open
VPRamon wants to merge 1 commit into
mainfrom
horizontal
Open

Add ergonomic horizontal coordinate transformations#86
VPRamon wants to merge 1 commit into
mainfrom
horizontal

Conversation

@VPRamon

@VPRamon VPRamon commented Jul 10, 2026

Copy link
Copy Markdown
Member

Summary

  • expose convenient equatorial true-of-date ↔ horizontal conversions for Cartesian directions
  • add equivalent spherical-direction APIs, including TT-only and explicit UT1+TT variants
  • support reverse horizontal-to-equatorial conversion through the transformation extension traits
  • add a complete horizontal-coordinate example covering spherical and Cartesian positions and directions
  • document the new example in examples/README.md

Design notes

The convenience methods derive UT1 from TT through the default EOP context, while the *_precise variants accept explicit UT1 and TT for callers requiring tighter Earth-rotation control.

Validation

  • includes round-trip demonstrations in 19_horizontal_coordinates
  • existing CI will validate formatting, compilation, tests, and linting

- Introduced a new example `19_horizontal_coordinates.rs` demonstrating equatorial to horizontal transformations for both spherical and cartesian coordinates, including round-trip checks.
- Updated `examples/README.md` to include the new example in the list of available examples and instructions for running it.
- Enhanced the `transform` module with new methods for converting between horizontal and equatorial coordinates, improving usability for astronomical calculations.
@github-actions

Copy link
Copy Markdown

Code Coverage

Package Line Rate Complexity Health
src.event.altitude 89% 0
src.formats.tle.omm 96% 0
src.coordinates.observation 97% 0
src.astro.dynamics.gravity 72% 0
src.astro.dynamics.forces 86% 0
src.spice 82% 0
src.mission.geometry 91% 0
src.coordinates.transform 86% 0
src.catalogs 92% 0
src.astro.sgp4 88% 0
src.formats.igs 90% 0
src.formats.vlbi 100% 0
src.ephemeris.vsop87 100% 0
src.coordinates.transform.centers.position 77% 0
src.formats.adsb 85% 0
src.event.solar 94% 0
src.formats.spice 82% 0
src.event 93% 0
src.formats.ilrs 95% 0
src.astro.nutation 94% 0
src.pod.run 100% 0
src.pod.qc 93% 0
src.pod.force 94% 0
src.photometry.passbands 99% 0
src.ephemeris 88% 0
src 91% 0
src.formats.iers 86% 0
src.ephemeris.jpl 94% 0
src.starlight 44% 0
src.astro.dynamics.propagation 75% 0
src.pod.product 99% 0
src.atmosphere 97% 0
src.coordinates.transform.frames 94% 0
src.event.search 95% 0
src.event.stellar 93% 0
src.formats 94% 0
src.pod.propagation 94% 0
src.formats.ccsds 90% 0
src.healpix 83% 0
src.coordinates 96% 0
src.coordinates.transform.centers 100% 0
src.formats.rinex 79% 0
src.pod.estimation 90% 0
src.bodies 94% 0
src.pod.observation 87% 0
src.pod 100% 0
src.event.lunar 94% 0
src.astro 89% 0
src.formats.tle 94% 0
src.astro.dynamics 95% 0
src.pod.problem 95% 0
src.pod.process 93% 0
src.catalogs.gaia 91% 0
src.ephemeris.lagrange 85% 0
src.ephemeris.elp2000 99% 0
src.mission 89% 0
src.event.azimuth 94% 0
src.bodies.aircraft 98% 0
src.coordinates.transform.providers 93% 0
src.pod.spice 88% 0
src.targets 99% 0
Summary 90% (31698 / 35047) 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant