Closed tobiasleissner closed 1 year ago
Additional data:
The planetStrict routes the calculation to "undefined" planet, as stated in your comment 4 years ago. https://github.com/onekiloparsec/SwiftAA/issues/86#issuecomment-568272806
Planets.swift, line 71 PlanetaryBase, line 56 KPCAAPlanetStrict, line 242 (ScientificConstants, line 242)
Even then, I can only get the ObjectDetails and not the PlanetDetails: Planets.swift, line 71 KPCAAEllipticalObjectDetails, line 137 KPCAAElliptical, line 81
This was changed on Jul 24, 2022
https://github.com/onekiloparsec/SwiftAA/commit/cda3662b4fe392e8658ba2f8b29a5f79ac5b3b02
Even worse, I cannot access "allObjectDetails" because of PlanetaryBase.swift, line 56
allObjectDetails tries to process the calculation for Pluto, but it doesn't work because it tries to get the right "planet" for "Pluto" from "planetStrict" (where "Pluto" is missing).
Hello Tobias. I've looked at your question, but I don't know how to resolve it.
For instance, look at the AAElliptical.cpp
file. Pluto is not present in the switch.
What you ask for requires (at first sight) to bend the AA+ APIs in some way to re-introduce Pluto in the switch.
What you ask for requires (at first sight) to bend the AA+ APIs in some way to re-introduce Pluto in the switch.
You may be right. Currently I'm using the previous version of SwiftAA, as this is the only way to access this data. However, I will never be able to update to a later version then, as this data is not accessible anymore (although calculation would still be possible).
I don't know why AA+ removed these properties from Pluto. Pluto had a longitude before, as a DwarfPlanet, and still has it, but it simply cannot be calculated anymore. Very strange.
Thanks for taking a look at it anyways. Please close this issue as "cannot be resolved" then.
I have mixed feelings too. Of course, Pluto follows different rules compared to other regular planets, yet, the longitude you mention can be calculated. Somehow, it is "lost" in the APIs design.
Maybe would be worth to ask P.J. Naughter about it, and then we'll mirror this in SwiftAA?
Meanwhile I wrote my own Swift class to calculate the geocentric ecliptic position of Pluto using KPCAAPluto_*
functions of ObjCAA
, just by converting the position of KPCAAPluto
to rectangular, making the data geocentric, and finally converting the position back to ecliptic.
You could "forward" the data of KPCAAPluto_*
methods to the Pluto
class in Swift, which would make it possible to access the heliocentric ecliptic position. Any additional calculations are up to the developers.
See #86 Until 2.2.0 it was possible to get ApparentGeocentricLongitude for Pluto.
Since 2.4.0 this was removed as DwarfPlanet uses strictPlanet (which invalidates Pluto as a planet and therefore doesn't give access to ApparentGeocentricLongitude anymore).
Please fix, or provide another way to access the ApparentGeocentricLongitude for Pluto.