[R-sig-Geo] coordinates() of SpatialLines DF
Roger Bivand
Roger.Bivand at nhh.no
Wed Jan 27 19:46:21 CET 2010
On Wed, 27 Jan 2010, Agustin Lobo wrote:
> HI,
>
> I'm confused by the following:
>> xter <-
> readOGR(dsn="/media/Transcend/PROVI/MARICEL2/x_terRiverBasin",layer="x_ter")
>> class(xter)
> [1] "SpatialLinesDataFrame"
> attr(,"package")
> [1] "sp"
>> delme <- coordinates(xter)
>> class(delme)
> [1] "list"
>
> The manual page of coordinates states:
> Value
> usually an object of class SpatialPointsDataFrame; if the coordinates set
> cover the full set of variables in object, an object of class SpatialPoints
> is returned
>
> why don't I get a SpatialPointsDataFrame?
Because "usually" you do get a SpatialPointsDataFrame from coordinates<-
(set) on a data.frame. coordinates (get) is a matrix for SpatialPoints*
and the classes that inherit (SpatialPixels*, SpatialGrids* - cell
centres), and for SpatialPolygons* - label points.
See for the extraction method:
getMethod("coordinates", "Line")
getMethod("coordinates", "Lines")
getMethod("coordinates", "SpatialLines")
to see what is happening in this case - you get a list of lists of
coordinate matrices. Using the Norwegian coastline from maptools:
library(maptools)
library(maps)
nor_coast_lines <- map("world", interior=FALSE, plot=FALSE, xlim=c(4,32),
ylim=c(58,72))
nor_coast_lines <- pruneMap(nor_coast_lines, xlim=c(4,32), ylim=c(58,72))
nor_coast_lines_sp <- map2SpatialLines(nor_coast_lines,
proj4string=CRS("+proj=longlat +datum=wgs84"))
plot(nor_coast_lines_sp, axes=TRUE)
crdl0 <- coordinates(nor_coast_lines_sp)
crdl1 <- sapply(crdl0, function(x) do.call("rbind", x))
crdl2 <- do.call("rbind", crdl1)
lines(crdl2[chull(crdl2),], type="l", col="red")
using do.call() of "rbind" to stack the coordinate matrices.
Roger
>
> Anyway, is there any way to get object "delme" to become a 2 col. data frame
> or matrix? What I want is the cloud of points
> to calculate the convex hull and get an estimate of the polygon of the
> basin.
>
> Thanks
>
> Agus
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
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