R中的多边形边界插值

Polygon boundary interpolation in R

我有一个多边形数据框:

顶点坐标:

43740.95    40726.46
43741.36    40720.19
43742.67    40729.28
43743.99    40716.16
43745.52    40730.97
43748.72    40714.19
43748.72    40731.14
43748.72    40714.19
43752.23    40714.76
43752.86    40729.43
43755.27    40716.68
43756.77    40723.24
43757.19    40719.73

R 中有没有什么方法可以对空间对象进行插值,使边界更平滑?

您可以使用 smoothr 包来平滑 sf 对象。我根据您的数据创建了一个示例,其中 data 是您提供的样本。因为您的多边形是不规则形状,所以平滑处理看起来也不规则。您可以根据需要调整平滑度或更改平滑算法。但是,样条曲线可能适用于您的情况。

library(sf)
library(smoothr)

smooth_poly <- data %>% 
  st_as_sf(coords=c("x", "y")) %>% 
  st_union() %>% 
  st_convex_hull() %>% 
  smooth(method='spline', n=1000)