perimeter2SpatialPolygonsDataFrame.R 1.0 KB

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