【GIS教程】ArcGIS做日照分析(附练习数据下载)

 我国对住宅日照标准的规定是:冬至日住宅底层日照不少于1小时或大寒日住宅层日照不少于2小时(通常以当地冬至日正午12时的太阳高度角作为依据)。因冬至日太阳高度角最低,照射范围最小,如果冬至日12:00建筑物底层能够接收到阳光,那么一年中其他天数就能接收到更多的太阳辐射。

        随着数字城市的建设,在大量的城市建筑数据支持下,应用GIS空间分析方法可以找出不符合建筑日照规范的建筑,为城市规划与设计提供有效的方法依据。

        小编通过12:00的日照情况来模拟该时刻的建筑物产生的阴影范围,如果在这时刻建筑物都没有被遮挡,则建筑间距满足日照要求,最后通过分析阴影与建筑物的空间叠加关系可以找出不符合日照标准的建筑物。

        我们用到的数据只有建筑物高度的矢量数据“Build”和小区数据“Community”,并且当地12:00太阳高度角为34.75197°。具体怎么求这个建筑物的日照阴影,看小编画的技术流程图啦!

图片

1.矢量转栅格

在Arcmap中处理阴影都是在栅格数据的基础上进行的,为此我们要把这个矢量数据转换成栅格数据。使用【转换工具】|【转为栅格】|【面转栅格】,【输出栅格】设置为“BuildR”。

图片

2.栅格重分类

现在要对刚才处理出来的栅格进行重分类,把旧值为“NoData”的像元值改成新值“0”,其他的不变。有的小伙伴可能不明白为什么要做这一步。在解释这个问题之前小编先说一下坡向计算的原理。

坡度计算是使用邻域分析,有多种计算方法,但是都涉及到模板,就是说计算某一个栅格的坡向,至少需要知道X轴和Y轴4个方向相邻像元的高程值。那么这里的建筑物边缘在后面的操作中也要计算坡向,但是边缘外面的值是“NoData”,这样无法计算建筑物的边缘,所以为了后续的坡向计算需要将“NoData”的像元值设置为0。

选择【Spatial Analyst 工具】|【重分类】|【重分类】工具,【输入栅格】选择“BuildR”,【值字段】选择“Value”,【输出栅格】设置为“reclass1”,如下图所示:

图片

图片

3.计算坡向

选择【Spatial Analyst工具】|【表面分析】|【坡向】工具,【输入栅格】选择“reclass1”,【输出栅格】设置为“aspect”,根据需要,设置其他参数,点击【确定】,生成坡向数据“aspect”,如下图所示:

图片

可以发现坡向都是在建筑物边缘,因为只有在边缘才有高度落差,才能形成坡向,其他同一水平面高度无法形成坡向。

4.提取建筑物的背光面轮廓

本次计算在12:00时刻太阳方位角在180°时建筑物的背光面轮廓,此时建筑物阴影应该是在0°—90°和270°—360°。

打开【Spatial Analyst 工具】|【地图代数】|【栅格计算器】,输入一个判断语句:

(("Aspect2">=0)&("Aspect2"<=90))|(("Aspect2">=270)&("Aspect2"<=360))

得到建筑物背光面轮廓“back12”,图中蓝色为轮廓,值为1。

图片

5.提取建筑物背光面的高度数据

由于栅格数据只能表示一种属性,而后面山体阴影分析需要的是高程数据,为此我们需要计算背光面的高度。已知前面的数据“reclass1”是表示高度的,而“back12”中背光面像元值为1,因此我们只要将两个相同位置的像元相乘即可的得到背光面像元的高度值。

打开【Spatial Analyst 工具】|【地图代数】|【栅格计算器】,输入:“reclass1”*“back12”,设置【输出栅格】为“DEM12”,这时候的背光面轮廓都有了高度属性。

图片

6.计算建筑物的阴影

我们要根据当地时间12:00太阳的方位角和高度角,以及背光面的高度计算建筑物的阴影。

