我正在尝试使用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有。但是,数据插槽用于平面表,每行都有一些数据,每行都是一个点。我没有得到的是,我显然没有每一个点的数据:这就是我首先要从栅格中恢复的内容!所以很明显,我在做错事,但是我看不到什么。
如果anoybody知道我在做什么错,那将有很大帮助!