RA ausgedrückt in Grad

Mit dem Python-Paket Skyfield dachte ich, dass ich die RA einfach in Grad ausdrücken könnte, indem ich ra.degrees mache, aber ich bekomme die folgende Meldung

Dieser Winkel wird normalerweise in Stunden und nicht in Grad angegeben. wenn Sie trotzdem Abschlüsse verwenden möchten, verwenden Sie bitte das Attribut_degrees

Ich habe einiges probiert, aber keine Lösung gefunden. Könnte mir jemand helfen?

Ich verwende v1.37, Python 3.27. Ich habe deinen Trick angewendet und es hat funktioniert. Danke.
Siehe den Kommentar von Astrosnapper ; Verwenden Sie besser nicht meinen Trick (ich habe ihn gelöscht), sondern verwenden Sie stattdessen einen von denen.
Oder verwenden ra.hours * 15.0... ? Scheint ein seltsamer Flex von Seiten zu sein, Skyfieldbestimmte, absolut gültige Einheiten nicht verwenden zu dürfen - die Verwendung von RA und Dec in Dezimalgraden wird immer häufiger

Antworten (1)

Der Text versucht zu suggerieren, dass Sie dies tun ra._degrees. Wie könnte die Nachricht besser formuliert werden, um deutlich zu machen, dass der Vorschlag darin besteht, den Attributnamen, nach dem Sie fragen, von .degreesin zu ändern ._degrees? Würde ein vorangestellter .Name helfen?

Per Konvention zeigen einzelne Unterstriche an, dass das Attribut als interne/private Variable gedacht ist ( dbader.org/blog/meaning-of-underscores-in-python ). Daher sollten Endbenutzer diese im Allgemeinen nicht verwenden. Beziehen Sie sich auch auf die ursprünglichen Q-Kommentare: Zum Umwandeln von Bogenmaß in Grad ist es besser, die Umrechnung zu verwenden math.degrees()oder numpy.degrees()anstatt sie von Hand zu rollen.
Ich würde es niemals ._degreesgenau aus dem Grund verwenden, den Astrosnapper angibt. Als Benutzer nehme ich an, dass der Unterstrich, der "Halbprivatheit" anzeigt, aus einem bestimmten Grund vorhanden ist; Vielleicht funktioniert es jetzt oder in Zukunft nicht wie erwartet oder verschwindet später oder etwas anderes ...
@astrosnapper ja, das habe ich gelöscht und hierher verwiesen.
@astrosnapper und @uhoh – Danke, dass du erklärt hast, dass du in diesem Fall nicht bereit bist, Skyfields Anleitung zu folgen! Ich werde einen Ersatznamen entwerfen. (Ursprünglich habe ich überlegt, .degrees_dammitaber das fühlte sich nicht professionell an, also habe ich versucht, den einfachen führenden Unterstrich zu verwenden, wie Pythons eigene namedtupleVerwendung für mehrere Methoden, die Benutzer zum Aufrufen auffordern.) Während ich die Einschränkung auch einfach entfernen könnte, meine Erfahrung mit einer älteren Bibliothek (PyEphem) schlägt vor, dass das Sagen von Benutzern ra.degreesohne Warnmeldung zu vielen verwirrten Benutzern und Benutzerfragen führen würde.
(Irgendwelche Ratschläge zum Namen? Es war anscheinend .degrees_anywaybis Juli 2014, als ich, als Skyfield noch vor 1.0 war, auf den einfachen Unterstrich umgestellt habe.)
@BrandonRhodes Ich bin verwirrt; es gibt .kmund .aufür Positionen, warum gibt es Zurückhaltung für .degreesund .radians? Warum könnten diese ohne Warnmeldung zu vielen verwirrten Benutzern und Benutzerfragen führen? Was wäre verwirrend für Winkel, die nicht für die Entfernungen wären? Ist das passiert? Oder ist es der archetypische Everyuser , der von einem wohlwollenden Entwickler entwickelt wurde, der unermüdlich daran arbeitet, das coolste, leistungsfähigste und gleichzeitig einfach zu verwendende Python-Paket im Universum zu erstellen, das verwirrt wird und Fragen aufwirft? :-)
@uhoh - Es war leider kein "generierter" Benutzer, sondern tatsächliche PyEphem-Benutzer (siehe meinen Kommentar oben), von denen ich mich erinnere, dass sie wiederholt verwirrt waren und die falschen Einheiten für RA auswählten und dann um Hilfe bitten mussten. Aber vielleicht beseitigt das viel bessere Design von Skyfield, das versucht, die Benutzer dazu zu bringen, die Einheiten zu benennen, die sie verwenden, um Winkel einzustellen und zu erhalten, die meisten Probleme? Diese Möglichkeit lässt mich an dieser Stelle dazu tendieren, die Kontrollen einfach abzuschaffen. Leider, wenn die Stützlast springt, habe ich dauerhaften Schaden angerichtet, den ich niemals rückgängig machen kann. Aber wenn es funktioniert, wird Skyfield einfacher sein.