it-swarm-es.tech

Salida del sol y otros datos astronómicos desde la línea de comandos

¿Existe un programa simple de línea de comandos de código abierto que pueda mostrar las horas de salida y puesta del sol en una fecha y ubicación determinadas, y quizás también datos de la luna y el planeta?

Al examinar la base de datos de paquetes de Debian y las búsquedas de Google, no encuentro nada relevante. Esto me sorprende, considerando la cantidad de personas que son tanto geeks de la astronomía como geeks de Unix, hubiera esperado un sunrise(1) (o quizás sunrise(6)) estándar de facto.

No me interesan programas más complejos que, de paso, realizan los cálculos, como mapas del cielo (celestia, kstars, starplot, stellarium), mapas de la tierra (sunclock, xplanet), calendarios/agendas (emacs, remind), relojes (glunarclock, wmsun ), almanaques de mareas (xtide). Quizás haya aa ( astronomical-almanac ), pero no veo una forma sencilla de preguntar a qué hora saldrá el Sol en esta fecha en esta longitud y latitud.

¿Qué me perdí?

Para los perezosos como yo, hay un programa muy simple llamado hdate , disponible en muchas distribuciones (apt-get install hdate en Debian/Ubuntu /…):

hdate -s -l N50 -L E14 -z2

Salida:

Wednesday, 26 June 2019, 23 Sivan 5779
sunrise: 04:55
sunset: 21:17

Opciones :

  • -s sunset sunrise
  • -l, -L: Altitud y latitud de Praga (50 ° 05′N 14 ° 25′E)
  • -z zone: SELC = + 2

תודה רבה יהודים חכמים. :-)

2
xerostomus

¿Probaste sunwait?

http://www.risacher.org/sunwait/

Sunwait es un pequeño programa en C para calcular el amanecer y el atardecer, así como los crepúsculos civiles, náuticos y astronómicos. [..]

11
echox

Terminé usando Perl's DateTime::Event::Sunrise , porque tiende a ser más fácil para mí implementar un módulo de CPAN que compilar programas en C.

Uso de muestra:

use DateTime;
use DateTime::Astro::Sunrise;
$latitude = "+48.857"; $longitude = "+2.351"; 
$sr = DateTime::Astro::Sunrise->new($longitude, $latitude, 0, 3);
$date = DateTime->now; $date->set_time_zone("local");
($rise, $set) = $sr->sunrise($date);
$rise->set_time_zone("local"); $set->set_time_zone("local");
print $rise, " to ", $set, "\n";

Mi script sunrise .

Mira esto Automatización del hogar LinuxLinux Home Automation sitio y busque en la página "sunrise". Hay algunos programas de línea de comandos desde c. 1985 que son bastante minimalistas. Tengo el código fuente de varios programas relacionados de esa época, pero no puedo encontrarlos en la web.

Actualización: Acabo de encontrar la fuente para algunos otros, incluido sdate, en esta página Event Logger . Busque en la página "Rise_set".

Actualización 2017-12-23: El proyecto Linux Home Automation se ha movido, pero parece que los programas de línea de comandos para amanecer, atardecer, etc., todavía están disponibles aquí y aquí . Taché el enlace a la página original, pero lo guardé como referencia y agregué un enlace a la nueva página.

3
garyjohn

Para Python está el módulo astral . No es una línea de comandos, pero implementar un programa de línea de comandos debería ser trivial (como su ejemplo de Perl). La documentación y los ejemplos son en http://astral.readthedocs.io/en/latest/index.html .

3
Robie Basak