城市建筑日照分析

2021-08-18 17:51:21 浏览数 (1)

城市建筑日照分析

1.背景

随着城市建筑密度越来越大,建筑物的日照规范也被纳入城市规划的指标之中,一方面要衡量现有建筑是否符合规范,另一方面又要对未来城市规划提供参考依据。应用GIS空间分析方法可以方便的找出不符合建筑日照规范的建筑。

2.数据

(1) 某一城区建筑数据buildings.shp;

(2) 地块单元数据parcel.shp。

图1. 建筑数据(左)和地块单元数据(右)

3.要求

(1) 计算该地区各个单元的容积率

(公式1)

式中,建筑面积为各楼层建筑面积之和;用地面积为各地块单元(parcels.shp)面积。

(2) 请找出不符合国家规定日照标准的建筑。

我国建筑日照标准有如下规定:一个建筑底层日照要至少满足在冬至这一天,在12:00-14:00能接受到太阳照射。已知该地区纬度¢为32°,太阳赤纬计算公式为:

(公式2)

式中,θ为日角,即

,t0=N-1,N为积日,即为日期在年内的顺序号(1月1日为1,以此类推,非闰年的12月31日为365)。

时角t为

t=(s f/60-12)*15 (公式3)

式中,s为时,f为分。

太阳高度角h,即

(公式4)

太阳方位角A(方位角是以正南方向为0,顺时针为正,逆时针为负),即

(公式5)

(3) 注意:弧度与角度的转换(在三角函数中统一使用弧度)

4.工作流程

⑴ 计算容积率

根据给定的容积率计算公式,需要计算各地块的面积和地块内的建筑物的建筑总面积,而地块内建筑物的建筑总面积又与每个建筑物的建筑面积相关。因此,首先计算每个建筑物的建筑面积,然后将不同建筑物标识到其所属的地块内,以此得到地块内的建筑物的总建筑面积。同时,计算出各个地块的面积,依据公式1计算得到地块的容积率。

⑵找出不符合日照标准的建筑

在ArcGIS 10的三维分析工具中,提供了阴影分析的功能,该分析工具的光源为点状光源,而本例的太阳光源属于平行光光源,因此该阴影分析的功能无法满足本例的需要。ArcGIS提供的山体阴影工具,模拟的是太阳平行光源,可以用于本例的分析。因此,采用山体阴影工具(Hillshade)进行日照分析。

要提取太阳在规定时间内、不同方位角生成的建筑物阴影,必须获得建筑物的高度。因此,① 将矢量建筑物数据转为栅格,属性为建筑物高度。② 由于建筑物是体模型,在空间上具有一定的宽度,如果直接对建筑物提取山体阴影会造成判断错误。例如假设建筑物A与建筑物B在空间上存在阴影遮挡(即A挡住了B),则A在B向阳向的前方,B的房顶会遮盖住A的阴影,给遮蔽判断带来困难,如下图所示:

图2. 投影缺失(左)和正确情况(右)

因此,为解决这个问题,首先需要提取建筑物的背光面高度数据,由此提取[12:00 - 14:00]这段时间的“山体阴影”,并与建筑物进行叠加分析,从而判断建筑物是否满足日照标准。

要判断12:00 – 14:00建筑物的遮挡情况,还需要对太阳高度和角度的变化逐时刻模拟太阳日照,这是一个积分过程,微分时刻划分的越细,计算量越大,工作越复杂。在保证结果正确性的前提下,为了提高效率,我们只计算3个时刻(即12:00、13:00、14:00)的日照情况,如果这3个时刻都没有遮挡,则说明建筑物满足日照要求。

最后通过分析阴影与建筑物的空间叠加关系,找出不符合日照标准的建筑物。

工作流程图如下:

图3. 工作流程图

5.操作步骤

求解地块容积率。

① 计算地块用地面积。

方法一:选择【空间统计工具】|【工具】}【计算面积】工具,打开对话框如下图:

