日の出、日の入りの時刻の計算式や実装例を探してみる
単純に個人的な興味から探してみた。
調べてみたきっかけは、Gigazine で紹介されていた http://gigazine.net/news/20160819-chronozone/ がビジュアルはイケてるけど使い勝手が全くイケてなかった(地図上でドラッグした場所ではなく、場所で検索しなければならないという残念な仕様)ので、類似のものをもうちょっと上手く作れないかと思ったことです。そしてこういう計算はどのように行われているのかを単純に知りたくなりました。
さて、まずは計算式だけど、これが案外出てこない。
英語版のウィキペディアにはこんなページがありました。
Sunrise equation - Wikipedia, the free encyclopedia
また GitHub で sunrise , sunset で検索して出てくるリポジトリを見ると、こちらのアルゴリズムを参考にしているケースが多いように見えます。
http://williams.best.vwh.net/sunrise_sunset_algorithm.htm
さて実装例。GitHub にはいろいろあるけれど、日本人の方の実装例もほしい。
1つはこちらのページにありました。
hhsprings.pinoko.jp
この方は Python で実装してます。
そして上記のページからリンクされていた、こちらのページではJavaScriptで実装しておられます。
http://www.hoshi-lab.info/env/solar-j.html
んー、なんだろ、このページの実装に Gigazine で紹介された記事みたいなビジュアルを組み合わせたものがもっとも出来がよさげな気がするんですけど。