如何在R中更改投影并将shapefile转换为rasterstack?

时间:2015-10-13 03:17:58

标签: r projection raster

我有一个来自同事的地图shapefile,我也得到了一些观测数据,其坐标记录在WGS84中。我在R:

中读取了shapefile
# read shapefile
> shpmap <- readOGR(dsn = "soil_type", layer = "soil_type_data")
OGR data source with driver: ESRI Shapefile 
Source: "soil_type", layer: "soil_type_data"
with 18542 features
It has 8 fields

# show shapefile attributes
> shpmap
class       : SpatialPolygonsDataFrame 
features    : 18542 
extent      : 44795.53, 1572888, 3187943, 4661428  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=aea +lat_1=25 +lat_2=47 +lat_0=0 +lon_0=105 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs

在我读完shapefile之后,我发现它使用的是krassovsky ellps。现在我想做两件事。首先,更改shapefile的投影以匹配我的观察结果WGS84。其次,shapefile包含几个土壤属性,我想将它们转换为rasterstack对象。

我是处理R中的GIS文件的新手,我真的很困惑。我很感激任何建议!提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用spTransform更改crs。

library(rgdal)
g <- spTransform(shpmap, CRS("+proj=longlat +datum=WGS84"))

您可以使用rasterize(光栅包)创建RasterBrick(堆栈)