area2SpatialPolygonsDataFrame.R 973 B

123456789101112131415161718192021222324
  1. #' Add polygon area value to Spdf
  2. #' @details Polügooni pindala (ruutmeetrites) lisamine SpatialPolygonsDataFrame objektile. Andmetele lisatakse veerg "area".
  3. #' @param spdf object with class "SpatialPolygonsDataFrame".
  4. #' @return area Polygon area value in square meters.
  5. #' @seealso \code{\link{isObjectSpatialPolygonsDataFrame}}, \code{\link{centroid2SpatialPolygonsDataFrame}},
  6. #' \code{\link{projection2WGS84}}, \code{\link{area2SpatialPolygonsDataFrame}},
  7. #' \code{\link{perimeter2SpatialPolygonsDataFrame}}, \code{\link{spPolygonsOutline}}
  8. #' @examples \dontrun{
  9. #' load(rahvaarv)
  10. #' rahvaarv <- area2SpatialPolygonsDataFrame(spdf = rahvaarv)
  11. #' rahvaarv@data$area
  12. #'
  13. #' }
  14. #'
  15. #' @export
  16. #'
  17. area2SpatialPolygonsDataFrame <- function(spdf) {
  18. isObjectSpatialPolygonsDataFrame(spdf)
  19. # Area
  20. # spdf@data$area <- sapply(slot(spdf, "polygons"), function(x) sapply(slot(x, "Polygons"), slot, "area"))
  21. spdf@data$area <- geosphere::areaPolygon(spdf)
  22. return(spdf)
  23. }