资源描述
城市建筑日照分析1. 背景随着城市建筑密度越来越大,建筑物的日照规范也被纳入城市规划的指标之中,一方面要衡量现有建筑是否符合规范,另一方面又要对未来城市规划提供参考依据。应用 GIS 空间分析方法可以方便的找出不符合建筑日照规范的建筑。2. 数据( 1) 某一城区建筑数据 buildings.shp ;( 2) 地块单元数据 parcel.shp。图 1. 建筑数据(左)和地块单元数据(右)3. 要求( 1) 计算该地区各个单元的容积率容积率建筑面积 / 用地面积(公式 1)式中,建筑面积为各楼层建筑面积之和;用地面积为各地块单元(parcels.shp)面积。(2) 请找出不符合国家规定日照标准的建筑。我国建筑日照标准有如下规定:一个建筑底层日照要至少满足在冬至这一天,在12:00-14:00 能接受到太阳照射。已知该地区纬度为32,太阳赤纬计算公式为:0.006894- 0.399512cos 0.072075sin- 0.006799cos20.00089sin2 (公式 2)式中,为日角,即2 t 00, N 为积日,即为日期在年内的顺序号(1, t =N-1365.2422月 1 日为 1,以此类推,非闰年的12 月 31 日为 365)。时角 t 为t=(s+f/60-12)*15(公式 3)式中, s 为时, f 为分。太阳高度角 h,即harcsin( sin sincos cos cost)(公式 4)太阳方位角A(方位角是以正南方向为0,顺时针为正,逆时针为负),即Aarccos sinh sinsin/ coshcos(公式 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 。右键该字段名, 在菜单中选择 【 calculategeometry 】命令图 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:0013:0014:00高度角34.7519732.9204927.75121方位角016.456931.2727ArcGIS中的方位角180196.4569211.2727* 角度单位为。4)假设在 t 0 时刻太阳的方位角为A,则建筑物在t 0 时刻的向光面坡向为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 个时刻的阴影栅格,累加为一个图层物在 12:00 14:00 时段内的阴影范围。其取值分别为 0、1、 2、 3;sh_all,即建筑值为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. 不符合日照法规的建筑分布图(高亮建筑为不达标建筑物)
展开阅读全文