Briefly, is sf::aggregate() what you are looking for? Or terra::aggregate() if 
you read with terra::vect()?

Roger Bivand
Emeritus Professor
Department of Economics
Norwegian School of Economics, Bergen, Norway

Fra: Miluji Sb <>
Sendt: fredag 28. april 2023, 14:18
Til: Roger Bivand <>
Kopi: Michael Sumner <>; R-sig-geo mailing list 
Emne: Re: [R-sig-Geo] Combine two polygons

Thank you for your replies. I think I am misunderstanding something. I have 
read the shapefile using sf. I would like to combine polygons for Cyprus and 
Northern Cyprus only within the world shapefile and keep all the other polygons 
as they are.

world <- sf::st_read(dsn = "~/gadm36_levels_shp", layer = "gadm36_0")

Is something like the following correct? I was thinking of generating a group 
variable which is unique to all the countries except Cyprus and Northern 
Cyprus. I a probably making this too complicated.

world %>%
  group_by(group) %>%
  summarise(geometry = sf::st_union(geometry)) %>%

Thank you again.

Best regards,


On Fri, Apr 28, 2023 at 8:56 AM Roger Bivand 
<<>> wrote:
On Fri, 28 Apr 2023, Michael Sumner wrote:

> fwiw, a method with geodata/terra
> cyp <- geodata::gadm(country = c("CYP", "XNC"), path = tempdir(), version =
> "3.6")
> terra::aggregate(cyp)

and as per

> see ?terra::writeVector to write it out
> (rgdal is very old and you should abandon it, it will be removed from
> support by the end of this year)

Thank you! Yes, sp will by default switch to using sf in place of rgdal
for creating "CRS" objects, and under sp::spTransform in June, and all
three retiring packages rgdal, rgeos, and maptools will be gone by October
2023. An sp release will appear in May with a transition guide.

It seems that terra does not have an object corresponding to sp's "CRS" or
sf's "crs". As far as I can see, one needs to create an empty
SpatVector/SpatRaster object and assign a CRS, coerce to "Spatial", and
extract its slot. If this makes sense, sp could use terra (and
raster, needed for coercion) rather than sf where workflows did not
otherwise use sf. Very grateful for input here or


> (just as an aside, we can't hit the geodata vector urls directly with gdal
> as we can with the rasters, as they are in an R specific format)
> Cheers, Mike
> On Fri, Apr 28, 2023 at 10:52 AM Ben Tupper 
> <<>> wrote:
>> Hi,
>> You might try st_union() from the sf package
>> On Thu, Apr 27, 2023 at 5:37 PM Miluji Sb 
>> <<>> wrote:
>>> Dear all,
>>> I am using the country-level shapefile from GADM. I would like to merge
>>> Cyprus and North Cyprus into one polygon. Is this possible? I am using
>>> rgdal to read the shapefile, subset, and then rewrite it. Any help will
>> be
>>> highly appreciated.
>>> ##
>>> world <- readOGR("~/gadm36_levels_shp", layer = "gadm36_0")
>>> Best regards,
>>> Milu
>>>         [[alternative HTML version deleted]]
>>> _______________________________________________
>>> R-sig-Geo mailing list
>>         [[alternative HTML version deleted]]
>> _______________________________________________
>> R-sig-Geo mailing list

Roger Bivand
Emeritus Professor
Department of Economics, Norwegian School of Economics,
Postboks 3490 Ytre Sandviken, 5045 Bergen, Norway.
R-sig-Geo mailing list<>

        [[alternative HTML version deleted]]

R-sig-Geo mailing list

Reply via email to