烟台北纬37.4度,南楼(如图19号楼)大约32米的11层小高层,楼间距41米,那么16号楼一楼全年里一天中最短的日照时间(冬至日?)是几小时?


谢邀:

日照计算是一个复杂的问题,现在一般借助软体进行计算,从题主给出的图来看,16#楼的日照被19#楼和沿街商业挡了很多,如果能通过日照计算的话,我感觉也是东侧射入的日照会比较多,下午就少一些,因为西侧的沿街商业也挡了不少,南侧19#楼。根据&看,(大寒日)完全挡的死死的。

附相关规定(不敢保证是现行版本,但绝对值得参考):

如果想找人计算日照高度的话,要提供全图,你这个图根本反应不了问题。

假设东南侧没有建筑遮挡16#楼的话,我帮你分析一下看看日照大致情况是怎么样的:

冬至:

大寒:

这只是我估算的,上面贴近黑框的小数字就是你要的结果。

给你补一个你补充全规划图的一个估算结果,大寒日(我们一般以大寒日判定其是否符合日照),初步估计,一楼最西边的那一户日照可能会不满足,其他的差不多都满足要求。


粗略的用天正建筑,精确的用众智日照,完了。


恰好做过一个计算模型,先拿我的模型回答一下哈。

冬至日的日出时间算出来是07:17,如果19号楼东侧的部分遮挡得比较多,那么要到10:58(可能有一定误差,提前半小时左右会有比较淡的阳光进来,半小时后太阳全部照到),阳光能晒到16号楼的一楼。如果东侧遮挡比较少的话,则可能更早。

日落时间是16:45,如果19号楼西侧的楼体遮挡比较比,那么16号楼一楼到13:04就没有日照了。如果遮挡比较少的话,则可能更晚。

希望得到您的反馈验证一下:)

贴一下计算过程:

import math
def hour2min(hour):
l=hour.split(:)
mins=eval(l[0])*60+eval(l[1])
return mins
def getdays(year,month,day):
day_list = [0,31,59,90,120,151,182,213,243,273,304,334]
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
if month &> 2 :
num_day += 1
num_day = day_list[month-1]
num_day += day
return num_day
def min2hour(past):
delta_hour=past//60
delta_min=past%60
delta={0:0&>2}:{1:0&>2}.format(int(delta_hour),int(delta_min))
return delta
#从太阳升起到阳光进屋需要几小时
days=getdays(2019,12,22)
h=32
distance=41
N=37.4
#赤纬
seta=-23.44*math.cos(math.radians(360/365*(days+9)))
#太阳高度角
H=90-(N-seta)
#遮挡楼与楼间距夹角
angle=math.atan(height/distance)/math.pi*180
angle_everymin=180/mins
past=(angle-seta)/angle_everymin#当angle-seta&>90时,阳光就怎么也照不进了
#时间计算公式
t=math.acos(-math.tan(math.radians(N))*math.tan(math.radians(seta)))/math.pi*180
t_min=360/(24*60)
tonoon_mins=t/t_min
#日出时间
start_hour=min2hour(12*60-tonoon_mins)
start_min=12*60-tonoon_mins
#阳光进屋时间
res=min2hour(start_min+past)
res


补充一下完整一点的图,左下角是19号楼


推荐阅读:
相关文章