打开【Spatial Analyst Tools】|【表面分析】|【山体阴影】工具,【输入栅格】选择“DEM12”,方位角:180(北半球当地时间12:00太阳方位角都是180°啦),高度:34.75197,选中【模拟阴影】,如果不选中的话就没有阴影出来,只有物体本身的阴阳面出现,【输出栅格】设置为“Shade12”,如下图所示:

图片

我们在结果图层的基础上叠加上建筑物的蓝色轮廓,我们可以发现有些建筑物轮廓里面有黑色的阴影,可以肯定该建筑物底层在12:00一定是无法接收到太阳照射的,不满足日照规范。

图片

在这里有的小伙伴就会想,为什么我不可以直接在“reclass1”这个建筑物高度数据上面做【山体阴影】?小编曾经也有这个疑惑,于是乎照着操作了一遍,得到的结果如下图所示:

图片

有什么不一样吗?眼尖的小伙伴一眼就识破。绝大多数的建筑物没有被阴影遮挡,这个是很正常的对吧?因为一部分的建筑物阴影会被后面楼层的向光面覆盖掉,而我们看到的图像是上帝视角,所以就觉得阴影缺失了一部分,只有极少部分由于建筑物太高,产生的阴影才可能会覆盖到后面建筑物的楼顶。

如下图所示:

图片

(小部分阴影会覆盖到其他建筑物屋顶)

图片

(大部分阴影被建筑物向光面遮挡)

由于图像显示的是上帝视角,垂直往下看的,这样看到的阴影没有覆盖住其他建筑物,就不好判断该建筑物是否被其他建筑物的阴影覆盖,是否符合日照标准。

由于阴影都是由建筑物的背光面遮挡太阳光线产生的,因此只要我们使用背光面来创建阴影即可,这样做有什么作用吗?有!这样背光面产生的阴影就不会因为有向光面而被残忍覆盖了,阴影就可以直接覆盖到建筑物的底层,叠加上建筑物就可以很容易判断其是否满足日照标准啦,如下图所示:

图片

7.判断阴影和建筑物的覆盖关系

此时我们需要将阴影栅格转换成矢量格式,在“Shade12”中,像元值为0的就是阴影,所以我们在属性表里面选中值为0的栅格,使用【转换工具】|【由栅格转出】|【栅格转面】,【输入数据】设置为“Shade12”,【字段】选择“Value”,选中简化面,输出文件名为“Mshade”,结果图层如下所示:

图片

接下来我们要查询不符合日照标准的建筑物了。选择菜单栏里面的选择选项卡,在下拉选项卡中点击【按位置选择】工具,选择方法设置为“从以下图层中选择要素”,目标图层勾选为建筑物矢量数据“Build”,源图层选择“Mshade”,空间选择方法为“目标图层要素的质心在源图层要素内”,为什么选择这个呢?因为根据这两个图层的空间关系来看,建筑物矢量数据都和它的阴影相交。

有的小伙伴又会问,为什么都相交?不应该是阴影和建筑物边界相邻吗?我第一感觉也是这样的,但是我看到建筑物的栅格数据“BuildR”时,发现矢量边界线一部分和建筑物边界外面的像元相交了,这说明阴影计算的结果阴影栅格中一定会有和建筑物边界线相交的像元,如下图所示:

图片

(黄色为建筑物栅格,蓝色线是建筑物矢量边框)

图片

(黑色为阴影栅格,蓝色线是建筑物矢量边框)

综上所述,只能选择建筑物的质心是否在阴影上面来判断其是否是不符合日照标准的建筑物咯,最后点击确定。

这时候我们可以看到“Build”中有一部分建筑物高亮显示,我们把选中的建筑物右键导出来,然后叠加到建筑物数据“Build”和小区上面进行符号化,最终结果如下图所示:

图片

如果有小伙伴准备买房的哈,对采光条件比较有要求的,可以自己做一个这样的日照分析,拿着这个图去挑房绝对不会吃亏哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/561140.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

探索边缘计算:技术的新疆界

