2013-05-17 1 views
3

Étant donné la latitude et la longitude, j'ai besoin de calculer en Ruby le crépuscule astronomique, nautique, civil, ainsi que les zéniths de la lune et du soleil.Quel est le moyen le plus fiable pour calculer les événements astronomiques de Ruby?

Une gemme qui fonctionne localement (pas d'appels réseau nécessaires) basée sur un lat/lon et une date serait parfaite, mais un service réseau que je peux interroger le ferait également. Weather Underground affiche ces informations via le Web mais leur API ne fournit pas tous les champs (les zeniths, par exemple, sont manquants).

solareventcalculator est une gemme mais il manque certaines fonctionnalités et dans certains cas, calcule correctement l'heure du coucher du soleil, mais date incorrectement. RubyGems n'a qu'un seul résultat pour l'astronomie, setec_astronomy, qui semble être un utilitaire de recherche KeePass. Il y a un related answer ici mais il est moins évolué que SolarEventCalculator.

+3

Question intéressante, mais vous voudrez probablement la reformuler pour ne pas demander une liste de bibliothèques; ça finira par se fermer comme "Non Constructif" sinon. – LittleBobbyTables

+0

Merci pour le conseil, LBT. PS: Je ne veux vraiment pas écrire une donnée astronomique ruby ​​gem. –

+0

Ensuite, une bibliothèque est probablement la meilleure option. Un en C, C++ ou Java selon la saveur Ruby. –

Répondre

2

Comme une mise à jour sur les gemmes, je semble être tombé amoureux de https://rubygems.org/gems/celes J'ai aussi mis un peu de mes propres extensions C dans Eot gem maintenant.

http://www.rubydoc.info/gems/equationoftime/4.1.8

utilise maintenant Celes.

http://www.rubydoc.info/gems/celes

Vous avez demandé Ruby. Tu l'as eu.

Pour d'autres façons d'essayer des liens comme http://www.die.net/moon/ ou http://www.die.net/earth/

Le lien associé Sunrise/set calculations-t composants très similaires à ce bijou rubis est seulement en python. Vous verrez le zénith commence pour les différents événements solaires dans cette question qui est un bon. Si je regarde dans mon journal local pour ces événements, lequel est-ce? (astronomique, nautique, civile, officielle) Droit officiel?

Pour les définitions sur le crépuscule voir http://aa.usno.navy.mil/faq/docs/RST_defs.php

Si vous voulez voir un code expérimental qui a été inspiré par cette formule http://en.wikipedia.org/wiki/Sunrise_equation

J'ai joué avec ça dans Ruby. voir https://github.com/DouglasAllen/Gather_the_gists/blob/master/suntimes_no_gem.rb

Je AstroCpp sauvé à https://github.com/DouglasAllen/C_Programming_Refference/tree/master/examples_src

Le lien pour elle est http://projectpluto.com/source.htm

J'aime Ruby-Shere aussi, et est un petit bijou plus pas sur github mais sur SourceForge. J'ai utilisé le logiciel de Mike et il semble prouver lui-même. Il ne vous dit pas comment tout va bien, mais c'est un bon code pour travailler. https://github.com/mikereedell/sunrisesunset-ruby http://www.mikereedell.com/

J'ai un site web avec beaucoup de liens à http://equationoftime.herokuapp.com/links

Une partie du code calculera l'ascension droite du Soleil et cela signifie qu'il sera sur votre Merridian locale à ce sidéral temps. Vous devrez donc le convertir dans votre fuseau horaire pour votre temps de transit solaire, puis trouver les angles de l'horizon des événements, diviser le total par 2 et ajouter ou soustraire cela de votre transit solaire qui est votre longitude locale. Mais c'est là que l'équation du temps entre en jeu. Ce n'est pas toujours juste là. L'angle est différent au fil de l'année. Cela n'affecte pas seulement vos lectures solaires, mais aussi les heures de lever et de coucher du soleil.

Questions connexes