本文由群友“高铭”撰写,step by step 教你如何计算城市绿地可达性。读完此文,可以轻松复现陈斌老师关于绿地暴露的文章。
表1 四种城市绿地可达性计算方法及其优缺点
方法 | 优点 | 缺点 |
缓冲区 | 操作最简单 | 考虑交通等影响因素最少 |
两步高斯法 | 准确度稍高 | 操作最繁琐、准确度一般 |
绿地加权模型 | 操作稍简单 | 土地利用数据分辨率要求高 |
路径规划 | 准确度最高 | 成本最高、且需要一点点编程基础 |
注:这四个方法都可以用于写论文,毕竟写论文对结果精度要求不高。第四种方法没有尝试过,第二种方法已经存在大量视频教程,因此未列出。目前城市绿地是城市研究的热门的方向,但是由于这个方向做的人多,想要发表高质量论文存在一定难度。
城市绿地可达性在城市绿地里面是较为冷门的研究,仅仅分析其空间格局与驱动因素,难以发表较好的论文。可以考虑将其与健康结合起来,不过在本人之前的研究中,发现两者相关性较低,比如城市绿地可达性与肥胖症人群之间的关联,如果仅仅在单个城市以内使用问卷调查的方法获取数据,得到的结论相关性低到离谱。
个人猜测:如果将空间尺度放大到全国,肥胖症与绿地可达性之间的关联性可能大大增强。毕竟城市越发展,建设用地越多、绿地越少,绿地可达性越低。同时城市越发展,经济水平越高,肥胖症的患病机率越大。如果真要做,记得选取城市时,避开山地城市。
此外,如果真想做绿地可以考虑下面两个:
一、城市绿地与碳汇,碳汇可以基于invest模型计算,在b站上有教程。
二、城市绿地与城市热岛,这个需要计算地表温度。
一 缓冲区方法
缓冲区方法是基于城市绿地数据。选择大于1公顷的绿地,向外做1km~5km的缓冲区,计算缓冲区内人口总数与整个城市的人口总数之比。
计算公式:
城市绿地可达性=绿地缓冲区内人口、城市总人口
1.加载30米土地利用数据
论文:
Jie Yang, & Xin Huang. (2021). The 30 m annual land cover datasets and its dynamics in China from 1990 to 2020 (1.0.0) [Data set].
数据来源:
Zenodo. https://doi.org/10.5281/zenodo.5210928
2.提取绿地数据
【工具箱\系统工具箱\spatial analyst tools.tbx\提取分析\按属性提取】
语句:"Value" =2 OR"Value" =3 OR"Value" =4 OR"Value" =9
3.将栅格数据转化为矢量数据
【工具箱\系统工具箱\conversion tools.tbx(转换工具)\由栅格转出\栅格转面】
取消勾选【简化面】
4.打开矢量数据,右击打开属性表,在【gridcode】字段右击(或者自己新建一个),选择【计算几何】。
注意:数据框坐标系选择等面积投影,面积单位为——平方米。
5.选择面积大于1公顷(10000平方米,0.01平方千米的)绿地,在属性表左上角图标处单击选择【按属性选择】。
选择成功后如图所示。
6.基于绿地数据做缓冲区
选择缓冲区工具【工具箱\系统工具箱\analysis tools.tbx(分析工具)\邻域分析\缓冲区】,线性距离为2500(此时投影为等距投影更好,但影响不大)。
完成后:
7.计算缓冲区内人口与城市总人口
【工具箱\系统工具箱\spatial analyst tools.tbx\区域分析\以表格显示分区统计】
在【SUM】字段上右击【统计】得出结果
绿地缓冲区内人口密度为2028945.986595。
而总人口密度为5540866.554623,总人口密度计算参考绿地缓冲区内人口密度计算,【输入栅格数据或要素区域数据】选择整个城市的shp图。
8.结果
绿地可达性=绿地缓冲区内人口密度/总人口密度=2028945.986595/5540866.554623=0.366178461
二 两步高斯法
两步高斯法,此处建议直接看环哥视频,他有视频教程。同时b站存在其他视频教程。
三 绿地加权暴露模型(基于人口数据的绿地加权模型)
绿地加权暴露模式,需要较高分辨率的土地利用数,在分辨率为30米的土地利用栅格数据上难以使用本方法。
论文链接及其参考公式:
参考公式如下:
其中:Pi为第 i个网格的人口,Gib表示在不同缓冲区大小下第i个网格的绿地覆盖率。N 表示特定范围内的网格总数。注意,本方法可以使用渔网做缓冲区(100,500,1000,1500)米,之后方法与不做缓冲区时一致,本操作演示了不做缓冲区的情况。
论文链接:
www.sciencedirect.com/science/article/pii/S0160412022002756#s0010
1.加载1米土地利用数据
下载地址 https://zenodo.org/records/7707462
2.创建高、宽为100米的渔网{Export_Output}
【工具箱\系统工具箱\data management tools.tbx\采样\创建渔网】
3.加载100米分辨率人口数据
下载地址:https://www.worldpop.org/
4.使用 按属性提取,提取土地利用数据中的绿地数据
【工具箱\系统工具箱\spatial analyst tools.tbx\提取分析\按属性提取】
公式:"Value" =2 OR"Value" =3 OR"Value" =4 OR"Value" =10
标注:"Value" =10对应的土地覆盖类型为湿地,部分论文计算绿地时,不包括湿地。
5.统计渔网中各个单元格的绿地面积与人口数量,区域字段必须选择与之后操作相同的字段,本操作中为【FID】
【工具箱\系统工具箱\spatial analyst tools.tbx\区域分析\以表格显示分区统计】
6.在渔网{Export_Output}图层上右击,点击【连接与关联】,基于【FID】字段连接。
7.将结果表加载到arcmap中,打开表:链接pop(人口数据对应的表)表使用【mean】字段,landuse(土地利用对应的表)使用【count】字段。
8.在渔网{Export_Output}图层上右击【打开属性表】,在属性表左上角标志处单击,在下拉框处选择【添加字段】,添加【p_m】【g_c】字段,字段类型为【双精度】。
9.在【p_m】字段上右击选择【字段计算器】,在左边列表选择【pop:MEAN】(注意【p_m】前缀有Export_Output:)
10.在【g_c】字段上右击选择【字段计算器】,在左边列表选择【green:COUNT】(注意【g_c】前缀有Export_Output:)
完成之后在渔网{Export_Output}图层上右击,点击【连接与关联】中【移除链接】,移除所有链接。
11.在渔网{Export_Output}图层上右击【打开属性表】,在属性表左上角标志处单击,在下拉框处选择【添加字段】,添加【grc】、【gra】字段,字段类型为【双精度】。
12.在【grc】字段上右击,打开【栅格计算器】,计算公式为[g_c]/10000。
13.在【p_mean】字段上右击【统计】,得到人口(此处为人口密度,但由于分子分母同时存在人口密度,因此约掉了)总和为17268.901455。
14.在【gra】字段右击,打开【栅格计算器】,计算公式为[p_mean]*[grc]。在【gra】字段上右击【统计】,得到总和为1520.794667。
15.结果如下:
绿地可达性=单元格人口*单元格绿地覆盖率/总人口=1520.794667/17268.0901456=0.08807。
四 路径规划方法
目前计算城市绿地可达性计算的所有方法中,基于高德地图(腾讯地图)提供的api,计算城市绿地可达性准确度最高。但是由于城市绿地可达性计算需要大量调用api,因此高德提供的免费配额难以支撑起计算城市绿地可达性所需的工作量(主要是我买不起付费配额)。
网页端界面
Web服务api界面
五 实验数据及实验结果
点击阅读原文获取实验数据访问链接。