首页 > 解决方案 > 如何在线条周围创建不重叠的缓冲区?

问题描述

我想创建非重叠多边形来表示每条线最接近该区域内的点的区域,直到阈值距离(在本例中为 10m)。可重现的示例加上我在下面的想法的草图。

# question about buffer types
    library(sf)
#> Linking to GEOS 3.7.1, GDAL 2.4.2, PROJ 5.2.0
    library(stplanr)
    library(tmap)
    l1 = stplanr::osm_net_example[1, ]
    l = stplanr::osm_net_example[l1, ]
#> although coordinates are longitude/latitude, st_intersects assumes that they are planar
    lb = geo_projected(shp = l, fun = st_buffer, dist = 10)
    lb_flat = geo_projected(shp = l, fun = st_buffer, dist = 10, endCapStyle = "FLAT")
    plot(st_geometry(l))
    plot(st_geometry(lb), col = sf.colors(nrow(l), alpha = 0.5), add = TRUE)

    plot(st_geometry(l))
    plot(st_geometry(lb_flat), col = sf.colors(nrow(l), alpha = 0.5), add = TRUE)

reprex 包(v0.3.0)于 2019-11-07 创建

这是草图(不是我最好的艺术作品!):

在此处输入图像描述

标签: rbufferlinepolygon

解决方案


推荐阅读