Skip to content

Add Geometric and Astrometric positions for Sun and Moon#135

Merged
rhannequin merged 2 commits intomainfrom
geometric-astrometric-sun-moon
Feb 21, 2025
Merged

Add Geometric and Astrometric positions for Sun and Moon#135
rhannequin merged 2 commits intomainfrom
geometric-astrometric-sun-moon

Conversation

@rhannequin
Copy link
Owner

@rhannequin rhannequin commented Feb 19, 2025

This is the start of the transition for Sun and Moon from formula-based to ephemeris-based.

It gives the ability to Sun and Moon to be initialized from a given Instant and Ephem.

Planet is renamed into SolarSystemBody so that Sun and Moon can inherit from it while still making sense.

Thanks to SolarSystemBody, Sun and Moon have Geometric and Astrometric positions, with each equatorial and ecliptic coordinates.

instant = Astronoby::Instant.from_time(Time.utc(2025, 2, 7))
ephem = Astronoby::Ephem.load("de440s.bsp")


sun = Astronoby::Sun.new(instant: instant, ephem: ephem)

sun.geometric.equatorial.right_ascension
sun.geometric.equatorial.declination
sun.geometric.ecliptic.latitude
sun.geometric.ecliptic.longitude
sun.geometric.distance
sun.astrometric.equatorial.right_ascension
sun.astrometric.equatorial.declination
sun.astrometric.ecliptic.latitude
sun.astrometric.ecliptic.longitude
sun.astrometric.distance


moon = Astronoby::Moon.new(instant: instant, ephem: ephem)

moon.geometric.equatorial.right_ascension
moon.geometric.equatorial.declination
moon.geometric.ecliptic.latitude
moon.geometric.ecliptic.longitude
moon.geometric.distance
moon.astrometric.equatorial.right_ascension
moon.astrometric.equatorial.declination
moon.astrometric.ecliptic.latitude
moon.astrometric.ecliptic.longitude
moon.astrometric.distance

@rhannequin rhannequin self-assigned this Feb 19, 2025
@rhannequin rhannequin merged commit a481ca2 into main Feb 21, 2025
34 checks passed
@rhannequin rhannequin deleted the geometric-astrometric-sun-moon branch February 24, 2025 20:11
@rhannequin rhannequin mentioned this pull request Apr 30, 2025
rhannequin added a commit that referenced this pull request May 12, 2025
## 0.7.0 - 2025-05-12

_If you are upgrading: please see [UPGRADING.md]._

### Bug fixes

* Fix Moon monthly phase events calculation by @valeriy-sokoloff in ([#124])

### Features

* Add `Instant` value object ([#121])
* Introduce barycentric position of Solar System major bodies ([#127])
* Introduce Astrometric position for planets ([#129])
* Rename Barycentric into Geometric ([#130])
* Rename IRCF and remove module Position ([#131])
* Geometric and Astrometric reference frames with coordinates ([#132])
* Ecliptic coordinates for Geometric and Astrometric reference frames ([#134])
* Add Geometric and Astrometric positions for `Sun` and `Moon` ([#135])
* Implement new aberration correction ([#136])
* Precession matrix for 2006 P03 model ([#137])
* Introduce `MeanOfDate` reference frame ([#138])
* New nutation model ([#141])
* Light deflection correction ([#142])
* Introduce `Apparent` reference frame ([#143])
* Introduce `Topocentric` reference frame ([#145])
* Improve Vector integration with value objects ([#146])
* Handle refracted topocentric horizontal coordinates ([#147])
* Add `#angular_diameter` to apparent and topocentric reference frames ([#149])
* Introduce new calculator for rising, transit and setting times ([#148])
* Clean code after Ephem refactoring ([#152])
* Improve `RisingTransitSettingEventsCalculator` ([#155])
* Simplify `RisingTransitSettingEventsCalculator` ([#156])
* Lazy-load reference frames ([#157])
* Overall performance improvements ([#163])
* Add support for IMCCE INPOP by @JoelQ and @rhannequin ([#166])
* Update INPOP excerpt in spec data ([#167])
* Introduce a better rise/transit/set calculator ([#168])
* Drop `Astronoby::Observer#observe` ([#174])

### Improvements

* Bump standard from 1.42.1 to 1.49.0 by @dependabot ([#123], [#128], [#150], [#165])
* Bump rubyzip from 2.3.2 to 2.4.1 by @dependabot ([#120])
* Add more tests for Julian Date conversion ([#122])
* Upgrade main Ruby version and supported ones ([#125])
* Update email address and gem description ([#126])
* Increase precision of mean obliquity ([#133])
* Add supported Rubies ([#139])
* Set Ruby 3.4.2 as default version ([#140])
* Fix dependency secutiry patch ([#151])
* Improve HMS/DMS formats ([#153])
* Use excerpts ephemerides for specs of Sun and Moon ([#154])
* Add link to deprecated documentation ([#160])
* Default Ruby 3.4.3 and support recent rubies ([#169])
* Better Moon phases test coverage ([#172])
* Optimize Observer with GMST from Instant ([#173])
* Update README about documentation location ([#175])
* Add GitHub Actions permissions ([#176])

### New Contributors

* @valeriy-sokoloff made their first contribution in #124
* @JoelQ made their first contribution in #166

**Full Changelog**: v0.6.0...v0.7.0

[#120]: #120
[#121]: #121
[#122]: #122
[#123]: #123
[#124]: #124
[#125]: #125
[#126]: #126
[#127]: #127
[#128]: #128
[#129]: #129
[#130]: #130
[#131]: #131
[#132]: #132
[#133]: #133
[#134]: #134
[#135]: #135
[#136]: #136
[#137]: #137
[#138]: #138
[#139]: #139
[#140]: #140
[#141]: #141
[#142]: #142
[#143]: #143
[#145]: #145
[#146]: #146
[#147]: #147
[#148]: #148
[#149]: #149
[#150]: #150
[#151]: #151
[#152]: #152
[#153]: #153
[#154]: #154
[#155]: #155
[#156]: #156
[#157]: #157
[#160]: #160
[#163]: #163
[#165]: #165
[#166]: #166
[#167]: #167
[#168]: #168
[#169]: #169
[#172]: #172
[#173]: #173
[#174]: #174
[#175]: #175
[#176]: #176
[UPGRADING.md]: https://github.com/rhannequin/astronoby/blob/main/UPGRADING.md
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