Skip to content
Prev 16048 / 29559 Next

Changing coords in SpatialPolgyon

Hi -- I am trying to change the coordinates of the points in 
a polygon (after shrinking the polygon towards the centroid.

However, any way I try it (direct assignment, slot(), 
attr()), I get this error:

=================
object of type 'S4' is not subsettable
=================


Here's an example of the error, showing the objects I'm 
using.  Any help **much** appreciated.

===========================


 > 				class(all_emerged_islands_at_this_height_break)
[1] "SpatialPolygons"
attr(,"package")
[1] "sp"
 > 				all_emerged_islands_at_this_height_break
An object of class "SpatialPolygons"
Slot "polygons":
[[1]]
An object of class "Polygons"
Slot "Polygons":
[[1]]
An object of class "Polygon"
Slot "labpt":
[1] 91.44457 25.55424

Slot "area":
[1] 0.25305

Slot "hole":
[1] FALSE

Slot "ringDir":
[1] 1

Slot "coords":
            x      y
  [1,] 91.273 25.804
  [2,] 91.348 25.817
  [3,] 91.408 25.844
  [4,] 91.498 25.831
  [5,] 91.528 25.763
  [6,] 91.573 25.694
  [7,] 91.633 25.681
  [8,] 91.723 25.681
  [9,] 91.768 25.626
[10,] 91.768 25.544
[11,] 91.768 25.448
[12,] 91.708 25.380
[13,] 91.648 25.312
[14,] 91.558 25.298
[15,] 91.468 25.298
[16,] 91.378 25.325
[17,] 91.318 25.380
[18,] 91.228 25.421
[19,] 91.123 25.435
[20,] 91.108 25.558
[21,] 91.123 25.640
[22,] 91.198 25.708
[23,] 91.258 25.776
[24,] 91.273 25.804



Slot "plotOrder":
[1] 1

Slot "labpt":
[1] 91.44457 25.55424

Slot "ID":
[1] "89"

Slot "area":
[1] 0.25305


[[2]]
An object of class "Polygons"
Slot "Polygons":
[[1]]
An object of class "Polygon"
Slot "labpt":
[1] 92.00535 25.12364

[...etc...]


 > 				
 > 				class(tmppoly_shrunken)
[1] "Polygon"
attr(,"package")
[1] "sp"
 > 				tmppoly_shrunken
An object of class "Polygon"
Slot "labpt":
[1] 91.44457 25.55424

Slot "area":
[1] 25.29848

Slot "hole":
[1] FALSE

Slot "ringDir":
[1] 1

Slot "coords":
              x        y
  [1,] 89.72883  3.00000
  [2,] 90.47883 28.18185
  [3,] 91.07883 28.45185
  [4,] 91.97883 28.32185
  [5,] 92.27883 27.64185
  [6,] 92.72883 26.95185
  [7,] 93.32883 26.82185
  [8,] 94.22883 26.82185
  [9,] 94.67883 26.27185
[10,] 94.67883 25.45185
[11,] 94.67883 24.49185
[12,] 94.07883 23.81185
[13,] 93.47883 23.13185
[14,] 92.57883 22.99185
[15,] 91.67883 22.99185
[16,] 90.77883 23.26185
[17,] 90.17883 23.81185
[18,] 89.27883 24.22185
[19,] 88.22883 24.36185
[20,] 88.07883 25.59185
[21,] 88.22883 26.41185
[22,] 88.97883 27.09185
[23,] 89.57883 27.77185
[24,] 89.72883 28.05185

 > 				
 > 			 
slot(all_emerged_islands_at_this_height_break[j]@polygons[[1]]@Polygons[[1]], 
"coords", check=FALSE) = slot(tmppoly_shrunken, "coords")
Error in 
slot(all_emerged_islands_at_this_height_break[j]@polygons[[1]]@Polygons[[1]], 
  :
   object of type 'S4' is not subsettable
 >
 >
===========================