首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >第十届全国大学生GIS应用技能大赛 下午题 讲解 【Arcmap 10.8】

第十届全国大学生GIS应用技能大赛 下午题 讲解 【Arcmap 10.8】

作者头像
用户11404404
发布2025-02-18 12:38:25
发布2025-02-18 12:38:25
5330
举报
文章被收录于专栏:Edward的专栏Edward的专栏

DTM 和 DSM 的核心区别在于是否包含了地面上的非地形元素。DTM 关注于裸地地形,而 DSM 则包含了所有地表上的特征,无论是自然形成的还是人为建造的。选择哪种模型取决于具体的应用需求。

1、根据建筑物修正 DTM

Ctrl + F 搜索【以表格显示分区统计】,设置如下:

再将计算出来的分区统计表连接到原来的 Building 上,设置如图:

题目说 “ 基本高度指建筑物底部高程值,本题请计算每栋建筑物范围内 DTM 的平均值,保

留 2 位小数位数 ” ,由此来计算基本高度字段,点击字段计算器选择平均值,并点击确定:

题目说 “ 本项目中的 DTM 和 DSM 数据都是通过雷达数据生成,固有一定的误差。正确的 DTM

应该在建筑物处是平整的,而不是倾斜或者高低起伏。” 所有可以考虑将所计算出的 Bulding 中的 BuildingBM 数据镶嵌至 DTM 中,首先将 BuildingEM 导出为栅格数据:

Ctrl + F 搜索分区统计,设置如图:

复制一遍 DTM 数据,在工具箱中点击【数据管理工具】--【栅格】--【栅格数据集】--【栅格】,将基本高度 数据镶嵌到 DTM 中,具体设置如下:

结果如下:

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 中,然后计算可用面积字段,设置如下:

为 Building 添加属性字段【可用辐射量 8 月】,打开【以表格显示分区统计】工具,提取可用屋顶范围辐射量,设置如下:

连接该表,计算可用辐射量 8 月字段,添加python代码,将可用面积小于25的辐射量设置为0,大于25的设置成8月辐射量,设置如下:

代码语言:javascript
复制
def calculate_radiation(available_area, radiation_august):
    if available_area < 25:
        return 0
    else:
        return radiation_august

calculate_radiation(![Building.可用面]!, ![可用辐射量8月:SUM]!)

最后结果:

感谢您的三连!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、根据建筑物修正 DTM
  • 2、计算每栋房屋的其它基础信息
  • 3、创建房屋屋顶区域 2021 年每月预计获得太阳辐射量栅格数据,在环境设置中,将 Building 作为掩膜
  • 4、计算 8 月份可用房屋屋顶范围内的太阳辐射量,在环境设置中,将 Building 作为掩膜
  • 5、计算 8 月份每栋房屋可接收的太阳辐射量,在环境设置中,将 Building 作为掩膜
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档