我想将不同的CRS(主要是WGS84纬度/经度)中的许多shapefile转换为通用投影(可能是Albers Equal Area Conic),但是一旦我的问题变好,我可能会寻求其他问题的帮助-定义)。
我花了几个月的时间在R中进行空间统计工作,但那是5年前了。对于我的一生,我不记得如何将一个sp
对象(例如SpatialPolygonsDataFrame
)从一种投影转换为另一种投影。
示例代码:
P4S.latlon <- CRS("+proj=longlat +datum=WGS84")
hrr.shp <- readShapePoly("HRR_Bdry"), verbose=TRUE, proj4string=P4S.latlon)
# Shapefile available at
# http://www.dartmouthatlas.org/downloads/geography/hrr_bdry.zip
# but you must rename all the filenames to have the same
# capitalization for it to work in R
现在,我有了一个SpatialPolygonsDataFrame
具有适当的投影信息,但是我想将其转换为所需的投影。我记得有一个不太直观的函数,但是我不记得它是什么。
请注意,我不仅要更改CRS,还希望更改坐标以匹配(“重新投影”,“变换”等)。
编辑
不包括在此shapefile中令人讨厌地放置在墨西哥的AK / HI:
library(taRifx.geo)
hrr.shp <-
subset(hrr.shp, !(grepl( "AK-" , hrr.shp@data$HRRCITY ) |
grepl( "HI-" , hrr.shp@data$HRRCITY )) )
proj4string(hrr.shp) <- P4S.latlon
此处有关使用proj4软件包进行投影的先前答案。尚未尝试使用SpatialPolygonsDataFrame进行此操作。
—
Simbamangu
实际上看起来proj4不适用于Spatial对象-但请参见下面的答案。
—
Simbamangu
总是有空间任务视图:cran.r-project.org/web/views/Spatial.html和我关于空间数据的注释[无耻插件]:maths.lancs.ac.uk/~rowlings/Teaching/UseR2012
—
Spacedman