Thanks for your help. This is really helpful. With regard to your comments about shapefile 2 having multiple polygons, maybe run a loop over every polygon in shapefile 2 and run the PartialOverlap function?
On Mon, Sep 5, 2022 at 12:21 PM Micha Silver <tsvi...@gmail.com> wrote: > > On 05/09/2022 20:10, Bhaskar Mitra wrote: > > Hello All, > > > > > > > > I am new to geospatial analysis and would really appreciate some help > in > > shapefile clipping operation in R. I want to use a clipping function (or > > something equivalent), whereby, if the majority of shapefile 2 (e.x: > > greater than 50 % area of shapefile 2) is within shapefile 1, I can > > incorporate > > > > shapefile 2 within shapefile 1 and generate shapefile 3. > > > > > > However, if less than 50% area of shapefile 2 is within shapefile 1, then > > it will be discarded. > > > > From your question, I assume that the two shapefiles contain polygon > features. ("Shapefile" can also be points or lines). What you want is > the intersection between two polygon shapefiles if that intersection is > larger in area than half the area of the second shapefile. > > Shapefiles are read into R with the sf package. So this might help: > > > library(sf) > > > PartialOverlap <- function(p1, p2, overlap_portion = 0.5) { > > area2 <- st_area(p2) > > intersection <- st_intersection(p1, p2) > > area_overlap = st_area(intersection) > > if (area_overlap/area2 >= overlap_portion) { > > return(intersection) > > } > > else { > > return(NULL) > > } > > } > > > p1 <- st_read("your_first.shp") > > p2 <- st_read("your_second.shp") > > p3 <- PartialOverlap(p1, p2) > > > However, I would point out that polygon shapefiles can contain several > polygon features, and also multi-polygons. You probably want to consider > how you want to handle these cases. For example, your shapefile2 might > contain many polygons outside of shapefile1, and only a few that > overlap. Those individual overlaps might each be larger than half of the > individual polygon areas but smaller than the total area of all polygons > in shapefile2. How do you want to treat this case? > > Refer to Chapter 2 of: > https://geocompr.robinlovelace.net/spatial-class.html or any other > basic introduction to GIS vector features for a better explanation. > > > > > > > I would really appreciate some help in this regard. > > > > > > > > Sincerely, > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-sig-Geo mailing list > > R-sig-Geo@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-sig-geo > > -- > Micha Silver > Ben Gurion Univ. > Sde Boker, Remote Sensing Lab > cell: +972-523-665918 > > [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo