当前位置: 首页 > article >正文

ArcGIS:如何进行建筑密度分析?

01 实验数据

dem5.img(建筑所在区域的高程数据)、居民地.shp数据;

02 实验要求

1)根据居民地.shp生成研究区域的建筑密度栅格图层,图层的范围和分辨率与dem5.img一致。统计建筑密度时按21*21矩形窗口大小统计。

2)依据区域DEM和求得的建筑密度,分析区域不同坡向和不同坡度对应的平均建筑密度。

3)坡向分成南坡和北坡进行分析,得到南坡和北坡的各自平均建筑密度。

4) 坡度按照0-5度;5-15度和>15度进行分析,分别得到各自的平均建筑密度.

03 实验思路

对于图层的范围和分辨率可以在模型的环境中设置,这里不再详细描述;

我们再来理解一下建筑密度。

假如我需要计算以下区域的建筑密度(黄色为建筑用地,灰色为无建筑区域),显然建筑像元数位4,总的像元数为9,那么建筑用地占比 为 4 / 9。如果该区域就是单位面积,那么建筑用地密度就是4 / 9,如果该区域不是单位面积,如果就是除以该区域的总面积数(9 * 像元分辨率的平方或许会更好)。但是本次实验止步于如何求取单位窗口(当前3 × 3窗口)下的建筑用地占比。

另外需要注意,我们求取每一个像元的建筑密度实际上是基于该像元为中心像元的窗口进行建筑占比的计算。

计算每一个像元的建筑占比需要使用到ArcGIS工具箱中 Spatial Analysis Tools——邻域分析——焦点统计;

但是在进行焦点统计之前,我们需要将建筑用地的像元全部赋值为1,不是建筑用地的像元全部赋值为0;

然而我们的建筑用地为矢量数据而非栅格数据,因此需要将矢量数据转化为栅格数据;

转后之后的栅格影像中,建筑用地的像元值为转化工具中所选择的字段值,非建筑用地的像元值为NoData值。因此我们需要对其进行栅格计算,建筑用地的像元全部赋值为1,不是建筑用地的像元(即NoData像元)全部赋值为0。

如此处理好的栅格数据,我们就可以使用焦点统计工具对其进行处理使得每一个像元值为建筑占比,如此得到建筑密度数据。

而对于南北坡和坡地分级,对它们分别进行平均建筑密度的计算,这个简单,首先对DEM数据进行坡度分析和坡向分析,然后对其进行重分类,最后分别进行分区统计即可计算出不同区域(例如南坡、北坡等区域)的平均建筑密度。

04 实验流程

加载数据略;

4.1 建筑用地矢量转栅格

4.2 栅格化的建筑用地二值化处理

4.3 对二值化的建筑用地进行焦点统计

4.4 对DEM进行坡度分析和坡向分析

生成坡向数据

生成坡度数据

对坡度和坡向数据进行重分类

4.5 分区统计求取各区域平均建筑密度

这里不一定使用分区统计,你使用以表格显示分区统计也是可以的,我觉得使用分区统计得到栅格图像可以更好的体现位置关系下的建筑密度;而你觉得得到的表格会更简洁明了,这很正常。

类似的,基于重分类的坡度数据进行建筑密度的均值运算;

最后再设置一下模型运行的环境(处理范围和输出分辨率):

最终构建好的模型如下所示:


http://www.kler.cn/a/2733.html

相关文章:

  • vue-codemirror定位光标位置并在光标处插入信息
  • 【Unity笔记】资源包导入后是洋红色(粉色)怎么办?
  • select下拉框,首次进入页面没有显示value的情况
  • Three.js 基础概念:构建3D世界的核心要素
  • 高等数学-----极限、函数、连续
  • 计算机网络与服务器
  • 动词语气(虚拟语气)
  • python实战应用讲解-【numpy科学计算】应用小技巧(一)(附python示例代码)
  • Python模块
  • Springboot+vue开发的图书借阅管理系统项目源码下载-P0029
  • Fuzzing101系列 Exercise 1 - Xpdf
  • 关于肺结节实时的目标检测
  • Nautilus Chain主网上线在即空投规则公布,如何获得更多的空投?
  • 大数据 | Hadoop集群搭建(完全分布式)
  • CVPR 2023|淘宝视频质量评价算法被顶会收录
  • Win10+Anconda安装.whl文件到指定环境——以pycocotools为例
  • 【Java闭关修炼】Spring-Spring原始注解开发
  • vue面试题(day06)
  • [图像识别]关于cv2库无法安装的故障问题解决,全网最全解决方案!本人亲身测试,参考了stackoverflow、51CTO等博客文章总结而成
  • 应用程序之间的集成,帮助企业提高效率
  • 让业务容器化更安全便捷,阿里云容器镜像服务 ACR 推出免费制品中心
  • [Netty源码] 各个组件介绍 (一)
  • libvirt零知识学习6 —— libvirt源码编译安装(4)
  • js调用gpt3.5
  • ViewService——一种保证客户端与服务端同步的方法
  • 超级实用,解密云原生监控技术,使用prometheus轻松搞定redis监控