目录
3、创建房屋屋顶区域 2021 年每月预计获得太阳辐射量栅格数据,在环境设置中,将 Building 作为掩膜
DTM 和 DSM 的核心区别在于是否包含了地面上的非地形元素。DTM 关注于裸地地形,而 DSM 则包含了所有地表上的特征,无论是自然形成的还是人为建造的。选择哪种模型取决于具体的应用需求。
1、根据建筑物修正 DTM
Ctrl + F 搜索【以表格显示分区统计】,设置如下:
再将计算出来的分区统计表连接到原来的 Building 上,设置如图:


结果如下:
2、计算每栋房屋的其它基础信息
Ctrl + F 搜索以表格显示分区统计,设置如下:
再将最大高度表格连接到 Building 中,连接设置如下:
字段计算器计算最大高度:


由于考虑的是建筑物的朝向,所以在环境设置中,将 Building 设置为掩膜:
设置掩膜(Masking)主要用于控制图层的显示或分析范围,帮助用户专注于特定区域的数据处理和可视化。掩膜可以视为一个“遮罩”,它允许你指定哪些部分的数据应该被显示、分析或编辑,而将其他部分隐藏或忽略。
Ctrl + F 搜索坡向,设置如下:
结果如下:
题目要求以下几个建筑物的屋顶形态和朝向:
只需要定位到该建筑物,然后分析坡度即可,最后结果:
序号 | BuildingBM | 屋顶形态 | 屋顶朝向 |
1 | 2116 | 双坡屋顶 | 西北、东南 |
2 | 2156 | 双坡屋顶 | 北、南 |
3 | 2161 | 四坡屋顶 | 西北、东南、西南、东北 |
4 | 2165 | 双坡屋顶 | 西北、东南 |
5 | 2171 | 四坡屋顶 | 西北、东南、西南、东北 |
3、创建房屋屋顶区域 2021 年每月预计获得太阳辐射量栅格数据,在环境设置中,将 Building 作为掩膜
Ctrl + F 搜索太阳辐射区域,具体设置如下(重复12遍,计算每个月的辐射总数):
再根据十二个月的晴天天数表,算出每个月的
打开【栅格计算器】,计算每个月份的辐射量:
将每个月的最高最低辐射量填入表中:
月份 | 1月 | 2月 | 3月 | 4月 | 5月 | 6月 |
低值 | 4.23221 | 5.31081 | 9.62105 | 12.2721 | 12.5558 | 10.005 |
高值 | 39828.1 | 48683.1 | 85742.1 | 106786 | 108503 | 85074.4 |
月份 | 7月 | 8月 | 9月 | 10月 | 11月 | 12月 |
低值 | 14.2893 | 14.9097 | 12.184 | 6.18916 | 4.79557 | 3.67597 |
低值 | 123380 | 129046 | 107484 | 56247.5 | 44828.5 | 28946 |
4、计算 8 月份可用房屋屋顶范围内的太阳辐射量,在环境设置中,将 Building 作为掩膜
先计算出建筑物的坡度,打开【坡度】工具,设置如下:
通过栅格计算器,将三个条件计算出来:
打开【镶嵌至新栅格】,将三个条件镶嵌至栅格中,以提取可用房屋范围,设置如下:
打开【按掩膜提取工具】,通过前面提取到的可用屋顶范围,提取可用屋顶范围内的太阳辐射,设置如下:
5、计算 8 月份每栋房屋可接收的太阳辐射量,在环境设置中,将 Building 作为掩膜
为 Building 添加属性字段【可用面积】,使用【以表格显示分区统计】工具,提取出可用房顶面积总和,设置如下:
将数据连接到 Building 中,然后计算可用面积字段,设置如下:

连接该表,计算可用辐射量 8 月字段,添加python代码,将可用面积小于25的辐射量设置为0,大于25的设置成8月辐射量,设置如下:
def calculate_radiation(available_area, radiation_august):
if available_area < 25:
return 0
else:
return radiation_august
calculate_radiation(![Building.可用面]!, ![可用辐射量8月:SUM]!)
最后结果:
感谢您的三连!!!