[R-sig-Geo] Extract points from SpatialLines objects along with the corresponding Lines' ID
Edzer Pebesma
edzer.pebesma at uni-muenster.de
Sat Dec 5 11:31:48 CET 2015
On 04/12/15 16:49, Bastien Tran wrote:
> Dear all,
>
> I am trying to extract the points that compose a SpatialLines object along
> with the Line's ID (provided when Lines() is called).
>
> Hoping it makes my question clearer this is what I am currently able to get
> (using the SpatialLines example):
>
>> library(sp)
>> l1 = cbind(c(1,2,3),c(3,2,2))
>> Sl1 = Line(l1)
>> S1 = Lines(list(Sl1), ID=c("a"))
>>
>> l2 = cbind(c(1,2,3),c(3,1.5,1))
>> Sl2 = Line(l2)
>> S2 = Lines(list(Sl2), ID="b")
>>
>>
>> L1 = SpatialLines(list(S1,S2))
Try:
> as(as(L1, "SpatialPointsDataFrame"), "data.frame")
Lines.NR Lines.ID Line.NR coords.x1 coords.x2
1 1 a 1 1 3.0
2 1 a 1 2 2.0
3 1 a 1 3 2.0
4 2 b 1 1 3.0
5 2 b 1 2 1.5
6 2 b 1 3 1.0
or alternatively:
> as(L1, "SpatialMultiPoints")@coords
$a
[,1] [,2]
[1,] 1 3
[2,] 2 2
[3,] 3 2
$b
[,1] [,2]
[1,] 1 3.0
[2,] 2 1.5
[3,] 3 1.0
>>
>> sapply(slot(L1, "lines"), function(x) lapply(slot(x, "Lines"),
> function(y) slot(y, "coords")))
> [[1]]
> [,1] [,2]
> [1,] 1 3
> [2,] 2 2
> [3,] 3 2
>
> [[2]]
> [,1] [,2]
> [1,] 1 3.0
> [2,] 2 1.5
> [3,] 3 1.0
>
> But I would rather like to obtain something like this:
>
> [[1]]
> [,1] [,2] [,3]
> [1,] "1" "3" "a"
> [2,] "2" "2" "a"
> [3,] "3" "2" "a"
>
> [[2]]
> [,1] [,2] [,3]
> [1,] "1" "3" "b"
> [2,] "2" "1.5" "b"
> [3,] "3" "1" "b"
>
> If possible I would like to avoid type conversions and get a data.frame
> directly though I could indeed recreate one with these matrices, without
> information loss I assume.
>
> Thank you in advance for any tips.
>
> Best regards,
> Bastien
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
Edzer Pebesma
Institute for Geoinformatics (ifgi), University of Münster,
Heisenbergstraße 2, 48149 Münster, Germany; +49 251 83 33081
Journal of Statistical Software: http://www.jstatsoft.org/
Computers & Geosciences: http://elsevier.com/locate/cageo/
Spatial Statistics Society http://www.spatialstatistics.info
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: OpenPGP digital signature
URL: <https://stat.ethz.ch/pipermail/r-sig-geo/attachments/20151205/d0686df4/attachment.bin>
More information about the R-sig-Geo
mailing list