【问题标题】:Generating random points per polygon feature proportional to each polygon feature area为每个多边形特征生成与每个多边形特征区域成比例的随机点
【发布时间】:2019-09-25 06:43:22
【问题描述】:

我想知道使用sp::spsample 为每个多边形特征生成 随机点 的最简单方法是什么,以便每个特征中的点数与相应的 多边形面积 成正比>。我知道如何做一个多边形,但我不确定每个特征应该如何做。

样本数据

p <- shapefile(system.file("external/lux.shp", package="raster"))

【问题讨论】:

    标签: r polygon spatial sample


    【解决方案1】:

    一种方法如下:

    library(raster)
    library(sf)
    
    set.seed(123)
    
    # shape file from raster package
    p <- shapefile(system.file("external/lux.shp", package="raster"))
    plot(p)
    
    # Using an old fashion for-loop
    rpnt <- list()
    for(i in 1:length(p)){
      pp <- p[p$ID_2==i,]
      rpnt[[i]] <- sp::spsample(pp, n=pp$AREA/20, "random") #modify it to what you want
      plot(rpnt[[i]], pch=i, col=(i), add=T)
    }
    
    out <- do.call(bind, rpnt)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多