SunCalc-太陽と太陽の位相の位置を計算するためのJavaScriptライブラリ

サンカルク



1年以上前に、SunCalcプロジェクトを紹介しました 。これにより、特定の日および特定の場所での太陽の軌跡と日光の位相(日没、夜明け、さまざまなタイプの夕暮れなど)を簡単に調べることができます。



ここで、これらの値を直接計算するコードを個別のオープンソースライブラリとしてリリースし、GitHubの例とドキュメントとともに公開することにしました: github.com/mourner/suncalc



このライブラリは、BSDライセンスで公開されているAstronomy Answers Webサイトの太陽の位置に関する記事の式に基づいて記述されており、約1.5 kbを消費し 、厳格なJSLint規格を満たしており、ブラウザだけでなくNode.jsなどのさまざまなサーバープラットフォームでも動作します



ライブラリの使用例



ロンドンで今日の太陽の時期のオブジェクトを取得します。

var times = SunCalc.getTimes( new Date(), 51.5, -0.1); // (, , )





受信した夜明け時間を表示:

alert( " : " + times.sunrise.getHours() + ':' + times.sunrise.getMinutes());





夜明け中の太陽の位置(方位角と高度)を取得します。

var sunrisePos = SunCalc.getSunPosition(times.sunrise, 51.5, -0.1); // (, , )





夜明けの方位角を度で表示します。

alert( " : " + (sunrisePos.azimuth * SunCalc.rad2deg).toFixed(2));





返却時間

これらの太陽段階に関する詳細は、 ウィキペディアのトワイライトに関する記事に記載されています



次のように、手動でフェーズを追加することもできます。

SunCalc.addTime(20, "runAwayFromBeach", "goToBeach");



このようなコードは、 SunCalc.getTimes



runAwayFromBeach関数(太陽が20°を超える瞬間)とgoToBeach (太陽が20°を下回るとき)の結果に追加されます。



可能な用途



一見すると、サイトは旅行計画や写真家などに思い浮かびます。 しかし、想像力を働かせて、たとえば、その日のリアルタイムに応じてサイトの設計を変更することができます。 または、不動産サイトで年間を通して特定の角度から光グラフを作成します。 私は覚えている、彼らはエアコン設置会社から感謝の気持ちで一度私に手紙を書いたことさえあり、その従業員は現在仕事でSunCalcを積極的に使用している... 一般的に、考えてみると、たくさんのアプリケーションがあります!



この小さなライブラリに役立つアプリケーションが見つかることを願っています。 私はコメントとコメントのフィードバックを喜んでいます。 よろしくお願いします!



更新 :goldenHour、goldenHourEndの時間を追加し、手動で(太陽の特定の高さに対応する)独自の時間を追加する機能を追加しました。



更新2真ん中からのより深刻なタスク(月、惑星などの計算)に適した代替手段-github.com/monoid/starjs



All Articles