Hi Julian, apologies for my late feedback to the group. I was able to extract the values from adjacent cells using adjacent() function from raster package. I must thank Santiago Sanchez for his help after looking up my post. Best, Andre
*Andre Rovai, Ph.D.* Research Associate V Department of Oceanography and Coastal Sciences Energy, Coast, and Environment Bldg., Room 3201 Louisiana State University, Baton Rouge, LA 70803 Phone: *225 578 6422*, Cell: *225 439 5559* Email: *arov...@lsu.edu* <arov...@lsu.edu>, *asro...@gmail.com* <asro...@gmail.com> oceanography.lsu.edu/twilleylab <http://oceanography.lsu.edu/twilleylab/index.html> lattes.cnpq.br/3739236195138235 2017-08-31 10:41 GMT-05:00 Julian M. Burgos <julian.bur...@hafogvatn.is>: > Hi Andre, > > Your description is very confusing. Could you clarify exactly what you > want? You have a) a raster, and b) some lines. What are you trying to > do exactly? > > Julian > > > Andre Rovai writes: > > > Hi all, > > > > I've been trying to extract values from a single attribute raster (area, > in > > m2) that overlaps with lines (that is, a .shp SpatialLines). > > > > The problem is that, along these lines, my raster sometimes goes from one > > to several contiguous cells in all directions. Using the > > extract function only values from cells that are touched by the lines are > > extracted. Thus, when I add up the extracted values from all lines a > > significant amount of area (m2) is lost due to cells that were not > touched > > by the line and therefore values were not extracted. > > > > I tried to work it around by: > > > > Step 1 - first aggregating my raster to a lower resolution (i.e. > increasing > > the fact argument) and then > > Step 2 - rasterizing the lines using this aggregated raster (created in > > step 1) as a mold to make sure the rasterized lines would get thick > enough > > to cover the horizontal spread of cells in my original resolution raster. > > Step 3 - Then I resample the rasterized lines (created in step 2) back to > > the original resolution I started with. > > Step 4 - Finally, extracted the values from the resampled rasterized > lines > > (created in step 3). > > > > However, it didn't quite work as now the total area (m2) varies according > > to the fact="" value I use when first aggregating the raster (in step 1). > > > > I really appreciate if anyone has already dealt with a similar problem > and > > can help me out here. Here are the codes I've been running to try to get > > it to work: > > > > > > # input raster file > > > > g.025 <- raster("ras.asc") > > > > g.1 <- aggregate(g.025, fact=2, fun=sum) > > > > > > > > # input SpatialLines > > > > Spline1 <- readOGR("/Users/xxxxx.shp") > > > > Spline2 <- readOGR("/Users/xxxxx.shp") > > > > Spline3 <- readOGR("/Users/xxxxx.shp") > > > > > > > > # rasterizing using low resolution raster (aggregated) > > > > c1 <- rasterize(Spline1, g.1, field=Spline1$type, fun=sum) > > > > c2 <- rasterize(Spline2, g.1, field=Spline2$type, fun=sum) > > > > c3 <- rasterize(Spline3, g.1, field=Spline3$type, fun=sum) > > > > > > > > # resampling back to higher resolution > > > > c1 <- resample(c1, g.025) > > > > c2 <- resample(c2, g.025) > > > > c3 <- resample(c3, g.025) > > > > > > > > # preparing to extract area (m2) values from raster “g.025” > > > > c1tab <- as.data.frame(c1, xy=T) > > > > c2tab <- as.data.frame(c2, xy=T) > > > > c3tab <- as.data.frame(c3, xy=T) > > > > c1tab <- c1tab[which(is.na(c1tab$layer)!=T),] > > > > c2tab <- c2tab[which(is.na(c2tab$layer)!=T),] > > > > c3tab <- c3tab[which(is.na(c3tab$layer)!=T),] > > > > > > > > # extracting area (m2) values from raster “g.025” > > > > c1tab[,4] <- extract(g.025, c1tab[,1:2]) > > > > c2tab[,4] <- extract(g.025, c2tab[,1:2]) > > > > c3tab[,4] <- extract(g.025, c3tab[,1:2]) > > > > names(c1tab)[4] <- "area_m2" > > > > names(c2tab)[4] <- "area_m2" > > > > names(c3tab)[4] <- "area_m2" > > > > > > > > # sum total area (m2) > > > > c1_area <- sum(c1tab$area_m2) > > > > c2_area <- sum(c2tab$area_m2) > > > > c3_area <- sum(c3tab$area_m2) > > > > tot_area <- sum(c1_area, c2_area, c3_area) > > > > > > Thanks! > > > > Andre Rovai > > Department of Oceanography and Coastal Sciences > > Louisiana State University > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-sig-ecology mailing list > > R-sig-ecology@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-sig-ecology > > > -- > Julian Mariano Burgos, PhD > Hafrannsóknastofnun, rannsókna- og ráðgjafarstofnun hafs og vatna/ > Marine and Freshwater Research Institute > Skúlagata 4, 121 Reykjavík, Iceland > Sími/Telephone : +354-5752037 > Bréfsími/Telefax: +354-5752001 > Netfang/Email: julian.bur...@hafogvatn.is > [[alternative HTML version deleted]] _______________________________________________ R-sig-ecology mailing list R-sig-ecology@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-ecology