[R-sig-Geo] Problem finding the centroid of a polygon with get.Pcent

Roger Bivand Roger.Bivand at nhh.no
Fri May 23 18:13:54 CEST 2008


On Fri, 23 May 2008, Mauricio Zambrano wrote:

> Dear List,
>
> For finding the centroid of a catchment, I tried with the function:
>
> get.Pcent(gallego_catchment)
>
> but I got the following  error:
>
> Error en get.Pcent(gallego_catchment) : not a Map object
>
> However, I checked the class:
>
>> class(gallego_catchment)
> [1] "SpatialPolygonsDataFrame"
> attr(,"package")
> [1] "sp"

Just say coordinates(gallego_catchment) to extract the "centroid" - 
labelpoint - for each Polygons object - the coordinates() method retrieves 
the label points. Note that a "Map" object is not a 
"SpatialPolygonsDataFrame" object, and indeed "Map" objects are only used 
internally in some limited settings. You are muddling up classes. 
Installing rgdal properly would make sure you only saw the 
"SpatialPolygonsDataFrame" object, which is all you need.

Roger

>
> and I read the catchment boundary with:
>
> p4s <- CRS("+proj=utm +zone=30 +ellps=intl +units=m +no_defs")
> # reading the boundary of the gallego catchment
> library(maptools)
> gallego_catchment <- readShapePoly("only_gallego_catchment.shp",
> proj4string=p4s)
>
> Could somebody tell me if I'm doing something wrong?
>
> Thanks in advance
>
> Mauricio
>
>

-- 
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no




More information about the R-sig-Geo mailing list