我已经阅读了 R 中的 lodgepole 松种子规划单位的 shapefile readShapePoly
,就像这样
spu <- readShapePoly("spus.shp")
当我单独绘制 spus 时,它们就会出现。
plot(spu, border=TRUE)
当我尝试将 shapefile 添加到我知道 spus 应该去的加拿大地图时,它们没有出现。
map("worldHires","Canada", xlim=c(-141,-110), ylim=c(45,65), col="gray90", fill=TRUE)
plot(spu, add=TRUE, border=TRUE)
我认为这是因为 shapefile 缺少 .prj 文件中包含的投影信息:
PROJCS["NAD_1983_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],
PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",1000000.0],
PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-126.0],PARAMETER["Standard_Parallel_1",50.0],
PARAMETER["Standard_Parallel_2",58.5],PARAMETER["Latitude_Of_Origin",45.0],UNIT["Meter",1.0]]
的部分输出
summary(spu)
Object of class SpatialPolygonsDataFrame
Coordinates:
min max
x 642162.8 1870556
y 457057.2 1421478
Is projected: NA
proj4string : [NA]
Data attributes:
表明没有投影信息与 R 中的 spu 对象相关联。我想我可以通过使用正确proj4string
的 with来解决这个问题,readShapePoly,
但找不到如何将 .prj 文件中的信息转换为 proj4 字符串。我该怎么做/这是正确的方法吗?