アプリ版:「スタンプのみでお礼する」機能のリリースについて

 米国本土の任意の位置(緯度と経度は既知)、任意の日時の、太陽高度(地平線下)を計算する方法、あるいは計算ソフト等がありましたら、ご紹介頂けますでしょうか。

 なお、任意と書きましたが、私が実際に使うのは、場所はユタ州周辺(北緯35~39度)のみ、季節は12月~1月のみ、時間帯は太陽が地平線下10~18度にある時のみです。

 標高および大気差は、考慮する必要はありません。しかし、考慮されているものでも構いません(地平線下では考慮しようがありませんか ^^;)。計算誤差は、1分以内に納めたいと思います。

 これが計算できない場合には、ステラナビで各地の各日付の日出没時刻および天文薄明開始終了時刻を調べ、そこから近似計算できるのですが、多くの場所について、各1ヶ月分くらいの情報を調べるのは、かなり面倒です(^^;)。

 日本の各地における日出没・薄明時刻の計算方法なら、天文年鑑に載っているのですが、それを米国に応用するにあたり、日本の計算方法に理解できない部分があって、米国でどうなるのかわかりません。東京とアメリカの緯度経度の差を計算式に代入しても、おそらく駄目でしょうし。この「理解できない部分」については、話題が大きく違うため別の質問にしますので、こちらもよろしくお願いします。

 因みに、この計算の目的は、長時間(例えば12時間)露出の天体写真撮影で、薄明の影響を最小限にする最適な露出開始・終了時刻を求めるためです。普段、国内で撮影する時には、日出没と薄明時刻から近似計算していますが、これで良好な結果を得ています(この12月にも撮りました)。

A 回答 (6件)

自作しなくても利用できそうなソフトがありますので,4つほど紹介しておきましょう。


(最初の以外は英語のソフトです)

まずは機能の簡単なものから。
1.天体卓上計算機「てんた君」(シェアウェア,1000円)
http://www.vector.co.jp/soft/win95/edu/se112989. …
電卓感覚で,主な天体の赤道座標と地平座標が計算できます。
ただ,表示窓に表示されるだけなので,大量に計算したいときは不便かも知れません。(一覧表のような出力ができない)
また,出没・薄明時刻は出ません。

>多くの場所について、各1ヶ月分くらいの情報を調べる
ということになると,できれば,1か月分まとめてぞろっと計算してくれるものがよいでしょうね。
テキスト画面(DOS窓)で使うソフトに,よさそうなのがいくつかあります。

