如何从 Landsat 图像中提取值并绘制 R 中不同材料的光谱分布图

How to extract values from the Landsat image and plot the spectral profiles of the different materials in R

我有一个区域的 shapefile,我想获取该区域不同材料(例如水、道路或植被)的光谱分布。看起来像这样的东西?

最好的方法是什么?

我已经在 r 中加载了 shapefile,但不确定如何从 Landsat 栅格堆栈中提取值。

```{r}
landsat<-stack(B1, B2, B3, B4, B5, B6, B7)
roi <- readOGR("roi.shp")
shapes
```

提前致谢

使用下面的代码

df = raster::extract(landsat,     # raster layer
    roi,                       #shapefile
    fun=mean,         # what value to extract
    df=TRUE)          # return a dataframe

您的栅格对象和 roi 应该具有相同的坐标系。