web-dev-qa-db-ja.com

コマンドラインからの日の出とその他の天文データ

特定の日付と場所での日の出と日の入りの時間、およびおそらく月と惑星のデータも表示できるシンプルなオープンソースのコマンドラインプログラムはありますか?

DebianパッケージデータベースとGoogle検索を閲覧しても、関連するものは見つかりません。これは私を驚かせます—天文学オタクとUNIXオタクの両方である人々の数を考えると、私は事実上の標準であるsunrise(1)(またはおそらくsunrise(6))を期待していました。

スカイマップ(天体、kstars、starplot、ステラリウム)、地球マップ(太陽時計、xplanet)、カレンダー/アジェンダ(emacs、リマインド)、時計(glunarclock、wmsun)など、付随的に計算を実行するより複雑なプログラムには興味がありません)、潮のアルマナック(xtide)。おそらくaaastronomical-almanac )がありますが、この日付のこれらの経度と緯度で太陽がいつ昇るのかを簡単に確認する方法はありません。

私は何を取りこぼしたか?

私のような怠惰な骨の場合、 hdate と呼ばれる非常にシンプルなプログラムがあり、多くのディストリビューション(apt-get install hdate on Debian/Ubuntu /…):

hdate -s -l N50 -L E14 -z2

出力:

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

オプション

  • -s sunset sunrise
  • -l-L:プラハの標高と緯度(50°05′N 14°25′E)
  • -z zone:SELC = + 2

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

2
xerostomus

sunwaitを試しましたか?

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

Sunwaitは、日の出と日没、および土木、航海、天文学の夕暮れを計算するための小さなCプログラムです。 [..]

11
echox

私はPerlの DateTime::Event::Sunrise 、CプログラムをコンパイルするよりもCPANからモジュールをデプロイする方が簡単な傾向があるため。

使用例:

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";

My sunrise script

これをチェックしてください LinuxホームオートメーションLinux Home Automation サイトにアクセスし、ページで「sunrise」を検索します。そこにはcからいくつかのコマンドラインプログラムがあります。 1985年はかなりミニマリストです。その時代の多くの関連プログラムのソースコードを持っていますが、ウェブ上で見つけることができません。

更新:この Event Logger ページで、sdateを含む他のいくつかのソースを見つけました。 「rise_set」のページを検索します。

2017-12-23の更新: Linux Home Automation プロジェクトは移動しましたが、日の出、日没などのコマンドラインプログラムは引き続き利用できるようです こちら および ここ 。元のページへのリンクを取り消しましたが、参照用に保持し、新しいページへのリンクを追加しました。

3
garyjohn

Pythonの場合 astral module があります。これはコマンドラインではありませんが、それを使用してコマンドラインプログラムを実装することは簡単です(Perlの例のように)。ドキュメントと例は次のとおりです。 http://astral.readthedocs.io/en/latest/index.html にあります。

3
Robie Basak