2.Interactive Computer Ephemeris (ICE)
アメリカの海軍天文台が1980年代に開発した天体暦計算ソフトです。その後,上位ソフトのMICA (Multiyear Interactive Computer Almanacに移行したので,現在はサポートはしていませんが,ICEのほうは無料なのと,計算できる期間が長い(MICAは1990~2005,ICEは1800~2050)というメリットがあり,今でも愛好者がいます。
こちらからダウンロードできます。
http://home.t-online.de/home/h.umland/page3.htm
解凍するとたくさんのファイルができますが,ice.exeが実行ファイルです。
ただし,エクスプローラなどから直接実行するのではなく,DOS窓を先に開いてから,そのファイルのあるディレクトリに移って実行した方がよいでしょう。(これは,次以降のDOSベースのソフトについても言えます)
また,表示フォントを英語にしておかないと,罫線が半角カタカナに化けたりします。
詳しい使い方はFA88.docというマニュアルを見ていただければ分かると思いますが,まずF1で,日時や観測地,タイムゾーンなどの初期設定をします。

方位角と高度を知りたいときは,F7(Navigation)を押し,天体名sun(sだけでも可)を入力してEnterです。
Hcが高度,Znが方位角です。ただし,指定した一つの時刻の値しか出ません。

日出・日没,薄明はF6です。
まず出没・南中時刻が表示され,さらにF1を押すと市民・航海・天文の3つの薄明の開始・終了時刻が出ます。
こちらは,10日分(初期設定で変更可)が表になって出力されます。

さらに,出力結果をファイルに落とすこともできます。
初期メニューでF2を押し,さらにファイル名を指定すると,それ以降,画面出力と同じ内容がファイルに書き込まれます。
もう一度同じ操作で,ファイル出力を終了します。
(もっとも,DOS窓ですので,マウスで範囲指定したり,必要に応じて画面をスクロールして,コピー&ペーストでも良いわけですが。)

精度は英米の天体暦(日本でいう海上保安庁の天体位置表)と同等です。
もともと,80年代にフロッピーディスク版天体暦を1年分ずつ付録のような感じでつけていたものが発展して,250年対応になったらしいので,同等の精度は保証済みということのようです。

3.
お急ぎでないのでしたら,天文計算の図書に付属しているソフトにも良いものがあります。
有名なところでは,Oliver Montenbruck, Thomas Pfleger共著,Astronomy on the Personal Computer(CD-ROMつき。第4版が最新)
http://www.amazon.com/exec/obidos/tg/detail/-/35 …
があります。
この中にあるSUNSET.exeを実行すると,太陽・月の出没時刻と,薄明(3つの内から指定した1つ)の時刻が10日分,表になって出力されます。
こちらもDOS窓を先に開いておきましょう。(エクスプローラなどから直接実行すると,終了したとたん窓も閉じてしまって,結果が読めません。)

以上の2と3は,得られる計算結果の種類や出力様式などは変えられませんが(もっとも3は,ソースコードが全て解説付きで掲載されているので,その気になればいじることも可能だけど…),もっと柔軟性のある天文計算用ソフトもあります。それがこれです。

4.
Peter Duffett-Smith著 Easy PC Astronomy(フロッピーディスク付き)
http://www.amazon.com/exec/obidos/tg/detail/-/05 …
このソフトは,今までのように黙っていても自動的にメニューが出るのではなく,AstroScriptという簡単なスクリプトを書いて使うようになっています。
といっても,プログラミングといえるほど大仰なものではなく,内蔵されている計算ルーチンを順番に呼び出すだけですが,計算するデータの種類や出力様式などを自分でカスタマイズできる点は,前の2つのソフトにはない魅力です。
ただ,Windows3.1でないと動かないかも知れません。
(Win95で試したときにだめだったので,それ以来,ほとんどこのソフトを使うためだけにWin3.1マシンを残しています。2000やXPなどでは試していないので,もしかしたら動くかも知れませんが…)
職場に持って行ってしまったので,いま確認できないのですが,たぶん地平座標も,出没・薄明時刻も,まとめて計算して表形式で出力できたような気がします。
標高はもちろん,大気差も考慮,それも気圧・気温を入力して求める,という念の入れようです。
しかも,精度は英米暦と比べても最後の1桁が1違うかどうか,という精度の高さだそうです。(薄明時刻にそこまでの精度は必要ないでしょうけど)

参考URL:http://www.vector.co.jp/soft/win95/edu/se112989.html,http://home.t-online.de/home/h.umland/page3.htm
    • good
    • 0
この回答へのお礼

 puni2さん、いろいろありがとうございます。

 日本語の奴は出没時刻が出せないとのことなので(他のことに使えそうなのでゲットはしておきたいと思います)、英語ですねぇ(^^;)。しかし、これだけあれば、いろいろできそうですね。

 DOSの扱いには慣れております。BATで動作させ、出力をファイルにリダイレクトできると楽ですね。
 Win3.1環境は拙宅にはありませんが、導入用FDは取ってありますので、セットアップしますか。パーティションを作るところから始めなければいけませんが。

お礼日時:2005/02/06 21:14

これベースに日の出時間補正プログラム作成中でこっち面倒なんでやらないから後やってね。

^^

10行のプログラムの追加ですむでな。
    • good
    • 0

>角度にもいろいろありますが,ここで表示されるのは赤緯の絶対値なんですね。

なぜ素直に赤緯の値そのものを表示しないのか,謎です。SIN( )の引数は負の数だって受け付けますよ)

