{"id":1934,"date":"2020-05-28T18:21:09","date_gmt":"2020-05-28T16:21:09","guid":{"rendered":"http:\/\/www.phreekz.de\/wordpress\/?p=1934"},"modified":"2020-05-28T18:27:57","modified_gmt":"2020-05-28T16:27:57","slug":"php-sonnenstand-berechnen","status":"publish","type":"post","link":"https:\/\/www.phreekz.de\/wordpress\/2020\/05\/php-sonnenstand-berechnen\/","title":{"rendered":"[php] Sonnenstand berechnen"},"content":{"rendered":"\n<p>wer&#8217;s braucht. Ich habe es mal f\u00fcr eine 24h laufende LED-Wand ben\u00f6tigt, die ihre Helligkeit dynamisch anpassen sollte. Sonnenaufgang, goldene und blaue Stunde etc pp.. Die Werte sind ausreichend genau \u00fcber die Formeln abgebildet.<br><br>Eingabewerte sind L\u00e4ngen- und Breitengrad.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php \n\n\/\/ Example Berlin\/germany\n$geogr_L=-13.25;\n$geogr_B=52.5;\n\n\/\/ n paar Variablen\n$yearday=date('z');\n$dateYear=date(\"Y\");\n$pi=3.1415926535;\n\n\/\/ Annahme, dass die Sonne untergegangen ist, wenn sie 5\/6\u00b0 unterm Horiz ist\n$h=-5\/6*$pi\/180;\n\/\/ siehe wiki D\u00e4mmerung\n\/\/ -6\u00b0 b\u00fcrgerliche D\u00e4mmerung (lesen im Freien m\u00f6glich)\n\/\/ -12\u00b0 nautische D\u00e4mmerung (schon einige Sterne sichtbar)\n\/\/ -18\u00b0 astronomische D\u00e4mmerung (tiefste Nacht)\n\n\/\/ schaltjahr bzw. sommerzeit\nfunction dst_start($year) { \n return mktime(2,0,0,3,31-date('w', mktime(2,0,0,3,31,$year)),$year); \n} \nfunction dst_end($year) { \n return mktime(2,0,0,10,31-date('w', mktime(2,0,0,10,31,$year)),$year); \n}\nif($dateNow>dst_start($dateYear)&amp;&amp;$dateNow>dst_end($dateYear))\n{ $isDEST = 2;}\nelse\n{ $isDEST = 1;}\n\n$diffTime = 1+$isDEST;\n\n\/\/ -- hier passiert das wunder :)\n\/\/ --\n$b=$geogr_B*$pi\/180;\n$wozmoz=-0.171*sin(0.0337*$yearday+0.465)-0.1299*sin(0.01787*$yearday-0.168);\n$dekli=0.4095*sin(0.016906*($yearday-80.086));\n\/\/ --\n\n\/\/ der Winkel steht im ersten sinus, hier also $h\n\/\/ f\u00fcr $h kann auch -2 f\u00fcr die goldene Stunde oder\n\/\/ -6 f\u00fcr die blaue Stunde verwendet werden \n$tdiff_s=12*acos((sin($h)-sin($b)*sin($dekli))\/(cos($b)*cos($dekli)))\/$pi;\n\/\/ tdiff ist (da die sonnenbewegung symmetrisch ist) die Abweichung von Mittags, 12 Uhr.\n\n$s_auf=(12-$tdiff_s)+$geogr_L\/15-$wozmoz+$diffTime; \/\/ (Einheit Stunden, Flie\u00dfkomma)\n$s_unt=(12+$tdiff_s)+$geogr_L\/15+$wozmoz+$diffTime;\n\necho \"tdiff_s : \".$tdiff_s.\"&lt;br\/>&lt;br\/>\";\n\n\/\/ funktion, um Stunden\/Flie\u00dfkomma in Zeit umzurechnen\nfunction dez2time($tdez){\n  $tstd=floor($tdez);\n  $tmin=floor(60*($tdez-$tstd));\n  return str_pad($tstd,2,'0',STR_PAD_LEFT).\":\".str_pad($tmin, 2 ,'0', STR_PAD_LEFT); \n}\n\n\/\/ ausgabe\necho \"Sonnenaufgang : \".dez2time($sauf).\" Uhr&lt;br\/>\";\necho \"Sonnenuntergang : \".dez2time($sunt).\" Uhr&lt;br\/>\";\n?><\/code><\/pre>\n\n\n\n<p>Damit sollte es ein Einfaches sein, sich noch eine Kurve zu bauen, die um die errechneten Zeiten herum Werte wie LED-Helligkeit oder ISO\/Verschlusszeit\/Blende zu \u00e4ndern. viel Spa\u00df.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>wer&#8217;s braucht. Ich habe es mal f\u00fcr eine 24h laufende LED-Wand ben\u00f6tigt, die ihre Helligkeit dynamisch anpassen sollte. Sonnenaufgang, goldene und blaue Stunde etc pp.. Die Werte sind ausreichend genau \u00fcber die Formeln abgebildet. Eingabewerte sind L\u00e4ngen- und Breitengrad. Damit sollte es ein Einfaches sein, sich noch eine Kurve zu bauen, die um die errechneten&hellip; <a class=\"more-link\" href=\"https:\/\/www.phreekz.de\/wordpress\/2020\/05\/php-sonnenstand-berechnen\/\"><span class=\"screen-reader-text\">[php] Sonnenstand berechnen<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":1936,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[137,29,7],"tags":[416,110,415,12,417,200,418,414],"class_list":["post-1934","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-foto-ebb","category-pc-leben-und-leiden","category-video-graphics","tag-blaue-stunde","tag-coding","tag-daemmerung","tag-fotografie","tag-goldene-stunde","tag-php","tag-programmieren","tag-sonnenstand","entry"],"_links":{"self":[{"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/posts\/1934","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/comments?post=1934"}],"version-history":[{"count":2,"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/posts\/1934\/revisions"}],"predecessor-version":[{"id":1937,"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/posts\/1934\/revisions\/1937"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/media\/1936"}],"wp:attachment":[{"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/media?parent=1934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/categories?post=1934"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.phreekz.de\/wordpress\/wp-json\/wp\/v2\/tags?post=1934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}