[R-sig-Geo] Shapefile clipping operation help request

Bhaskar Mitra bh@@k@r@ko|k@t@ @end|ng |rom gm@||@com
Tue Sep 6 01:07:15 CEST 2022


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 <tsvibar using 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 using 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]]



More information about the R-sig-Geo mailing list