我有一个栅格图层,其中包含来自墨西哥北部,加拿大和美国大陆的气候数据。我试图将气候数据仅限于美国大陆地区。要做到这一点,我认为导入美国大陆地图并用我的栅格数据覆盖它会很容易(当然这比我想象的要难得多)。到目前为止,使用rgdal
库,我已经设法导入一个shapefile,包括美国大陆地图和州分部。现在我想将其转换为栅格图层,以便最终可以使用我的初始气候栅格图层覆盖它。这是我正在使用的代码:
setwd ("C:/Climate_data/USA map")
ogrInfo(".", "USA_mainland_states")
usa_state = readOGR(dsn=".", layer="USA_mainland_states")
##Convert to Raster
r_usa_state <- raster()
extent(r_usa_state) <- extent(usa_state)
rasterize(usa_state,r_usa_state, fun='last')
overlay (r_usa_state, sms_av, fun='mask')
但是,现在我收到以下错误:
Error in .readCells(x, cells, 1) : no data on disk or in memory
sms_av
是气候光栅(103936个元素,823.3 kb)。
另外,当我这样做时:
hasValues(r_usa_state)
我明白了:
FALSE
我做错了什么?任何建议将不胜感激!!!!