Rafael
Rafael

Reputation: 3196

gCentroid shifting centroid towards concentration of points

I have a SpatialPointsDataFrame defining SD boundary, however when I compute the center with gCentroid it's shifted.

c. = rgeos::gCentroid(c.) %>% as.data.frame()

Why isn't it plotting it at the center? enter image description here

Upvotes: 0

Views: 193

Answers (1)

Martin Schmelzer
Martin Schmelzer

Reputation: 23899

It is because the mass of points is higher in the lower right corner. If you transform your object to a SpatialPolygons object (making it one shape) then it works:

poly <- SpatialPolygons(Srl = list(Polygons( srl = list(Polygon(coords = coordinates(dat))), ID = 1)))
gCentroid(spgeom = poly)

plot(poly)
axis(1)
axis(2)
points(gCentroid(poly)) 

enter image description here

Upvotes: 2

Related Questions