補正しないと計算が大きく狂います。
こんな単純に作成は出来ません。
夏至まではコンマ台の狂いです。

これが理由です。
紙面の関係でこれ以上は、と言う感じです。

後は、赤偉に変更して(90-それ)1時間15度でサイン、コサインで太陽位置X、Y位置を出すのは簡単でしょう。北極星を中心に回ってますから、プラネタと同じです。

観測地を尋ねると追加すれば計算式補正など簡単ですよ。
これがソースです。

簡単ですから作成してみて下さい。
>いやあ,それ以前の問題でしょう。(^^;)

素晴らしいのもを期待しています。
    • good
    • 0

No.3へのお礼を拝見しました。



>式を拝見したところでは、春分秋分日からの日数(絶対値を取る関数は無いんでしょうか ^^;)のサインを取り、あとは乗算と加算するだけのようですね。

「ひまわり」には,絶対値の関数 ABS( )もあります。

>ずいぶん簡単な計算なので、びっくりしました。
> 時刻は小数で入力するのでしょうか。

日の小数を時刻として取り出す式は,含まれていないようですね。
したがって,高度を求めるときに時刻は一切反映されません。
要するに,太陽の南中時の高度が求められるだけです。
だから,「ずいぶん簡単な計算」で済んでいるのです。

したがって,No.3さんは
>太陽高度(地平線下)を計算する方法、あるいは計算ソフト等がありましたら、ご紹介頂けますでしょうか。への回答です。
とおっしゃっていますが,これではとうてい回答とはいえないでしょう。
質問の最初に
>任意の位置(緯度と経度は既知)、任意の日時の、太陽高度(地平線下)を計算する方法、
という条件があるのですから。

>式の感じとしては、南中高度の計算のようでもありますが。

まさにおっしゃる通りで,南中高度そのものです。
基本的なアルゴリズムは,

(1) 1月1日からの通日を求める。
(2) sin(通日-80)を求め(引数は度),「角度は、~度です。」と表示する。
(角度にもいろいろありますが,ここで表示されるのは赤緯の絶対値なんですね。なぜ素直に赤緯の値そのものを表示しないのか,謎です。SIN( )の引数は負の数だって受け付けますよ)
(3) 54.5+赤緯を求め,「太陽角度は、~度です。」と表示する。
(太陽角度なんて言い方,聞いたことがありません。太陽の角度っていったって,それこそいっぱいありますよね。視直径だって角度だし,方位角も高度も角度です。なぜ素直に「太陽の南中高度」と言わないのでしょうか。おまけに,最初から観測地点が北緯35.5度に固定されている。)

というものです。

また,仮に南中高度を求めるプログラムを書くとしても,なんでもっと簡単に,素直に書かないのかなあ,というのが率直な感想です。
1年を4つの期間に分けているので,プログラムの流れが非常に見づらくなっています。
もしかしたら,sinの引数は0~π/2の間でなくてはいけないと思っているのでしょうか。(もちろん,「ひまわり」の仕様にそんな制約はありません。)

せっかく通日を算出しているのだから,(通日-80)*360/365 (をラジアンに直したもの)をsinの引数にしたらいいのに。

>後半狂うとのことですので、狂う量によっては、ちょっと困るかも(^^;)。
いやあ,それ以前の問題でしょう。(^^;)
    • good
    • 0
この回答へのお礼

 ま、ま、せっかく回答して頂いているのですから(^^;)。

 この質問については、使えそうなソフトを4つご紹介頂きましたので、これにて締め切りにしたいと思います。
 皆様、ありがとうございました。eria77さんも、今後ともよろしくお願い致します。

お礼日時:2005/02/07 20:07

日本語プログラム「ひまわり」で今作成しました。