图4. 面积计算工具对话框

图5. parcel_area属性表及面积计算结果

方法二:打开parcel文件属性表,选择add field命令,如下图:

图6. parcel属性表add field命令

添加“area”字段,设置“字段类型”为double。右键该字段名,在菜单中选择【calculate geometry】命令

图7. 选择calculate geometry命令

图8. 计算结果

② 计算各建筑物的总面积(建筑总面积=每层建筑面积×楼层数)。

打开buildings属性表,新建一个双精度字段“T_area”表示建筑物总面积(方法同上),右键该字段,选择【filed calculator】命令,在对话框中输入公式:[FLOOR]*[area],得到建筑物总面积,如下图:

图9. field calculator对话框及总面积计算结果

③ 标识各个建筑所属地块,便于下一步计算各个地块内的建筑总面积。

选择【分析工具】|【叠加分析】|【标识】工具,打开对话框如图:

图10. Identity工具对话框

输入要素:buildings;

标识要素:parcel;

输出要素类:buildings_ID;

连接属性:ALL;

其它参数选择默认,生产结果属性表如图:

图11. 标识结果

④ 通过建筑物所属地块的ID属性来统计每个地块内的总建筑面积。

打开building_ID的属性表,右击ID_1字段 ,选择【summarize】命令,打开对话框及输出结果如图:

图12. 汇总工具对话框及汇总结果

⑤ 关联表Sum_Area和parcel_area的属性表。

右键parcel_area(或parcel)图层,选择【连接和关联】|【连接】工具,打开工具对话框如图:

图13. 连接工具对话框

设置parcel_area(或parcel)的ID字段和表Sum_Area的ID_1字段进行关联操作。在提示是否创建索引的对话框选择“是”。

图14. 关联结果

⑥ 计算每个地块的容积率

在parcel_area(或parcel)的属性表中,新建双精度字段Rate;右键该字段选择【field calculator】工具,输出公式:[Sum_Area.Sum_T_area]/[parcel_area.F_AREA](或[parcel.area]),计算结果就是容积率。计算完成后,右击parcel_area图层,选择【连接和关联】|【移除连接】|【Sum_Area】。结果如下图:

图15. 地块容积率计算结果

找出不符合日照标准的建筑。

1)将buildings.shp转化为栅格数据。选择【convention Tools】|【To Raster】|【Polygon To Raster】工具,打开工具对话框,如图:

图16. 面转栅格对话框

输入要素:buildings;

值字段:height;

输出栅格:buildings_g;

像元大小:1

其他参数默认设置,点击确定,生成栅格数据,如图:

图17. 建筑物栅格数据

2)对于上面栅格数据,须将NoData转为数值0,否则获得的阴影数据将不完整。

选择【spaitial analyst tools】|【reclass】|【reclassify】工具,

输入栅格:buildings_g;

重分类字段:value;

将NoData的值改为0,其它值保持不变;

输出栅格:dem_buildings。

图18. 重分类结果

3)分别根据给定的公式,计算12:00、13:00和14:00这3个时间点太阳的高度角和太阳方位角(如下表)。

表1. 太阳位置时刻表

时间

12:00

13:00

14:00

高度角

34.75197

32.92049

27.75121

方位角

0

16.4569

31.2727

ArcGIS中的方位角

180

196.4569

211.2727

* 角度单位为°。

4)假设在t0时刻太阳的方位角为A,则建筑物在t0时刻的向光面坡向为[A-90,A 90].依据此原理,分别提取不同时刻的建筑物背光面轮廓。(下面说明12:00的背光面轮廓提取步骤)。

选择【spaitial analyst tools】|【surface】|【aspect】工具。打开工具对话框如图。

输入栅格:dem_buildings;

输出栅格:aspect12;

生成坡向数据如图:

图19. 12:00建筑物的坡向数据

5)选择【spaitial analyst tools】|【map algebra】|【raster calculator】工具。打开工具对话框如下左图。

