Re: [R] Removing polygons from shapefile of Scotland and Islands

2024-05-14 Thread Jan van der Laan
I believe mapshaper has functionality for removing small 'islands'. 
There is a webinterface for mapshaper, but I see there is also an 
R-package (see 
https://search.r-project.org/CRAN/refmans/rmapshaper/html/ms_filter_islands.html 
for island removal).


If you want to manually select which islands to keep and which to 
remove, you can split multipolygons into single polygons. I believe that 
is possible using st_cast.


But if it is just getting the relevant portion of the map on screen. 
With the plot-command and using st_viewport it is possible to set the 
part of the map that is drawn.


HTH,
Jsn


On 14-05-2024 15:16, Nick Wray wrote:

Hello  I have a shapefile of Scotland, including the islands.  The river
flow data I am using is only for the mainland and for a clearer and larger
map I would like to not plot Orkney and Shetland to the north of the
mainland, as I don't need them.

The map I have I got from
https://borders.ukdataservice.ac.uk/easy_download_data.html?data=infuse_ctry_2011

then I put the uk shapefile onto my laptop with no problems (I have sf
running)

the_uk<-st_read(dsn="C:/Users/nickm/Desktop/Shapefiles/infuse_ctry_2011.shp")

scotland<-the_uk[2,]

plot(scotland$geometry)

This gives me a nice map of Scotland  plus islands but obviously there are
lots of separate polygons and if I go into the points with something like

scot_pts<-unlist(as.data.frame(scotland$geometry))

it's not at all clear how I can get rid of the points I don't want as they
don't seem to be listed in any easy way to find where one polygon stops and
another starts

I am wondering whether this approach is right anyway or whether there is
some sf function which would allow me to identify the polygons I want -
essentially the big one which is the mainland without lots of elaborate
conversions and manipulations

Any pointers, thoughts etc much appreciated

Thanks Nick Wray

[[alternative HTML version deleted]]

__
R-help@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.


__
R-help@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.


[R] Removing polygons from shapefile of Scotland and Islands

2024-05-14 Thread Nick Wray
Hello  I have a shapefile of Scotland, including the islands.  The river
flow data I am using is only for the mainland and for a clearer and larger
map I would like to not plot Orkney and Shetland to the north of the
mainland, as I don't need them.

The map I have I got from
https://borders.ukdataservice.ac.uk/easy_download_data.html?data=infuse_ctry_2011

then I put the uk shapefile onto my laptop with no problems (I have sf
running)

the_uk<-st_read(dsn="C:/Users/nickm/Desktop/Shapefiles/infuse_ctry_2011.shp")

scotland<-the_uk[2,]

plot(scotland$geometry)

This gives me a nice map of Scotland  plus islands but obviously there are
lots of separate polygons and if I go into the points with something like

scot_pts<-unlist(as.data.frame(scotland$geometry))

it's not at all clear how I can get rid of the points I don't want as they
don't seem to be listed in any easy way to find where one polygon stops and
another starts

I am wondering whether this approach is right anyway or whether there is
some sf function which would allow me to identify the polygons I want -
essentially the big one which is the mainland without lots of elaborate
conversions and manipulations

Any pointers, thoughts etc much appreciated

Thanks Nick Wray

[[alternative HTML version deleted]]

__
R-help@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.