【问题标题】:Drawing GRTS points within polygons with spsurvey使用 spsurvey 在多边形内绘制 GRTS 点
【发布时间】:2021-12-25 18:38:57
【问题描述】:

在 spsurvey 包的早期版本中,可以使用有点复杂的 design 规范在 shapefile 中的多边形内绘制随机点。 (例如,请参阅here)。

spsurvey (5.0.1) 的新更新版本看起来非常用户友好,但我不知道如何在多边形内执行多于一个点的 GRTS 绘制。下面是一个例子:

假设我想在蒙大拿州和怀俄明州使用 GRTS 绘制 10 个随机点。 grts()调用需要一个sf对象,所以我们可以先获取一个sf对象。

library(raster)
library(sf)
library(spsurvey)

## Get state outlines
US <- raster::getData(country = "United States", level = 1)
States.outline <- US[US$NAME_1 %in% c("Montana","Wyoming"),]

# convert to sf object
states.out <- st_as_sf(States.outline)

然后,如果我们想按状态分层,并且我们希望每个状态有 10 个点,我们需要:

# Define the number of points to draw from each state
strata_n <- c(Montana = 10, Wyoming = 10)

然后strata_n 对象被输入到grts() 调用中,NAME_1 变量是状态名称。

# Attempt to make grts draw 
grts(sframe = states.out, 
     stratum_var = "NAME_1", 
     n_base = strata_n
     )

这会返回一条错误消息:

在检查 grtspts 的输入期间,出现一个或多个错误 确定。输入以下命令查看所有输入错误 消息: stopprnt() 查看错误的子集(例如,错误 1 和 5) 输入 stopprnt(m=c(1,5))

运行stopprnt() 会给出以下消息:

输入错误消息 n_base :每个层必须有一个样本 大小不大于“框架”中的行数 阶层

这是一条非常清晰的信息——我们不能从每个多边形中绘制多个点,因为 sf 对象的每个状态只有一行。

那么:使用新的和改进的spsurvey 包,如何从多边形内绘制多个点?任何提示或方向将不胜感激。

【问题讨论】:

    标签: r polygon draw


    【解决方案1】:

    这是一个错误。我已经更新了开发版,可以通过运行安装(安装完remote包后)

    remotes::install_github("USEPA/spsurvey", ref = "develop")
    

    可能在 spsurvey 的变化反映在 CRAN 之前几周。感谢您找到这个。

    【讨论】:

    • 谢谢@Michael -- 我下载了开发版,看起来可能仍然存在错误(至少在上面示例问题中绘制 grts 示例时):Error in st_poly_sample(x, size = size, ..., type = type, by_polygon = by_polygon) : hexagonal sampling on geographic coordinates not supported; consider projecting first
    • @Jacob_Oram 出现错误是因为您使用的是地理坐标,而不是投影坐标;有关更多信息,请参阅 spsurvey 的“从这里开始”小插图 here 中的第 6 和第 7 部分以及其中的参考资料。如果您的数据位于北美,NAD 83 / Conus Albers (crs = 5070) 通常没问题。
    • @Jacob_Oram 我将在下一次 spsurvey 更新中添加更多信息性错误消息。再次感谢。
    • 按照建议使用sf::st_transform() 效果很好。感谢您的帮助!
    • 优秀。再次感谢 Michael 的及时修复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 2011-04-28
    • 2017-04-17
    • 1970-01-01
    • 2022-11-22
    相关资源
    最近更新 更多