基于GIS的建筑物天空开阔度SVF计算工具一键计算及计算实例经验分享

一、工具介绍

利用C#语言,基于ArcGIS二次开发实现了天空开阔度SVF一键计算,支持城市级范围分区计算,计算工具安装和使用简单,作为插件在ArcMap软件里运行,支持ArcGIS10.2及以上版本ArcMap。可根据需求,提供代计算服务,和定制开发服务**。

1、工具界面

在这里插入图片描述

2、计算结果示例

在这里插入图片描述

3、计算原理

天空开阔度是在两幢建筑之间从地面能看到天空的最大角度,表征了建筑高度与建筑间距的关系。
在这里插入图片描述

二、数据准备

1、研究范围

待研究范围,文件格式为GIS格式(shp或gdb格式),必须使用投影坐标。注意数据坐标系一定要采用投影坐标系,否则无法计算。
在这里插入图片描述

2、建筑数据

待计算范围建筑数据,文件格式为GIS格式(shp或gdb格式),必须使用投影坐标,属性包括建筑物高度注意数据坐标系一定要采用投影坐标系,否则无法计算。在这里插入图片描述

三、计算步骤

1、工具计算

打开SVF计算工具,首先选择工作空间(GDB),设置分辨率(默认20米),设置分区数目(可选1,4,9,16,25,36等,具体根据研究范围的大小进行)
选择研究范围和建筑数据,建筑高程属性字段,然后开始计算,如下图所示。
在这里插入图片描述

2、计算结果(马赛克)

计算完成后,自动生成SVF结果,以栅格图层的形式存储在设置的工作空间(GDB)内,并加载到地图窗口,图层名称为:SVF。默认图层为黑白配色,可以利用ArcMap设置显示颜色。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
好的,我了解了。计算城市建筑点云数据中每一个点的Sky view factor,需要先了解一些基本概念和方法。Sky view factor(SVF)是一个衡量点云数据中某个位置能够看到天空的比例。它是由建筑物和其他地面物体遮挡的比例所决定的。下面是利用MATLAB实现计算城市建筑点云数据中每一个点的Sky view factor的步骤: 1. 加载点云数据:使用MATLAB中的pointCloud函数可以方便地加载点云数据,例如: ``` ptCloud = pcread('city.ply'); ``` 其中,'city.ply'是点云数据的文件名,可以根据实际情况进行修改。 2. 计算法向量:使用MATLAB中的pcnormals函数可以计算点云数据中每一个点的法向量,例如: ``` normals = pcnormals(ptCloud); ``` 3. 计算Sky view factor:根据点云数据中每一个点的法向量,可以计算出该点的Sky view factor。具体方法是,对于每一个点,向其法向量方向发射射线,统计与天空相交的射线的数量,并计算出该点的Sky view factor。这个过程可以使用MATLAB中的pcviewshed函数实现,例如: ``` svf = pcviewshed(ptCloud,ptCloud.Location,'VerticalFOV',90,'HorizontalFOV',360,'SampleDensity',1000); ``` 其中,ptCloud.Location是点云数据中所有点的坐标,'VerticalFOV'和'HorizontalFOV'分别是垂直和水平方向上的视场角,'SampleDensity'是采样密度。函数返回的svf是一个与点云中所有点对应的Sky view factor值。可以通过svf的最大值和最小值来对点云数据进行可视化分析。 以上就是利用MATLAB语言编程计算城市建筑点云数据中每一个点的Sky view factor的步骤。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值