探索边缘计算&#xff1a;技术的新疆界 在当今迅速发展的数字化时代&#xff0c;云计算作为数据处理的主力军已广泛应用。但是&#xff0c;随着物联网&#xff08;IoT&#xff09;设备的急剧增加和数据生成速率的加快&#xff0c;云计算面临着种种挑战。边缘计算因此诞生&…

python爬虫-----深入了解 requests 库下篇(第二十五天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

[阅读笔记15][Orca]Progressive Learning from Complex Explanation Traces of GPT-4

接下来是微软的Orca这篇论文&#xff0c;23年6月挂到了arxiv上。 目前利用大模型输出来训练小模型的研究都是在模仿&#xff0c;它们倾向于学习大模型的风格而不是它们的推理过程&#xff0c;这导致这些小模型的质量不高。Orca是一个有13B参数的小模型&#xff0c;它可以学习到…

从零自制docker-11-【pivotRoot切换实现文件系统隔离】

文章目录 busyboxdocker run -d busybox topcontainerId(docker ps --filter "ancestorbusybox:latest"|grep -v IMAGE|awk {print $1})docker export -o busybox.tar $containerId or sudo docker export 09bbf421d93f > ./busybox.tar tar -xvf busybox.tar -C …

修复vite中使用react提示Fast refresh only works when a file only exports components.

前言 我通过 vite 构建了一个 react 应用并使用 react.lazy 来懒加载组件&#xff0c;但是在使用过程中 一直提示 Fast refresh only works when a file only exports components. Move your component(s) to a separate file.eslint(react-refresh/only-export-components)。…

编译OpenWRT固件

前言 编译环境&#xff0c;我是使用Ubuntu16.04.07 LTS 64位版 1.安装Ubuntu16.04.07 LTS 64 作者写这篇文章的时候lede源码使用debian11编译&#xff0c;对于的就是Ubuntu 20&#xff0c;至于为什么要安装ub16是因为最开始我不清楚要使用ub20安装&#xff0c;用ub16安装的时…

CCF-CSP真题《202312-2 因子化简》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看&#xff1a;CCF-CSP真题附题解大全 试题编号&#xff1a;202312-2试题名称&#xff1a;因子化简时间限制&#xff1a;2.0s内存限制&#xff1a;512.0MB问题描述&#xff1a; 题目背景 质数&#xff08;又称“素数”&#xff09;是指…

RAG部署 | 使用TensorRT-LLM在Windows上部署检索增强生成聊天机器人RAG

项目应用场景 面向 Windows 平台部署 RAG 检索增强生成聊天机器人场景&#xff0c;项目采用 TensorRT-LLM 进行 GPU 加速推理&#xff0c;注意项目需要 RT4090 及以上的英伟达显卡支持。 项目效果 项目细节 > 具体参见项目 README.md (1) 下载构建好的 Llama2 TensorRT 模型…

Web开发:ASP.NET CORE的前端demo(纯前端)

目录 一、建立项目 二、删除无用文件 三、样式添加 四、写一个登录页面 五、登录主界面 一、建立项目 二、删除无用文件 三、样式添加 将你的图片资源添加在wwwroot下方&#xff0c;例如pics/logo.png 四、写一个登录页面 将Privacy.cshtml改为 Forget.cshtml &#xff0…

AJAX——图书管理案例

1.渲染列表 自己的图书数据&#xff1a;给自己起个外号&#xff0c;并告诉服务器&#xff0c;默认会有三本书&#xff0c;基于这三本书做数据的增删改查。 // 目标1&#xff1a;渲染图书列表 // 1.1 获取数据 // 1.2 渲染数据const creator 哈哈 // 封装-获取并渲染图书列表函…

设计模式学习笔记 - 开源实战三(中):剖析Google Guava中用到的设计模式

概述 上篇文章&#xff0c;我通过 Google Guava 这样一个优秀的开源类库&#xff0c;讲解了如何在业务开发中&#xff0c;发现跟业务无关、可以复用的通用功能模块&#xff0c;并将它们抽离出来&#xff0c;设计成独立的类库、框架或功能组件。 本章再来学习下&#xff0c;Go…

[Linux][进程信号][二][信号如何被保存][信号处理][可重入函数]详细解读

目录 1.信号如何被保存&#xff1f;1.信号其他相关常见概念2.信号在内核中的表示3.sigset_t -- 本质是个位图4.信号集操作函数sigset_t&#xff1a;sigprocmask()sigpending() 5.思考6.使用 2.信号处理0.内核态和用户态1.内核空间和用户空间2.信号何时被处理&#xff1f;3.信号…

PSA Group EDI 需求分析

PSA集团&#xff08;以下简称PSA&#xff09;中文名为标致雪铁龙集团&#xff0c;是一家法国私营汽车制造公司&#xff0c;致力于为全球消费者提供独具特色的汽车体验和自由愉悦的出行方案&#xff0c;旗下拥有标致、雪铁龙、DS、欧宝、沃克斯豪尔五大汽车品牌。 汽车制造企业对…

JavaWeb--前端--02JavaScript

JavaScript 1 JavaScript介绍2 引入方式3 基础语法3.1 书写语法3.2 变量3.3 数据类型和运算符 4 JS的函数4.1函数的第一种定义4.2 函数的第二中定义 5 JavaScript对象5.1 基本对象5.1.1 Array对象5.1.2 String对象5.1.3 Json对象 5.2 BOM5.2.1 BOM对象5.2.1 Windows对象5.2.2 L…

c++补充

构造函数、析构函数 #include <iostream> using namespace std;// 构造函数、析构函数 // --- "构造函数"类比生活中的"出厂设置" --- // --- "析构函数"类比生活中的"销毁设置" --- // 如果我们不写这两种函数&#xff0c;编译…

定制k8s域名解析------CoreDns配置实验

定制k8s域名解析------CoreDns配置实验 1. 需求 k8s集群内通过CoreDns互相解析service名. 同时pana.cn域为外部dns解析,需要通过指定dns服务器进行解析 再有3个服务器,需要使用A记录进行解析 2. K8s外DNS服务器 查看解析文件 tail -3 /var/named/pana.cn.zone 解析内容 ww…

STM32G431RBT6之时钟树配置与生成工程

默认大家都下载了蓝桥杯嵌入式资源包了哈. 首先,打开cubumx,修改RCC与SYS. 打开并观察原理图,发现晶振是24Mhz. 第一步,打开Clock Configuration. 第二步,修改晶振为原理图相对应的24Mhz. 第三步,切换到HSE. 第四步,切换到PLLCLK. 第五步,设置HCLK为80Mhz(15届真题要求为8…

【信号处理】基于EEG脑电信号的自闭症预测典型方法实现

理论 自闭者主要受到遗传和环境因素的共同影响。由于自闭症是一种谱系障碍&#xff0c;因此每个自闭症患者都有独特的优势和挑战。自闭症患者学习、思考和解决问题的方式可以是高技能的&#xff0c;也可以是严峻的挑战。研究表明&#xff0c;高质量的早期干预可以改善学习、沟…

Java web应用性能分析之【MySQL安装注意事项】

本文主要是针对以前LAMP&#xff0c;以及默认用apt安装的mysql。数据文件、日志文件都在一起&#xff1b;innodb_buffer_pool默认用128M。如果你排查问题&#xff0c;最后发现是因为mysql的安装配置不对&#xff0c;是否一口老血要喷出来。同时给MySQL数据库安装做参考。 关于M…

ZYNQ NVME高速存储之EXT4文件系统

前面文章分析了高速存储的各种方案&#xff0c;目前主流的三种存储方案是&#xff0c;pcie switch高速存储方案&#xff0c;zynq高速存储方案&#xff0c;fpga高速存储方案。虽然三种高速存储方案都可以实现高速存储&#xff0c;但是fpga高速存储方案是最烂的&#xff0c;fpga…