从细长缓冲区创建SpatialLine

时间:2018-01-16 23:00:46

标签: r sp sf

我有SpatialPolygonsDataFrame这是道路的缓冲区。我想通过找到适合缓冲区内的SpatialLine来重建这条道路的近似路径。

关于如何做到这一点的任何想法?

可重复的例子

library(rgeos)
library(sp)

line <- readWKT("LINESTRING(0 0, 0.2 0.1, 0.3 0.6, 0.4 0.1, .3 .3, 1 1)")

# buffer
  line_buff <- gBuffer(line, width = 0.01)
  plot(line_buff, col="red")

enter image description here

1 个答案:

答案 0 :(得分:0)

一个真正的远射,但是你可以通过三角测量到正确的大小,然后通过那些质心找到路径来魔术,但我不喜欢这样的机会。这些路线实际上是自相交的......

tri <- sfdct::ct_triangulate(sf::st_as_sf(line_buff), a = 0.0005)
plot(st_coordinates(st_centroid(st_cast(tri$geometry))))