Как создать неперекрывающиеся буферы вокруг строк? - PullRequest
1 голос
/ 08 ноября 2019

Я хотел бы создать непересекающиеся многоугольники, которые представляют область, в которой каждая линия является ближайшей к точкам в области, вплоть до порогового расстояния (в данном случае 10 м). Воспроизводимый пример плюс набросок того, о чем я думаю ниже.

# 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)

Создано в 2019-11-07 по представительному пакету (v0.3.0)

Вот эскиз (не мое лучшее художественное произведение!):

enter image description here

...