Dear all; I am trying to calculate the volume of a polygon shapefile according to a DEM raster. I have provided some codes at the end of this email.I dont know if the codes are correct or not. Following this, I have another question too. I want to know if the volume of the reservoir rises or doubles, what would be the elevation? I would be more than happy if anyone could help me. Sincerely " library(raster) library(terra) library(exactextractr) library(dplyr) library(sf) r <- raster("Base.tif") p <- shapefile("p.shp") r <- crop(r, p) r <- mask(r, p) x <- exact_extract(r, p, coverage_area = TRUE) x1 = as.data.frame(x[1]) head(x1) x1 = na.omit(x1) x1$Height = max(x1[,1]) - x1[,1] x1$Vol = x1[,2] * x1[,3] sum(x1$Vol) " -- Best Regards Javad Bayat M.Sc. Environment Engineering Alternative Mail: bayat194 at yahoo.com [[alternative HTML version deleted]]
The volume of a polygon = 0. Polyhedra have volumes. This may be irrelevant, but if the lake is cylindrical == constant cross sectional area at all depths, then height doubles when the volume does and vice versa. Otherwise you have to know how area varies with height or use more sensible approximations thereto. Cheers, Bert On Tue, Dec 5, 2023, 20:13 javad bayat <j.bayat194 at gmail.com> wrote:> Dear all; > I am trying to calculate the volume of a polygon shapefile according to a > DEM raster. I have provided some codes at the end of this email.I dont know > if the codes are correct or not. Following this, I have another question > too. > I want to know if the volume of the reservoir rises or doubles, what would > be the elevation? > I would be more than happy if anyone could help me. > Sincerely > > " > library(raster) > library(terra) > library(exactextractr) > library(dplyr) > library(sf) > r <- raster("Base.tif") > p <- shapefile("p.shp") > r <- crop(r, p) > r <- mask(r, p) > x <- exact_extract(r, p, coverage_area = TRUE) > > x1 = as.data.frame(x[1]) > head(x1) > x1 = na.omit(x1) > > x1$Height = max(x1[,1]) - x1[,1] > > x1$Vol = x1[,2] * x1[,3] > > sum(x1$Vol) > > " > > -- > Best Regards > Javad Bayat > M.Sc. Environment Engineering > Alternative Mail: bayat194 at yahoo.com > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
Hi, As already mentioned, this is a great topic for R-sig-geo, where you'd probably get specialist answers like the lake morphology package https://cran.r-project.org/web/packages/lakemorpho/index.html which is explicitly designed for this kind of question. Sarah On Tue, Dec 5, 2023 at 11:13?PM javad bayat <j.bayat194 at gmail.com> wrote:> > Dear all; > I am trying to calculate the volume of a polygon shapefile according to a > DEM raster. I have provided some codes at the end of this email.I dont know > if the codes are correct or not. Following this, I have another question > too. > I want to know if the volume of the reservoir rises or doubles, what would > be the elevation? > I would be more than happy if anyone could help me. > Sincerely > > " > library(raster) > library(terra) > library(exactextractr) > library(dplyr) > library(sf) > r <- raster("Base.tif") > p <- shapefile("p.shp") > r <- crop(r, p) > r <- mask(r, p) > x <- exact_extract(r, p, coverage_area = TRUE) > > x1 = as.data.frame(x[1]) > head(x1) > x1 = na.omit(x1) > > x1$Height = max(x1[,1]) - x1[,1] > > x1$Vol = x1[,2] * x1[,3] > > sum(x1$Vol) > > " > > -- > Best Regards > Javad Bayat > M.Sc. Environment Engineering > Alternative Mail: bayat194 at yahoo.com > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- Sarah Goslee (she/her) http://www.sarahgoslee.com