将 SpatialPolygonsDataFrame 从地理坐标投影到 UTM 时出错

Error in projecting SpatialPolygonsDataFrame from geographical coordinate to UTM

我想投影 2012 年秘鲁人口普查的坐标,以与具有以下坐标参考系统的另一个栅格图层一起使用:

"+proj=utm +zone=18 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ".

post https://gis.stackexchange.com/questions/31743/projecting-sp-objects-in-r 的答案对我来说不起作用。

crs(census)

CRS arguments: +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0

newCRScensus=CRS("+proj=utm +zone=18 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ") 
projcensus=spTransform(census,crs=newCRScensus)

Error in spTransform(census, crs = CRS("+proj=utm +zone=18 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ")) : second argument needs to be of class CRS

我不明白错误消息,因为第二个参数确实是 class CRS。

欢迎就其他地理坐标投影方法提出任何建议。

spTransform的第二个参数叫做CRSobj,不是crs,所以正确的调用应该是

projcensus=spTransform(census, newCRScensus)

projcensus=spTransform(census, CRSobj = newCRScensus)