Otázka:
Jak získat zeměpisnou délku / šířku od solárního zenitu / azimutu?
lacas
2014-02-27 02:49:42 UTC
view on stackexchange narkive permalink

Jak získám zeměpisnou délku / šířku od zenitu / azimutu?

Nebo jak mohu umístit své slunce do 3D aplikace?

kód extrahovaný z zde

  veřejný statický AzimuthZenithAngle getSolarAzimuthZenithFromLatLon (float lat, float lon) {GregorianCalendar time = nový GregorianCalendar (TimeZone.getDefault ( )); návrat 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)); vrátit nový Vector3 (X, Y, Z);}  

toto je můj kód, ale nefunguje moc dobře.

Je pozorovatel na (0,0,0), nebo je radius velký ve srovnání se souřadnicemi pozorovatele? Nebo můžete určit, jakým způsobem se kód chová odlišně od vašeho očekávání? Transformace ze sférických souřadnic na euklidovskou se mi na první pohled zdá ok.
Myslíš výškový azimut? Zenit je „pevný“ bod, nikoli aktuální úhel nad horizontem slunce
Myslím, že kladete dvě různé otázky. Určení zeměpisné šířky a délky z nadmořské výšky a azimutu je jedna věc, vynesení polohy slunce je druhá (a vyžaduje další vstupní parametry)
Dva odpovědi:
harogaston
2014-05-02 10:27:10 UTC
view on stackexchange narkive permalink

Podívejme se:

Meridian místního standardního času (LSTM)

Meridián místního standardního času (LSTM) je referenční meridián používaný pro konkrétní časové pásmo a je podobný Prime Meridian, který se používá pro greenwichský střední čas. (LSTM) se počítá podle rovnice: $$ LSTM = 15 ^ {o}. \ Delta T_ {GMT} $$ kde $ \ Delta T_ {GMT} $ je rozdíl místního času (LT) od Greenwiche Střední čas (GMT) v hodinách.

Rovnice času (EoT)

Rovnice času (EoT) (v minutách) je empirická rovnice, která koriguje výstřednost Oběžná dráha Země a axiální náklon Země. $$ EoT = 9,87 sin \ left (2B \ right) - 7,53cos \ left (B \ right) - 1,5 sin \ left (B \ right) $$

Kde $ B = \ frac {360} {365} \ doleva (d - 81 \ doprava) $ ve stupních ad je počet dní od začátku roku.

Faktor časové korekce (TC )

Čistý faktor korekce času (v minutách) zohledňuje odchylky místního slunečního času (LST) v daném časovém pásmu v důsledku změn zeměpisné délky v časovém pásmu a zahrnuje také výše uvedený EoT. $$ TC = 4 \ left (Longitude - LSTM \ right) + EoT $$ Faktor 4 minuty vychází ze skutečnosti, že se Země otáčí o 4 ° každé 4 minuty.

Místní sluneční čas (LST)

Místní sluneční čas (LST) lze zjistit pomocí předchozích dvou oprav k úpravě místního času (LT). $$ LST = LT + \ frac {TC} {60} $$

Hodinový úhel (HRA)

Hodinový úhel převádí místní sluneční čas (LST) na počet stupňů, kterými se slunce pohybuje po obloze. Podle definice je hodinový úhel 0 ° v poledne. Vzhledem k tomu, že se Země otáčí o 15 ° za hodinu, odpovídá každá hodina vzdálená od poledne úhlovému pohybu slunce na obloze o 15 °. Ráno je hodinový úhel záporný, odpoledne je hodinový úhel kladný. $$ HRA = 15 ^ {o} \ vlevo (LST - 12 \ vpravo) $$

Deklinační úhel:

Úhel deklinace označený $ \ delta $ se sezónně mění v důsledku naklonění Země na její ose otáčení a otáčení Země kolem Slunce. Pokud by Země nebyla nakloněna na své ose otáčení, byla by deklinace vždy 0 °. Země je však nakloněna o 23,45 ° a úhel deklinace se mění plus nebo mínus toto množství. Pouze u jarních a podzimních rovnodenností je úhel deklinace roven 0 °. $$ \ delta = 23,45 ^ {o} sin \ left [\ frac {360} {365} \ left (d - 81 \ right) \ right] $$

kde d je den v roce s 1. lednem jako d = 1.

Výškový úhel:

elevační úhel je úhlová výška slunce na obloze měřená od horizontály. $$ α = sin ^ {- 1} [sin \ delta sin \ phi + cos \ delta cos \ phi cos (HRA)] $$ Kde $ \ delta $ je úhel deklinace , $ \ phi $ je místní zeměpisná šířka a HRA je hodinový úhel .

Azimutový úhel:

Úhel azimutu je směr kompasu, ze kterého vychází sluneční světlo. V poledne je slunce na severní polokouli vždy přímo na jih a na jižní polokouli přímo na sever. $$ Azimuth = cos ^ {- 1} \ left [\ frac {sin \ delta cos \ phi - cos \ delta sen \ phi cos (HRA)} {cos \ alpha} \ right] $$

Kde $ \ delta $ je úhel deklinace , $ \ phi $ je místní zeměpisná šířka a HRA je hodinový úhel .

Zenithův úhel:

Zenitový úhel je úhel mezi slunce a vertikální. Úhel zenitu je podobný elevačnímu úhlu, ale měří se spíše od vertikální než od horizontální, čímž se zenit $$ Zenith = 90 ° - \ alpha $$

Kde je $ \ alpha $ elevační úhel .


Všimněte si, že vaše vstupní parametry budou:

  • zeměpisná délka
  • $ \ Delta T_ {GMT} $ je rozdíl místního času (LT) od greenwichského času (GMT) v hodinách
  • LT místní armáda čas v hodinách
  • $ \ phi $ místní zeměpisná šířka
  • d den v roce
Děkuji, to je přesně to, co jsem hledal. Velmi jasná a stručná odpověď.
Kelsey
2017-08-30 20:52:39 UTC
view on stackexchange narkive permalink

Nejsem si jistý, zda je to pro vás relevantní, ale bylo to pro mě. Tím se vypočítá skutečná nadmořská výška, ale nebude to stejné jako to, co je pozorováno v důsledku atmosférického lomu. K dispozici je solární kalkulačka Meeus, která to opravuje takto: 1,02 / (60 * tan ((alfa + (10,3 / (alfa + 5,11))) * pi / 180))



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...