其他
栅格数据分区统计转面板数据,单波段、多波段数据都可以找到合适的方法
栅格数据分区统计转面板数据,单波段、多波段数据都可以找到合适的方法
区域直方图Zonal Histogram
区域直方图(Zonal Histogram),统计每一个矢量区域内每种像元值对应的像元个数。
比较适合于土地覆被这种离散值的统计
统计结果:HISTO_对应像元值 每一列对应本像元值在所在行矢量范围内的像元数
可以很方便的绘制下面这种占比分布图:
QGIS中使用矢量裁剪、分区统计栅格操作时,经常出现下面的错误:几何无效
可以使用修复几何Fix Geometries工具来解决,使用修复后的矢量再进行栅格的裁剪操作。
分区统计Zonal Statistics
分区统计(Zonal Statistics)可以用于统计矢量区域范围内的像元值,对该区域内的所有像元进行统计,计算本区域像元的数量和(和上面的Zonal Histogram结果一样)、像元值的和、像元均值、中位数、标准差、最小值、最大值等等。
上面QGIS提供的矢量栅格分区计算方法,很方便,但是一次只能处理一个波段的数据,如果是对多波段的时间序列栅格数据如何方便的处理呢?我推荐使用R语言。
R语言分区统计
R语言也具有栅格分区统计的能力,而且可以同时对多个波段进行统计,可以很方便的处理时间序列数据。具体代码如下:
优势
可以计算多波段数据 R语言作为统计软件有更丰富的统计方法 统计结果可以使用 ggplot2
绘图
library(terra)
#分市统计NDVI
City = vect("./SHP/JJJ_Xian.shp")
NDVI = rast("./Pre/YearPreJJJ2001_2020.tif")
names(NDVI) = seq(2001, 2020, 1)
CityRaster = rasterize(City, NDVI, field="PAC")
NDVICity = zonal(NDVI, CityRaster, fun="mean", na.rm=TRUE)
write.csv(NDVICity, "./CSV/NDVICity.csv")
参考文献
栅格数据的一些概念和常用处理方法,ArcGIS栅格数据显示错误问题如何解决 QGIS和R语言栅格数据重分类 https://rspatial.github.io/terra/reference/terra-package.html
点击阅读原文查看课程学习