在R中叠加shapefile和rasterlayer?

时间:2014-06-04 18:39:02

标签: r overlay shapefile rasterize

我有一个栅格图层,其中包含来自墨西哥北部,加拿大和美国大陆的气候数据。我试图将气候数据仅限于美国大陆地区。要做到这一点,我认为导入美国大陆地图并用我的栅格数据覆盖它会很容易(当然这比我想象的要难得多)。到目前为止,使用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

我做错了什么?任何建议将不胜感激!!!!

0 个答案:

没有答案