太陽高度プログラムです。^0^;

夏至までは相当な精度ですが、後半、狂います。
ベクターで、「ひまわり」を入手して下さい。
コピーアンドペーストで作動します。
作動原理は簡単でしょう。^^

>太陽高度(地平線下)を計算する方法、あるいは計算ソフト等がありましたら、ご紹介頂けますでしょうか。への回答です。

「月を入力して下さい」を、尋ねる。
もし、それ=1ならば、A=0
もし、それ=2ならば、A=31
もし、それ=3ならば、A=59
もし、それ=4ならば、A=90
もし、それ=5ならば、A=120
もし、それ=6ならば、A=151
もし、それ=7ならば、A=181
もし、それ=8ならば、A=212
もし、それ=9ならば、A=243
もし、それ=10ならば、A=273
もし、それ=11ならば、A=304
もし、それ=12ならば、A=334
「日を入力して下さい」を、尋ねる。
それ=(それ+A)
「今年の累計日数は、{それ}日です。」と、表示。
それ=10+それ
もし、それ が、<180 ならば、冬至へ、飛ぶ。
もし、それ が、>180 ならば、それ=(それ-180)
夏至へ、飛ぶ。
*冬至
「冬至からの累計日数は、{それ}日です。」と、表示
もし、それ が、>90 ならば、計算式2へ、飛ぶ。
計算式1へ、飛ぶ。
*夏至
「夏至から{それ}日です。」と、表示。
もし、それ が、<90 ならば、計算式3へ、飛ぶ。違えば、計算式4へ、飛ぶ。
*計算式1
「*計算式1」と、表示。
それ=(90-それ)
それを、表示。
それを、度からラジアン
それ=SIN(それ)
それを、表示。
それ=(23.4*それ)
「角度は、{それ}度です」と、表示。
それ=(54.5-それ)
「太陽角度は、{それ}度です。」と、表示
ラベル1へ、飛ぶ。
*計算式2
「*計算式2」と、表示。
それ=(それ-90)
それを、表示。
それを、度からラジアン
それ=SIN(それ)
それを、表示。
それ=(23.4*それ)
「角度は、{それ}度です」と、表示。
それ=(54.5+それ)
「太陽角度は、{それ}度です。」と、表示。
ラベル1へ、飛ぶ。
*計算式3
「*計算式3」と、表示。
それ=(180-それ)
計算式2へ、飛ぶ。
*計算式4
「*計算式4」と、表示。
それ=(それ-90)
それ=(90-それ)
計算式1へ、飛ぶ。
*ラベル1

参考までに。
    • good
    • 1
この回答へのお礼

 eria77さん、こちらでもありがとうございます。

 日本語プログラム「ひまわり」は初めて見ました。初心者向きにわかりやすい言語ですね。
 式を拝見したところでは、春分秋分日からの日数(絶対値を取る関数は無いんでしょうか ^^;)のサインを取り、あとは乗算と加算するだけのようですね。ずいぶん簡単な計算なので、びっくりしました。
 時刻は小数で入力するのでしょうか。式の感じとしては、南中高度の計算のようでもありますが。
 これをエクセルのマクロに移植するのは簡単そうです。ただ、後半狂うとのことですので、狂う量によっては、ちょっと困るかも(^^;)。

お礼日時:2005/02/06 21:26

恐らく自作しか無いと考えます。



基準観測地点を赤道にし、
北、南回帰線の太陽移動(角度補正プログラム)
を作成。
日の出、日の入り時間、昼、夜時間計算。

観測地日の出角、日の入り角計算。南中高度計算。
(観測地補正)

面倒なので途中でプログラム作成止めたやつです。
    • good
    • 0
この回答へのお礼

 アドバイスありがとうございます。
 自分でプログラムは書けるのですが、計算式がわかりません(^^;)。ざっとした計算ならできるかもしれませんが、誤差が大きくては意味がありませんし。

お礼日時:2005/02/03 20:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!