You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用spsurvey 5.0.1在多边形内抽取多个GRTS随机点的问题咨询

新版spsurvey单个多边形多GRTS点抽取方案

错误原因

grts()默认抽样逻辑是抽取抽样框内的现有要素,你传入的sf对象中蒙大拿、怀俄明州各仅对应1行多边形记录,因此默认规则下每层最多仅支持抽取1个样本,与你设置的每州10个样本量要求冲突。

修正代码

无需修改前期数据准备逻辑,仅需在grts()调用中增加seltype = "Continuous"参数,声明当前为连续空间抽样,直接在多边形范围内生成指定数量的随机点即可:

# 执行GRTS分层抽样,每州10个点
grts_result <- grts(
  sframe = states.out, 
  stratum_var = "NAME_1", 
  n_base = c(Montana = 10, Wyoming = 10),
  seltype = "Continuous"
)

结果校验

抽样完成后,生成的点数据存储在返回结果的sites字段中,可通过以下代码确认各层样本量符合要求:

# 统计各州抽样点数
table(grts_result$sites$stratum)

拓展方案

如果有自定义抽样约束需求(如点位最小距离限制、避让特定区域),可先通过sf::st_sample()在各多边形内生成足量候选点,将候选点sf对象作为抽样框传入grts(),即可沿用默认的要素抽样逻辑完成抽样。

内容的提问来源于stack exchange,提问作者Jacob_Oram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:24:03