本篇為另外一篇數據分析應用實戰原創文章《誰家的散打隊?》的姊妹篇
前段時間比較忙,我和老婆差不多在第N時間才加入現在所在的小區住戶微信群。
感慨一下,現在不同於幾十年前住單位福利分房了,那時候串門聯絡感情非常方便。
那時候大家都在一個大單位工作,住的都是同一個單位的單身漢或者家屬,平時白天都可以不用關門,打招呼串門很方便。
而且那個年代職工剛新搬進單位的宿舍,提著一籃子熟雞蛋遛一圈,就能把所有鄰居都給認識了。
但在商品房+微信的時代,鄰居們都來自五湖四海,平時都不怎麼見面。要想熟絡一下認識認識同一樓層的鄰居都不一定有時間。
不過我發現,微信群裡面共同聊一個話題,倒是個不錯的方法。
今天一大早上班的路上,就看到群裡在熱烈討論一個話題,「我家的陽臺能不能曬到太陽,或能曬多久的太陽?」
如下圖,裡面不乏許多大神級的解讀。
陽臺要有太陽曬這個話題是個很老的題材了,其實在看房子階段,決策是否要買這個單元之前,怕是大家都已經在樓盤工地、樣板間裡來回穿梭考察好幾十回了。
但是由於當時是預售,很多樓房那時候還是工地,真正搬進去的房子在那個時候不僅進不去,而且房子周圍都是腳手架和堆滿了建材,還比較危險。因此很難真實的考察到很多細節,最多遠遠的看一下樓距,估計一下自己看中的房子有多高。
如果說一開始買的樓層就很高,或者買的是小區邊上戶型,那這個問題就不是問題,因為確實沒有小區內其他的樓宇遮擋自己的陽臺採光。
而其他樓層的戶型就不同了,畢竟來看房的時候可能剛好是陰天,或者工地正在施工進不去,因此很大程度就要看經驗或者自己預判。
當然了,有門路的還是可以找熟人問問;而沒有熟人的,那就只好在樣板間、售樓大廳研究模型,或者研究下售樓書上的宣傳圖紙。
等掰著手指可以驗房和交房的時候,能走進屋裡看了,大家會發現很多細節和之前看到的模型和圖紙多少有些出入。甚至時間久了,看到真正的房子時,卻又都記不起來當時是咋考慮的了。
因此要想回答自己家裡的陽臺一年下來每天能曬個多長時間,還是得重新考慮和重新計算的。
下面介紹3種比較常用的方法:
方法一:實地測量和計時法。
由於我國在北半球,考慮到每年的夏至、冬至是一年中白天時間最長和最短的兩個特殊日子,因此可以就在那2天專門在家測算和觀察下,太陽有沒有照進陽臺,照進來多大面積,一共照了多長時間,非常精準。
其餘的日子裡,陽臺被光照射的時間就是這2個日子觀測到的中間值。
非常簡單對吧?
不過用這種方法,對於大多數年輕人來說,還是有一些比較嚴格的條件:
一般來說你得比較有時間(例如財務自由),或者已經是退休在家,總之來說得比較有時間。
因為夏至和冬至這2天,遇上周末不用上班的可能性不大。比方說今年的夏至,就是星期一得上班。如果不是財務自由或退休在家,你總不能說和老闆或者和客戶請假,要待在家裡看太陽吧?所以,比較有時間的人,才能夠用得到這種方法。
還有就是得天公作美,或者說天氣得配合。
如果夏至那天剛好遇上大暴雨或者陰天,冬至那天剛好下雪或者也是多雲,你就沒法去觀察和測算了。再加上這2個時節,下雨或陰天,經常一搞就好幾天,你也說不準哪天請假方便。難道你敢請假一請就請個一星期,不至於吧。
當然還有一種網際網路的方法,那就是家裡安裝攝像頭
很多人的家裡都裝了攝像頭,不過很多人的攝像頭都是拍攝室內。因此,除非陽臺上裝了一個攝像頭能夠拍攝到一天下來陽臺的光照情況,這樣就可以通過在家裡回看視頻統計太陽曬陽臺的時間了。
方法二:衛星圖片觀察法
如果你有能看到衛星圖片這方面的人脈,那就太方便了。
只要調出夏至和冬至的衛星圖片(或者之前之後幾天的,只要是晴天的都行),看看太陽照射下,自己住的樓層沒有被其他樓層的影子遮擋的時間有多長就行了。
當然了,還有更加先進的圖像處理算法,可以在雨天模擬出晴天的效果!
這種人脈資源怕是相當的難得,因為一般來說,只能找商業衛星公司。
如果你沒有這方面的人脈,還有一種大致估計的方法。
例如自己可以下載谷歌地球,在谷歌地球上就可以根據時間線找到最靠近夏至和冬至這2天的衛星圖片,然後觀察下自己住的樓層沒有被遮擋就大概知道了。
例如,我找到了深圳的著名高樓京基100,和它旁邊的荔園酒店。這張照片拍攝於2020年3月16日早上8點,從京基100的影子上可以推算在春分8:00的時候,京基100的影子大概率是不會對荔園酒店的底層構成遮擋的。既然春分時節都不會遮擋,那麼夏至日早上8:00更加大概率不會遮擋。
而冬至日嘛,這個還不太好說。
因為這種方法,還是有些問題:
谷歌地球的照片不是每天、每時都更新的,因此想要看到更加詳盡的照片,特別是具體某一點某一時刻的照片,真的比較難;
這種通過影子的估算和估計,需要讀圖人有一些比較基礎的看圖能力和地理學知識。不然,影子往哪裡偏移,影子在偏移的過程中該做多少壓縮或延伸,如果都沒個概念的話就麻煩了。
方法三:太陽高度角方法
我們考慮一般化場景:
如下圖,一般來說如果能夠住在左邊建築的A點或以上位置就是不錯的,因為A點不容易被對面建築的影子遮擋,而住在B點的話會被遮擋。但對於住在C點而言,到底會不會曬到太陽呢?
為此,如果選用太陽高度角這種方法就會比較複雜,需要一定的地理學或天文學的知識,以及幾何、三角函數的基礎。
所以,我建議是只要時間充足,可以考慮方法1;
家裡有礦可以考慮方法2;
像我這樣平時比較忙,又只能搬磚挖礦的,就傾向於方案3了。
回到正題,方法三的思路從下圖看出要從2個切入點入手:
假設你站在陽臺上,陽臺對面有個遮擋物會造成陽光的遮擋,從而在陽臺上落下影子;
不同時刻的太陽位置,落在陽臺上的影子的位置是不一樣的;
第一個切入點,Y方向作為0-1的先決條件:由於陽臺比較窄,因此只要陽臺出現影子,就說明被遮擋1,反之就不被遮擋0;
第二個切入點,一旦陽臺被遮擋,那麼X方向上最長的影子移動距離是多少?
下面先研究Y方向,陽臺是否會被遮擋
從中學的地理知識可以知道,北半球兩棟建築物之間的距離,至少要保證在冬至日的正午時刻,相互間不產生陽光遮擋。
為啥這麼說呢?
第一、 正午時刻太陽高度角在一天中最大,此時影子最短。如果正午時刻對方建築被自己的影子所遮擋,那麼當天其他時刻,自己的影子都大概率會遮擋住對方(考慮到對方建築可能較寬,所以用「大概率」);
第二、 冬至日那天,太陽直射點在南回歸線,北半球太陽高度角在一年中所有的正午時刻中是最低的。如果這一天的正午對方建築被自己的影子所遮擋,那麼一年到頭所有的日子,大概率下自己的影子都會遮擋住對方。
用下圖來表示就是這樣,
在上圖左中,冬至日12:00時,如果那條紅色的光線剛好照到了建築物2的牆角,此時兩棟建築物的距離L,就剛好是建築物2不被對面建築1影子遮擋的最小距離。這個時候,只要建築物2距離建築物1的水平距離≥L,那麼至少全年的正午時刻,在建築2門口肯定能曬到太陽。
可是現實中很多時候,如上圖右,開發商為了節省用地,兩棟建築物之間的距離會小於L。或者說考慮到1樓和2樓作為入戶大堂不住人,照不照太陽影響不大,因此允許兩棟樓之間的距離小於L。
此時,上圖右的問題就變成H= ?時,在這個高度以下的建築物長時間曬不到太陽。
為了回答L =? 以及H =? 我們用一個場景進行建模,選擇下圖中建築1和建築2作為研究對象
第一步,需要判斷的是,太陽到底出現在建築1一側,還是建築2一側。因為太陽的位置將決定誰會被遮擋住。
這一步的判斷其實不難。
首先看上圖,由於是拍攝於2019年11月8日早上11:00 ,此時建築物的影子方向朝北,此時說明太陽就在南方,因此太陽的位置就在建築1那側。
還有一種方法就是考察緯度的因素。
我查了一下所在的韶關市市區的地理坐標,大致是 N 24.8°,E113.8°。
由於在11月份,太陽的直射點在南半球,而韶關市在北回歸線以北,因此也可以看出,太陽靠南,在建築1那側。
這樣一來就清楚了,建築1和建築2之間,我們要考察的是建築2是否會被建築1的影子所遮擋。
第二步,簡化建模,考察一下建築1和建築2之間的距離L是否達到了互不遮擋的最小值?
這時候,我們將建模所需要的參數,放到圖中來看就比較清楚了。
上圖中一共有3個參數:
參數1,冬至日12:00,陽光的高度角θ=?
參數2,建築1的高度 H1 =?
要求出的參數3:此時建築1的影子長度(或者最小樓距)L= ?
首先求θ,這個容易求出來 θ =41.7°。
一般的,天文學中關於某天某時刻的太陽高度角的計算公式是這樣
上面的等式中
Dec:赤緯,天文學術語,指的是太陽直射點的緯度,如果在南半球則取負數。冬至日太陽直射點在南回歸線,也就是取Dec = -23.5°
Lat:觀測點所在的緯度,例如韶關的緯度就是N 24.8°
t:時角,天文學術語,解釋起來有些費勁兒,百度百科是這麼解釋的:天體的時角定義為天子午圈與天體的赤經圈在北極所成的球面角。換成不太嚴謹但容易理解的話說,就是地球每個小時自轉15°,在觀測時點上,地球已經自轉了多少個15°。
計算公式是 t =(觀測時點-12)×15°
例如,現在是正午12點,那麼時角就是0°,之所以要減12,那是因為規定了正午12點的視角為0°的緣故。
不過由於取的是正午時間,因此cos t=1,整個公式就簡化了。
經過數學變形,得到冬至日正午時刻韶關市區的太陽高度角為θ = π/2-(Lat-Dec),也就是41.7°。
用高中課本中簡單的平面幾何公式就可求出。
其次求H1
求H1的方法有很多種。高手都在民間,所以我就用了一種相對容易的方法。
工具是雷射測距儀,原理用的是勾股定理。
原理和實操都很簡單,下圖大家一看就秒懂
求出了θ,H1後,那麼L就容易求了
利用公式:
代入數值求出L;
在進入下一個環節之前,我們不妨根據一般性推導出一個臨界公式,也就是測算當在建築2所住的樓層陽臺頂部外沿高度要達到的臨界值(見下圖)。
經測算,一般情況下,H的臨界值為
H臨界=H1- L1×tan(θ)
當陽臺頂部外沿實際高度高於臨界值H臨界時,至少能保證每天正午能曬到太陽(也就是Y方向判定不被遮擋),此時可以測算出在冬至日那天能曬到多久的太陽;當陽臺頂部外沿實際高度低於H臨界時(Y方向上判定被遮擋),那就一年到頭大概率會曬不到太陽。
下面研究X方向上,影子橫向移動多寬
這個就比較需要系統的立體幾何以及天文學的基礎知識了。
總體的研究思路流程如下:
上面的流程中,有一些名詞已經之前解釋過了,這裡不多做解釋;
下面講一下沒介紹過的。
時差:不是旅遊倒時差的那個時差,而是標準時區的經度和觀測地的經度之間存在角度距離。例如北京時間所在經度為E 120°,而韶關經度為E113.6°,相隔了6.4°,從時間上看差了大約半個小時。也就是說當北京時間早上6:00的時候,韶關真正的時間是早上5:30多一些。之前寫太陽高度角的時候,按道理也要考慮這個因素的,但一方面前面內容不用涉及到太陽升起和日落,另一方面誤差也不大,因此就沒在之前考慮了。時差的計算公式為
2. 真時角:就是「時角+時差」
3. 太陽方位角:天文術語,按百度百科的解釋,太陽方位角通常被定義為從北方沿著地平線順時針量度的角。
它的計算公式為
這個看著不太好理解,下面我畫個圖大家就容易理解了。
首先,由於存在時差,韶關的冬至日是要到12:26分,太陽才到達正南方,此時影子最短。此時的太陽高度角為41.7°,太陽位於正南方,此時方位角為β= 180°;
其次,同樣因存在時差,冬至日早晨是7:12分日出,17:40分日落。經計算當天太陽是在正南方偏東約64°升起,也就是俗話說的約東南方升起(此時β=-116°,負數代表上午。但是站在觀測者的角度上看,負數度數看著很彆扭,所以取|β|的補角64°,就會比較自然和生活化);
同理,當天太陽在正南方向偏西約64°的方向落下,即俗話說的約西南方向落下。
太陽方位角的變化,就決定了影子的活動範圍
4. 影子活動範圍,指的是太陽在不同的方位角出現時,影子的位置。在這裡,我們需要確定一個時間範疇。
理論上一旦太陽出現在地平線之上,只要有遮擋物就一定會有影子,但有些時段的影子我們並不care。例如我們想曬衣服,早上10點之前的太陽,陽光並不強烈,此時晾乾的貢獻比曬乾還大;亦或者傍晚時的太陽,也是如此。
只有日上三竿到正午,正午到下午那段時間的太陽是我們生活中所需要的。所以我們想要研究陽臺能否曬到太陽或者能被太陽曬多久,應該取一個我們都常用來晾曬的時段,在這裡我就取上午10:00到下午16:00。
我計算了一個韶關市區冬至日不同時段的太陽高度角-方位角一覽表。
一起來看一下(第二列粘貼時發生錯誤,請忽略)
時點
太陽高度角θ
生活化的方位角
10:00
18°
南偏東39.15°
11:00
46°
南偏東25.06°
12:00
36°
南偏東7.95°
12:26
7°
正南方
13:00
07°
南偏西10.36°
14:00
66°
南偏西27.13°
15:00
01°
南偏西40.78°
16:00
19°
南偏西51.35°
有了這個表,並基於表中的數據我們就可以製作一下3個關鍵時點的影子變化邊界,我將這3個時點的影子的邊界連接上去後,得到了下圖的2條虛線。
如果你住在1樓,若從10:00到12:26,陽臺位於紅色虛線之下(外),或者下午12:26-16:00,陽臺位於綠色虛線之下(外),那麼陽臺都是可以曬到太陽的。
1樓曬得到太陽,那麼1樓以上的住戶肯定全都曬得了太陽。
但實際上經常是這種場景,那就是受之前所說的樓距過小的影響,沒辦法住在上面2條虛線範圍之外。
這個時候我們就回到之前講到的一般化場景。
我們想知道下圖中C點(假設為陽臺的頂部),從10:00到16:00之間是否能夠曬到太陽?
這個就要花點時間來測算了。
關於C點能否在冬至日正午曬到太陽,從前面推導出來的先決條件H在正午時刻的臨界高度值
H臨界正午 = H1- L1×tan(θ正午)
計算出的H臨界正午,如果這個值≤H,那麼C點在冬至日正午肯定可以曬到太陽。
至於早上10點到下午16:00能否都能曬到太陽,則還需進一步分場景計算。
有一點可以肯定的就是,一天中其他時間點的太陽高度角肯定比正午時θ值要低,這就意味著除正午外其他時間點的影子上沿高度肯定超過H臨界正午值。
這個是顯而易見的,如下圖:影子越長,一旦影子受到遮擋,影子的上沿就越高。
於是,我們得到一個判斷C點是否被影子遮擋的臨界條件狀態,不過所需要要換成具體的場景來看。
首先C點是陽臺的天花完整外沿,它是有長度的。
我們設左側為C1,右側為C2,每天影子的變化方向是由C1→C2,也就是自西向東。
另外,當我們把分析的視角從軸測圖轉向平面圖時,就很容易分析了。
下圖中,是代表冬至日當天,上午10:00到正午12:26分時,需要測量的量包括如下:
上午的太陽方位角β0
C1點和對面建築外立面構成一個夾角β1,
C2點和對面建築外立面構成一個夾角β2,
由下圖易知,β1 > β2
β0、β1、β2之間存在如下關係:
當β0 > β1時,整個C點陽臺不受遮擋;
當β2 <β0 ≤β1 時,C點陽臺開始被遮擋或部分被遮擋,此時還要兼顧H和H臨界。這個時候,如果在此期間H≤H臨界,只要逆運算β1和β2分別等於太陽方位角時的時刻,就知道C點陽臺被影子遮擋的時間;如果此期間H≥H臨界,則C點陽臺完全不受遮擋;
當β0 ≤β2時,如果在此期間H≤H臨界,C點陽臺完全受到遮擋;如果此期間H≥H臨界,則C點陽臺完全不受遮擋;
同樣的,如果是在下午這段時間內
β0、β3、β4之間存在如下關係:
當β0 >β3時,整個C點陽臺不受遮擋;
當β4 <β0 ≤β3 時,C點陽臺開始被遮擋或部分被遮擋,此時還要兼顧H和H臨界。這個時候,如果在此期間H≤H臨界,只要逆運算β3和β4分別等於太陽方位角時的時刻,就知道C點陽臺被影子遮擋的時間;如果此期間H≥H臨界,則C點陽臺完全不受遮擋;
當β0 ≤β4時,如果在此期間H≤H臨界,C點陽臺完全受到遮擋;如果此期間H≥H臨界,則C點陽臺完全不受遮擋;
分析了那麼久,舉個實例分析下吧:
假設小王住在在韶關市某小區,他所住的樓層陽臺頂部外沿距離地面28米,他的陽臺的南面斜側,有另一棟小區住宅樓,樓高40米。
小王所住的樓和陽臺對面的樓樓距為 20米,對面樓的立面和小王陽臺頂部外沿的兩端,形成的夾角如下圖:
其中,β1=47°,β2=25°,β3=52°,β4=29°
請分析,假設冬至日全天晴朗,小王的陽臺在冬至日那天能夠照射到多久的太陽?
解答:
韶關市冬至日正午高度角為41.7°為已知
首先判斷實際樓距是否達到理論不遮擋的最小樓距
理論樓距L= 40/tan(41.7°)= 43.88米;而小王所住樓和陽臺對面樓實際樓距只有20米,因此必然小王所在的樓宇的低樓層必然長期會受到影子遮擋;
接下來,要看看小王坐住的樓層陽臺的遮擋情況;
前面計算冬至日那天不同時點的太陽高度角、方位角、臨界高度等等概念不再一一贅述,直接上圖表進行分析
在上表的最右列,我用了if….else,或者IF() 的函數,很容易就判斷出了小王陽臺被遮擋的時間段。
上表這5個標紅的時間段就是陽臺被遮擋,當然我在這裡用了半小時為間隔,如果用10分鐘或者更細的話,可以計算得更細緻一些。
根據之前設置的上午10:00到下午16:00的有效照射時段來看,小王的陽臺在上午不到半小時,下午有1個半小時是會有太陽遮擋的。總計被遮擋的時間有2小時左右,佔整個6小時有效時段的1/3,可以說也還是不錯的了。
是不是很方便?
小結:
上面講了長長的分析過程,看的讓人眼花繚亂,也有可能會讓人頭暈腦脹。
下面需要做一下總結:
第一步:如果你時間充裕,或者多裝幾個攝像頭,通過記錄任何日子下的陽臺被太陽光照時間,了解陽臺是否受遮擋;
或者,如果你有商業衛星公司的資源,可以查看特定日子,例如冬至日及前後幾天的衛星圖片,也可以準確的知道在一年中白晝最短的日子裡,陽臺能夠被太陽光照的時間;其他日期裡,陽臺受光照的時間只會比冬至日久。
如果以上兩個條件都不具備,那麼可以考慮燒腦的下一步
第二步:考慮太陽高度角及太陽方位角,測算冬至日當天陽臺被有效光照的時間。
以下是動作分解:
通過百度地圖或谷歌地圖、高德地圖……,精確測量所在小區的經度和緯度。這次我用了韶關市區的經度緯度,主要是為了取整方便。
得到上面的數據後,利用赤緯、時角、時差分別計算出冬至日當天各個整點時段的太陽高度角θ、太陽方位角β。做好做一個表格,方便對比。
測量自己住的樓房和對面樓房的樓距、對面樓房的高度、陽臺外沿高度、陽臺外沿兩端和對面樓房形成的夾角β1、β2、β3、β4。
上一步測量完之後,計算陽臺外沿高度的臨界值H臨界;並根據第2步得到的各時點的太陽方位角β,和β1、β2、β3、β4進行對比,判斷陽臺是否受到遮擋,如果受到遮擋,那麼反算出被遮擋的時間段;
利用第2步得到的各時點的太陽高度角θ,計算各時段影子上沿在自己住的樓房外立面的高度H, 並用之與H臨界進行對比,修正第4步的結果。
感謝閱讀我的原創,如果想閱讀更多的原創,請關注我的公眾號,按下圖操作閱讀