Calculer le lever et le coucher du soleil avec java
Je recherche un moyen de calculer le lever du soleil et pour un fuseau horaire aka emplacement. Je voudrais quelque chose de semblable à Zend_Date.
L'idée est d'avoir une application dans laquelle vous pouvez sélectionner un emplacement et basé sur que vous obtenez le temps réel et aussi au lever du soleil, du temps.
Salut et merci,
-lony
Quelle est la question?
La façon dont vous voulez faire de cette fonction "Swing" est exactement de la même manière que vous le feriez dans une application en ligne de commande, servlet, tâche ant ou test de l'unité. L'Utilisation De Java. Suppression des 'Swing' de la balise.
La question est de savoir comment calculer le coucher et le lever du soleil. - Il vrai que sa n'a rien de swing liées, Nate déjà enlevé l'étiquette.
La façon dont vous voulez faire de cette fonction "Swing" est exactement de la même manière que vous le feriez dans une application en ligne de commande, servlet, tâche ant ou test de l'unité. L'Utilisation De Java. Suppression des 'Swing' de la balise.
La question est de savoir comment calculer le coucher et le lever du soleil. - Il vrai que sa n'a rien de swing liées, Nate déjà enlevé l'étiquette.
OriginalL'auteur lony | 2011-02-08
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à sunrisesunsetlib-java qui calcule le lever du soleil/coucher du soleil à partir de coordonnées GPS et une date.
Cette bibliothèque utilise un extrêmement simple modèle pour prédire le lever et le coucher du soleil et donnera des résultats inexacts. C'est très bien pour de nombreuses applications, mais il ne seront pas d'accord avec d'autres sources publiées. Si vous êtes à la recherche d'une solution exacte, je vous recommande de regarder ailleurs.
OriginalL'auteur dogbane
Le calcul de lever et coucher du soleil est en fait un problème très difficile à résoudre et la plupart des bibliothèques qui prétendent faire usage trop simple pour les modèles du système solaire qui ne fait pas de produire des résultats précis.
Les orbites de la Terre autour du Soleil et de la Lune autour de la Terre sont irrégulières, l'axe de rotation de la Terre vacille de deux façons différentes (la précession et de la nutation), et les échelles de temps utilisées par les astronomes ne sont pas d'accord avec le temps universel coordonné (UTC). En plus de cela, la réfraction atmosphérique déforme la perception de la position des corps célestes (en particulier près de l'horizon); le lever et le coucher du Soleil et de la Lune sont généralement définis par la première apparition du disque au-dessus de l'horizon, pas le passage du centre du disque; et la perception de la taille du disque varie au cours du temps en fonction de sa distance à l'observateur.
J'ai besoin d'une précision de calcul pour un projet que je travaillais sur et a écrit une bibliothèque à faire qui intègre l'ensemble de l'état-de-la-art des modèles.
Nous offrons également une API web pour le présent et le site Web de l'API et de la Bibliothèque Java peut être trouvé à:
http://askgeo.com/
Que le site offre également beaucoup d'autres informations qui dépend de la latitude et de la longitude. Vous pouvez lire les détails de la Bibliothèque ici:
http://askgeo.com/database/Astronomy
La bibliothèque et de l'API web commerciaux, mais nous donner libre accès à l'API du Web à la qualification des organismes à but non lucratif, les chercheurs, et les projets open source. Pour les utilisateurs commerciaux, les informations sur les prix est à:
http://askgeo.com/#pricing
La bibliothèque qui donne le lever et le coucher du soleil (entre autres choses), c'est le "Astronomie" dans la liste.
La plupart des méthodes que j'ai vu sont exacts à environ 10 minutes, donc si c'est suffisant pour vous, alors vous n'avez pas besoin d'être pointilleux sur la bibliothèque. C'est si vous voulez descendre à la sous-minute niveau de précision que vous avez besoin de meilleurs modèles. Depuis local de la topologie (par exemple, les collines/montagnes) a un impact énorme sur le lever et le coucher du soleil et n'est pas inclus dans tous les modèles que j'ai vu, il est facile de supposer que la précision n'a pas beaucoup d'importance. Mais si vos résultats sont utilisateur face, c'est une question de qualité perçue si le vôtre n'est pas d'accord avec une autorité établie.
Bon point. Merci.
OriginalL'auteur James D
Vous pouvez utiliser communes-suncalc, une dépendance-bibliothèque libre pour Java ⩾7:
OriginalL'auteur simon04
Tout à l'heure, j'ai publié Time4J-v4.29 qui prend également en charge lever du soleil/coucher du soleil-calculs. Exemple:
Java-8-compatibilité:
Les résultats de la classe
SolarTime
(de typeMoment
ouPlainTimestamp
) peuvent être facilement convertis en Java-8-les types commeInstant
ouLocalDateTime
, généralement par l'appel de la méthodetoTemporalAccessor()
.À propos de l'algorithme:
L'algorithme est le même que celui utilisé par La NOAA (avec la principale différence étant que le delta-T-calculs sont également pris en compte par Time4J). La NOAA-algorithme (ce qui est pratiquement le même que développée par Jean Meeus) est plus précise que la Williams-algorithme utilisé par la bibliothèque sunrisesunsetlib mentionné dans la réponse de @dogbane, en particulier à proximité ou dans les régions polaires. Cependant, Time4J prend également en charge la Williams-algorithme en spécifiant la calculatrice nom. Cet algorithme simple est encore utilisable dans la normale des lieux géographiques et des rendements 1-2 minutes de précision.
Autres caractéristiques:
Certains gadgets comme l'heure bleue, divers twilight définitions, la durée de l'ensoleillement ou de la détermination de la nuit polaire /le soleil de minuit ou de l'impact des observateurs de l'altitude sont également pris en charge, voir l'API.
Remarque au sujet de la précision:
Afin que jamais, nous devons toujours garder à l'esprit que topologic faits, comme les montagnes ou les conditions atmosphériques particulières ont un fort impact sur le réel, les heures de lever/coucher du soleil et ne peuvent être modélisés dans toute bibliothèque de soutenir le lever du soleil/coucher du soleil-les calculs.
Android:
Pour Android-plateforme, veuillez utiliser Time4A (la sœur de Time4J) avec optimisation de l'accès aux ressources.
Pour le calcul de la nautique ou astronomique le lever du soleil/coucher du soleil, il suffit d'appeler les méthodes surchargées
sunrise(Twilight)
resp.sunset(Twilight)
à l'aide de laTwilight
-enum. Si d'autres définitions des angles sont souhaitées, alors vous pourriez aussi utiliser le faible niveau de l'APISolarTime.Calculator
et l'une de ses implémentations dansStdSolarCalculator
(par exemple pour les Juifs de temps de prière).OriginalL'auteur Meno Hochschild
Vous pouvez utiliser gratuitement ce webservice pour obtenir sunsrise et de coucher du soleil
Il est très facile à utiliser. Il ne fait réponse le temps de GMT, donc vous devez faire le lat/lon au fuseau horaire de la conversion si vous avez besoin que.
OriginalL'auteur Jose Florido