Skip to content
Back to formatted view

Raw Message

Message-ID: <CAJx8RnHNmK4KX=KgxL7PRfwCwmWsB389py8t35zv3X_hA_bYNQ@mail.gmail.com>
Date: 2022-06-30T13:29:33Z
From: David Romero
Subject: r-sig-geo@r-project.org

Hello,
How can I construct an sf polyline object directly in sf? I have a data
frame with 3 pairs of coordinates and need for each row a 2 segment line.

I did it with sp but would like to migrate to sf:

base$ID<-seq(1,nrow(base),1)
base_lines <- apply(base,1,function(x){
  points <- data.frame(lng=as.numeric(c(x["LONG1"],x["LONG2"],x["LONG3"])),

 lat=as.numeric(c(x["LAT1"],x["LAT2"],x["LAT3"])),stringsAsFactors = F)
  coordinates(points) <- c("lng","lat")
  Lines(Line(points),ID=as.numeric(x["ID"]))})
row.names(base) <- base$ID
base_lines <- SpatialLinesDataFrame(SpatialLines(base_lines),base)
sflines<-st_as_sf(base_lines)

	[[alternative HTML version deleted]]