日の出時間の計算方法 【Python PyEphem】使ってみた!
2018年の初日の出時間を正確に調べる方法を調査した結果、Pythonのライブラリ"PyEphem"でそれっぽいことができることがわかったところまでが、先日の投稿。
今日はその使い方に関してまとめてみる。
日の出時間を計算するだけでなく、日の入りや色々な数値も可能…
一先ず環境構築 ("python3 -m venv" オプションで…)
今回は 仮想環境にPython3 をベースにした環境を構築する。Python3 標準搭載の venv オプションを用いる。
カレントディレクトリ上に仮想環境を構築するためのコマンド。"venv"ディレクトリが構築される。
python3 -m venv venv
仮想環境の実行
仮想環境実行コマンド
source venv/bin/activate
この結果、コンソール上に "(venv)"
が表示され、仮想環境への突入がわかる
"PyEphem"ライブラリーの実験
まずは"PyEphem"ライブラリのインストールから…
pip install pyephem
日の出時間の計算サンプル
import ephem
location = ephem.Observer()
location.lat,location.lon = '34.877599','138.333849'
location.date = '2018/01/01'
print(location.previous_rising(ephem.Sun()))
結果
2017/12/31 21:53:58
日の出時間が31日、しかも深夜の時間…不思議な結果。
だけどご心配なく!!
GMT(世界標準時時間)での出力になってるためだから、時差9時間進めれば結果は、
2018/01/01 06:53:58
となる。
上記location.lat, location.lon
の部分に緯度、経度を入力する。更にlocation.date
に日の出時刻を得たい日時を入力する。
以上で、簡単に目的地点の日の出情報を得られる。
これ以外にも、下記のような時間情報を取得できる。
location.previous_rising(ephem.Sun() // 前回、日の出時間
location.next_setting(ephem.Sun()) // 次回、日の入り時間
location.previous_rising(ephem.Moon()) // 前回、月の出た時間
location.next_setting(ephem.Moon()) // 次回、月の入った時間