9

Observer()クエリに関連するPyEphemモジュールによって提供された結果、および標高の影響についてクエリを実行しました。いくつかの情報源( http://curious.astro.cornell.edu/question.php?number=388など)から、観測者の高度が日没時間に著しい影響を与えることを理解しています。ただし、次のコードでは、ほとんど違いがありません。

import ephem

emphemObj = ephem.Observer()
emphemObj.date = '2011/08/09'
emphemObj.lat = '53.4167'
emphemObj.long = '-3'
emphemObj.elevation = 0

ephemResult = ephem.Sun()
ephemResult.compute(emphemObj)
print "Sunset time @ 0m: " + str(emphemObj.previous_rising(ephemResult))

emphemObj.elevation = 10000
ephemResult.compute(emphemObj)
print "Sunset time @ 10000m: " + str(emphemObj.previous_rising(ephemResult))

出力を取得します:

Sunset time @ 0m: 2011/8/8 04:38:34
Sunset time @ 10000m: 2011/8/8 04:38:34

これがバグではなく、何か間違ったことをしていることはかなり確信していますが、さまざまな方法を試した結果、同じ結果になってしまうのではないかと心配しています。私がここで間違っていることを誰かが知っていますか?

すでにhttps://launchpad.net/pyephemに投稿しましたが、返答がありません。仰角機能の目的を根本的に誤解していないことを願っています...

4

1 に答える 1

6

オブザーバーのelevationとは、たとえばアリゾナ州のフラッグスタッフの高度など、その場所の海抜を意味します。しかし、観測者とその望遠鏡または双眼鏡だけでなく、海抜この距離にあると推定されます。地面、つまり地平線この高度にあると推定されます。elevationしたがって、高地に移動すると地平線が一緒に移動するため、地平線に比べて増加しても利点はありません。

鉛筆と黄色い紙のパッドで数分後、地平線までの角度は、次のようにhza地球の半径rと地上からの高さに関連しているように見えhます。

hza = - acos(r / (h + r))

したがって、上記の例に続いて:

import math
height = 10000
hza = - math.acos(ephem.earth_radius / (height + ephem.earth_radius))
emphemObj.horizon = hza
print "Sunrise time @ 10000m: " + str(emphemObj.previous_rising(ephemResult))

出力を取得します:

Sunrise time @ 10000m: 2011/8/8 04:08:18

(「日の出」はと一緒にprevious_rising()なり、「日没」はと一緒になることに注意してくださいnext_setting()!)

于 2011-10-27T08:15:19.813 に答える