ArcMap进行天空开阔度(SVF)分析
这里的SVF并不是生物学或医学的(Stromal Vascular Fraction),而是指GIS中的(Sky View Factor,SVF),即为(城市)天空开阔度。
城市天空开阔度(Sky View Factor,SVF)是重要的城市形态学参数,那今天博主就跟大家讲一下如何用ArcMap来计算天空开阔度。
1、加载数据
需要加载的数据包括buildings(带有高度信息的建筑数据),area(范围数据),用ArcMap进行添加。如图:
buildings数据显示
area数据显示
2、裁剪
(1)将buildings及area进行备份,存为buildings2、area2,打开编辑器,【开始编辑】,选中所有建筑,【合并】。
(2)用 【编辑器】中的【裁剪】工具进行裁剪。
裁剪参数设置
裁剪结果图
3、合并
设置环境,用ArcToolbox中的【合并】工具,对裁剪后的图层与建筑图层(buildings)进行合并。
环境设置参数
合并参数设置
4、面转栅格
面转栅格参数设置
面转栅格结果图
5、栅格转点
栅格转点参数设置
栅格转点,并对多余部分进行删除。
栅格转点结果图
6、建立缓冲区(推荐使用方法二)
方法一:
缓冲区参数设置
缓冲区结果局部图
属性表
此时我们可以看到属性表中只有40个要素,原因是grid_code(即为中心点高程数据)相同的为同一要素,需要将多部件转为单部件
(1)【编辑器】【开始编辑】选中所有要素(center_buffer中)。
(2)【高级编辑】【拆分多部件要素】。
(3)【添加字段】,“CID”,作为圆的唯一标识
方法二:
缓冲区分析参数设置
属性表
此时pointid作为标识字段,grid_code仍为2中心点高程
让让你们康康全图吧,但愿没有密集综合征
7、相交
相交参数设置
相交结果(部分)
8、计算SVF
接下来的操作均为表格操作,要熟练使用栅格计算器,若忘记SVF公式,可看文章开头。
(1)【添加字段】,“SinA”
高差h=([Height]- [grid_code]),
半径r=10m
(2)【字段计算器】,输入公式:“ ([Height]- [grid_code]) / Sqr ( ([Height]- [grid_code]) *([Height]- [grid_code]) +100 )”
字段计算器参数设置
(3)筛选SinA值为负数,归零
一些小伙伴也能要问了,为何会出现负值?原因是相交就很难避免一些高的建筑与低的建筑在同一个圆中,而他的圆心又恰好在高的建筑上,自然就出现的SinA值为负的情况,而SVF为天空开阔度,要计算的自然是高于中心点的角,SinA应为非负,为减小影响,要进行归零处理。(还有一种方法是直接删除,而且此方法更合理,但本例中会出现些许问题)
(当然,如果你只计算地面的天空开阔度就不会有这种烦恼了)
(4)清除所选要素
(5)汇总
计算sinA平均值
(6)计算SVF
center图层,【添加字段】
右键,【连接】,【连接数据】
连接数据参数设置
【字段计算器】,输入公式“1- [averageSinA.Ave_SinA]”,移除所有连接。
字段计算器参数设置
9、点转栅格
点转栅格参数设置
天空开阔度(SVF)结果图
颜色越红,表示天空开阔度越差;颜色越蓝表示天空开阔度越好。
附页:
如果针对地面通风等进行研究,可将5m高度以上建筑,svf设为1,作为成本栅格
具体操作如下:
(1)按属性选择
按属性选择参数设置
(2)按位置选择
按位置选择参数设置
按位置选择结果图
(3)切换选择
【打开属性表】【切换选择】
切换选择结果图
(4)点转栅格
点转栅格参数设置
SVF结果图
知识点补充:
SVM
今日份歌曲推荐:
龙卷风—周杰伦
ArcMap进行天空开阔度(SVF)分析的更多相关文章
- ArcMap中用VBA读度矢量图层信息
ArcMap下用VBA操作图层基本的过程了. Private Sub UIButtonControl1_Click() Dim pApp As IApplication Set pApp = Appl ...
- openresty+lua+kafka方案与Tomcat接口并发度对比分析
1.openresty+lua+kafka 1.1 openresty+lua+kafka方案 之前的项目基于nginx反向代理后转发到Tomcat的API接口进行业务处理,然后将json数据打入ka ...
- ArcMap操作随记(14)
1.ArcMap中模型转为Python脚本 [模型]→右键→[编辑]→[模型]→[导出]→[至Python脚本] 2.一般来说,植被指数NDVI,-1<=NDVI<=1. 3.用lands ...
- python 用gensim进行文本相似度分析
http://blog.csdn.net/chencheng126/article/details/50070021 参考于这个博主的博文. 原理 1.文本相似度计算的需求始于搜索引擎. 搜索引擎需要 ...
- 《数据结构与算法之美》 <01>复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间.所以,执行效率是算法一个非常重要的考量指标. 那如何来衡量你编写的算法代码的执行效率呢?这里 ...
- R语言和数据分析十大:购物篮分析
提到数据挖掘,我们的第一个反应是之前的啤酒和尿布的故事听说过,这个故事是一个典型的数据挖掘关联规则.篮分析的传统线性回归之间的主要差别的差别,对于离散数据的相关性分析: 常见的关联规则: 关联规则:牛 ...
- ExtJs在disabled和readOnly美学分析
ExtJs中disabled和readOnly美观度的分析 ExtJs中.假设设置输入框为仅仅读属性,一般第一考虑的都是readonly=true 它的效果和正常输入框一样,可是不同意输入: 然而,它 ...
- ArcGIS 网络分析[2] 在ArcMap中使用网络数据集进行五大网络分析[最短路径/服务区/最近设施点/OD成本矩阵/车辆分配]
上一章花了大篇幅介绍网络数据集的创建,也简单说了下点线的连通性问题. 那么可以试试刀锋不锋利啦! 网络分析呢,ArcGIS提供了5个基本分析类型: 最短路径求解 服务区(服务覆盖范围) 事故突发地的最 ...
- 多项式求导系列——OO Unit1分析和总结
一.摘要 本文是BUAA OO课程Unit1在课程讲授.三次作业完成.自测和互测时发现的问题,以及倾听别人的思路分享所引起个人的一些思考的总结性博客.本文第二部分介绍三次作业的设计思路,主要以类图的形 ...
随机推荐
- 连接docker里面的mysql失败解决
场景:在虚拟机的docker容器中安装latest版本的mysql之后,在宿主机中使用navicat连接虚拟机中的mysql出现下图报错: 解决方法: 1.首先docker ps命令查看正在运行的容器 ...
- php函数(parse_str()
parse_str()函数 把查询字符串解析到变量中 parse_str(string, array); string 规定要解析的字符串 array 存储变量的数组名称 例子: <?php p ...
- HDOJ acm steps 3.1.1
(都是递推求值,呵呵,好开心- - ) 今天又是在自习室通宵(文明玩的停不下来了) 游戏玩完想想该水题了,于是打开了HDOJ的ACM STEPS(这是个好东西,就像他的名字,一步步来的) 2.3.x貌 ...
- 如何通过opensea-js获取OpenSea的数据
OpenSea作为NFT最大的交易平台,随着NFT的火热之后,热度也是出现翻天覆地的变化.作为开发人员肯定好奇有没有可以与opensea交互的包来开发相关的工具或者快速获取opensea的数据.别急, ...
- 北京太速科技-第六代Intel i7四核八线程6U VPX主控板
一.产品概述 该产品是一款基于第六代Intel i7四核八线程的高性能6U VPX刀片式计算机.产品提供了可支持全网状交换的高速数据通道,其中P1,P2各支持4个PCIe x4 Gen3总线接口,P3 ...
- tomcat的基本使用及项目部署
tomcat介绍 我们在学习Javaweb的时候,最普遍使用的服务器j就是阿帕奇的tomcat,主要是用来处理jsp和servlet的请求以及响应 tomcat的启动和关闭 在我们安装完tomcat后 ...
- python 2048游戏控制器
2048游戏控制器 1 evaluate 要用程序来处理就得对现实的问题进行量化,用数字来表示.在2048游戏中,我们的输入是一个棋局,让我们输出一个移动方向,这样我们需要对棋局进行量化,即我们要评估 ...
- Session、Session共享、Token演变
巨人的肩膀 深夜,我偷听到程序员要对session下手-- (qq.com)
- 注意!你的 Navicat 可能被下毒了...
大家早上好,我是程序猿DD! 刚刚看到一份来自微步在线发布的威胁情报通报,其中提到了被我们广泛应用的数据库管理工具Navicat Premium被投毒消息!如果你有用过相关版本的话,可能当前正处于数据 ...
- shell批量监控网站状态码
shell批量监控网站状态码脚本,使用curl很慢.等我学完其他方式,在来更新. #!/bin/bash #GuoYabin yuming=`/bin/cat yuming.txt` for i in ...