這里的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
今日份歌曲推薦:
龍卷風—周傑倫