输入公式:~(("Aspect12" >= 90) & ("Aspect12" <=>= 0)。计算12:00方位角为180°时建筑物背光面的轮廓。

输出栅格:back12;

图20. 栅格计算器对话框和提取结果

6)提取建筑物背光面的高度数据。

选择【spaitial analyst tools】|【map algebra】|【raster calculator】工具。输入公式:"back12" * "dem_buildings"。

输出栅格:dem12。

图21. 栅格计算器对话框和12:00建筑物背光面高度提取结果

同样的方法提可以取出13:00和14:00的建筑物背光面轮廓的高度数据:dem13和dem14。

7)根据3个时间点计算得到的建筑物背光面高度数据,生成hillshade。

选择【spaitial analyst tools】|【surface】|【hillshade】工具。打开工具对话框如图。

图21. hillshade工具对话框及参数设置

输入栅格:分别为dem12、dem13和dem14;

输出栅格:分别设为hillshade12、hillshade13和hillshade14;

“方位角”和“高度角”参数分别根据不同时刻输入相应的数据;

选择“模拟阴影”选项,输出栅格会同时考虑本地光照的角度和阴影,其中0值表示阴影区域。

所得3个时刻阴影数据分别如下所示:

图22. 12:00时刻的建筑物阴影数据

图23. 13:00时刻的建筑物阴影数据

图24. 14:00时刻的建筑物阴影数据

图25. 局部建筑物与阴影的遮挡关系(虚框为建筑物,黑色为阴影区)

8)由于获得的hillshade数据中,仅值为0的栅格为建筑物的阴影,为了方便对该时间段阴影的叠加分析,首先应先将hillshade数据进行【重分类】,对阴影栅格(hillshade值为0)数据,赋值为1,其它数据对应值为0 。

图26. 对hillshade数据重分类结果

然后,利用【raster calculator】将3个时刻的阴影栅格,累加为一个图层sh_all,即建筑物在12:00 – 14:00时段内的阴影范围。其取值分别为0、1、2、3;

值为0的区域属于非阴影区;

值为1的区域说明在某一时刻存在阴影;

值为2的区域说明在其中两个时刻存在阴影;

值为3的区域说明该区域3个时刻都存在阴影;

这里认为凡是值大于0的区域在12:00 ~ 14:00内有建筑物被遮挡。

图27. 阴影区域累加结果

9)对累积结果进行重分类。

因为阴影区的数值还不统一,所以用【重分类】工具对sh_all数据分类,使“阴影栅格”为1,非阴影栅格为0.

图28. 阴影区与非阴影区重分类结果

10)通过矢量包含关系来判断建筑物与阴影的遮挡关系。

所以我们需要将栅格数据转换为矢量面数据。打开上面的栅格文件的属性表,选中值为1的字段;再选择【转换工具】|【由栅格转出】|【栅格转面】工具,打开对话框如下图:

图29. 栅格转面工具对话框

输出结果如下图:

图30. 转换为矢量后的结果

11)查询不符合日照标准的建筑物(即质心落在阴影内的建筑物)。

选择菜单栏中的【selection】|【select by location】工具,如下图:

图31. 选择“按位置选择”工具

该工具对话框如下图:

选择方法:“从以下图层中选择要素”

目标图层:buildings;

源图层:shadow_polygon;

空间选择方法:“目标图层要素的质心在源图层要素内”

图32. “按位置选择”工具对话框及参数设置

点击确认,生成查询结果,如下图所示,其中高亮框选中区域为被遮挡的建筑物

图33. 查询结果

12)将查询结果导出新图层。

右击查询后的buildings图层,选择【数据】|【导出数据】,打开工具对话框,如下图:

输出要素类设置为illegal。

图34. 导出数据对话框

将illegal图层和buildings、parcel数据叠加显示,得到不符合日照法规的建筑物分布情况,如下图:

图35. 不符合日照法规的建筑分布图(高亮建筑为不达标建筑物)

0 人点赞