質問:
太陽天頂角/方位角から経度/緯度を取得するにはどうすればよいですか?
lacas
2014-02-27 02:49:42 UTC
view on stackexchange narkive permalink

天頂/方位角から経度/緯度を取得するにはどうすればよいですか?

または3Dアプリケーションで太陽を配置するにはどうすればよいですか?

ここから抽出されたコード

  public static AzimuthZenithAngle getSolarAzimuthZenithFromLatLon(float lat、float lon){GregorianCalendar time = new GregorianCalendar(TimeZone.getDefault( )); return PSA.calculateSolarPosition(time、lat、lon);} public static Vector3 getSolarPosition(float radius、AzimuthZenithAngle az){double a = az.getAzimuth(); double z = az.getZenithAngle(); float X =(float)(radius * Math.sin(z)* Math.cos(a)); float Y =(float)(radius * Math.sin(z)* Math.sin(a)); float Z =(float)(radius * Math.cos(z)); return new Vector3(X、Y、Z);}  

これは私のコードですが、うまく機能していません。

オブザーバーは(0,0,0)にいますか、それともオブザーバー座標と比較して半径が大きいですか?または、コードが期待とは異なる動作をするように指定できますか?球面座標からユークリッド座標への変換は、一見問題ないように見えます。
高度方位角ですか?天頂は「固定」点であり、太陽の地平線上の現在の角度ではありません
あなたは2つの異なる質問をしていると思います。天頂の高度と方位角から緯度と経度を決定することと、太陽の位置をプロットすることは別のことです(追加の入力パラメーターが必要です)
二 答え:
#1
+5
harogaston
2014-05-02 10:27:10 UTC
view on stackexchange narkive permalink

見てみましょう:

ローカル標準時子午線(LSTM)

ローカル標準時子午線(LSTM)は、特定のタイムゾーンで使用される参照子午線であり、次のようなものです。グリニッジ標準時に使用される本初子午線。 (LSTM)は、次の式に従って計算されます。$$ LSTM = 15 ^ {o}。\ Delta T_ {GMT} $$ここで、$ \ Delta T_ {GMT} $は、グリニッジ標準時からの現地時間(LT)の差です。平均時間(GMT)(時間単位)。

均時差(EoT)

均時差(EoT)(分単位)は、均時差を補正する経験式です。地球の軌道と地球の軸方向の傾き$$ EoT = 9.87 sin \ left(2B \ right)-7.53cos \ left(B \ right)-1.5 sin \ left(B \ right)$$

ここで、$ B = \ frac {360} {365} \ left(d --81 \ right)$は度で、dは年の初めからの日数です。

均時差(TC) )

正味の時間補正係数(分単位)は、タイムゾーン内の経度の変動による特定のタイムゾーン内のローカル太陽時(LST)の変動を考慮し、上記のEoTも組み込んでいます。 $$ TC = 4 \ left(Longitude-LSTM \ right)+ EoT $$ 4分の係数は、地球が4分ごとに1°回転するという事実に由来します。

ローカル太陽時(LST)

ローカル太陽時(LST)は、前の2つの補正を使用してローカル時間(LT)を調整することで見つけることができます。$$ LST = LT + \ frac {TC} {60} $$

時角(HRA)

時角は、ローカル太陽時(LST)を太陽が空を横切って移動する度数に変換します。定義上、時角は太陽の正午に0°です。地球は1時間に15度回転するため、太陽の正午から1時間離れると、15度の空での太陽の角運動に対応します。午前中は時角が負で、午後は時角が正です。$$ HRA = 15 ^ {o} \ left(LST-12 \ right)$$

偏角:

$ \ delta $で示される赤緯角は、地球の自転軸上での地球の自転と太陽の周りの地球の自転により、季節によって変化します。地球が自転軸に対して傾いていない場合、赤緯は常に0°になります。ただし、地球は23.45°傾いており、赤緯角はこの量のプラスマイナスで変化します。春分と秋分でのみ、赤緯角は0°に等しくなります。$$ \ delta = 23.45 ^ {o} sin \ left [\ frac {360} {365} \ left(d --81 \ right)\ right] $$

ここで、 d は、1月1日をd = 1とする年の日です。

仰角:

仰角は、水平から測定した空の太陽の角度の高さです。 $$α= sin ^ {-1} [sin \ delta sin \ phi + cos \ delta cos \ phi cos(HRA)] $$ここで、$ \ delta $は偏角、$ \ phi $はローカル緯度 HRA 時間角度です。

方位角:

方位角は、日光が当たるコンパスの方向です。太陽の正午には、太陽は常に北半球の真南と南半球の真北にあります。$$ Azimuth = cos ^ {-1} \ left [\ frac {sin \ delta cos \ phi --cos \ delta sen \ phi cos(HRA)} {cos \ alpha} \ right] $$

$ \ delta $が傾斜角である場合、$ \ phi $はローカルです緯度 HRA 時間角です。

天頂角:

天頂角は間の角度です太陽と垂直。天頂角は仰角に似ていますが、水平からではなく垂直から測定されるため、天頂$$ Zenith = 90°-\ alpha $$

Where $ \ alpha $ is 仰角


入力パラメータは次のようになります。

  • 経度
  • $ \ Delta T_ {GMT} $は、現地時間(LT)とグリニッジ標準時(GMT)の時間差です
  • LT 地方軍時間単位の時間
  • $ \ phi $ 地域の緯度
  • d 年の日
ありがとう、これはまさに私が探していたものです。非常に明確で簡潔な答え。
#2
  0
Kelsey
2017-08-30 20:52:39 UTC
view on stackexchange narkive permalink

これがあなたに関係があるかどうかはわかりませんが、私にとっては関係がありました。これにより真の標高が計算されますが、大気差のために観測されたものと同じにはなりません。 Meeusソーラー計算機があり、これを使用してそれを修正します:1.02 /(60 * tan((alpha +(10.3 /(alpha + 5.11)))* pi / 180))



このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...