我正在尝试使用 MODIStsp 包下载 MODIS 数据并将其转换为可用格式(R 表)以进行统计分析。我下载了数据,并在我的 R 会话中加载了虚拟光栅文件:
library(sp)
library(MODIStsp)
# loading virtual file
virtual_file = "C:/Users/hp-8570w/Desktop/internship/MODIS_data/output/Surf_Temp_Daily_1Km_v6/Time_Series/RData/Terra/LST_Day_1km/MOD11A1.RData"
data = get(load(virtual_file))
现在我正在尝试在某些特定点提取数据。为此,我将一组点(纬度和经度)存储在具有 2 列的数据框中。我创建了一个 SpatialPoints 对象:
points = read.csv('points.csv',sep = " ")
projection = CRS('+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181+b=6371007.181 +units=m +no_defs')
spatial_points = SpatialPoints(points, proj4string = projection)
我想使用 MODIStsp_extract() 函数:
test_extract = MODIStsp_extract(data,spatial_points)
我收到以下错误消息:
Error in MODIStsp_extract(raster_ts, spatial_points) :
no slot of name "data" for this object of class "SpatialPoints"
如文档所示(https://www.rdocumentation.org/packages/sp/versions/1.3-1/topics/SpatialPoints),SpatialPoints对象没有“数据”字段,但 SpatialPointsDataFrame 有。但是,数据槽适用于平面表,每行都有一些数据,每行都是一个点。我没有得到的是,我显然没有每个点的数据:这就是我首先要从栅格中恢复的数据!所以很明显我做错了什么,但我看不出是什么。
如果有人知道我做错了什么,那将有很大帮助!