我有一堆包含在类的对象中的 shapefile:
[1] "SpatialPolygonsDataFrame" attr(,"package") [1] "sp"
我想以km2 获得这些shapefile 的面积。由于这些 shapefile 分布在全球各地,因此我使用“等面积”投影对 shapefile 进行了投影,即:兰伯特圆柱等面积“+proj=cea +lon_0=-80”,以确保这些区域不会受纬度影响而变形。
我这样做是这样的:
require(maptools)
data.shape<-readShapePoly("species_distributions.shp",proj4string=CRS("+proj=cea +lon_0=-80"))
我以这种方式计算面积:
sapply(slot(data.shape, "polygons"), slot, "area")->areas
但是,我获得的区域很奇怪……值如下:7.861879e-02 1.819334e+00 4.510745e+00。他们只是没有意义...
我究竟做错了什么?我怎样才能以平方公里为单位获得这些区域?(考虑到这些 shapefile 分布在全球...)
任何帮助将不胜感激。非常感谢您提前。
蒂娜。