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

验证北卡Ashe县多边形内生成均匀分布点的代码是否正确

方法正确性说明

你的核心思路是正确的,st_sample是sf包中生成空间对象内均匀分布样本点的标准工具,完全适配你的需求:

  • 提取Ashe县的POLYGON对象是必要前提,确保采样范围精准锁定目标区域。
  • 直接调用st_sample(ashe_polygon, size = 1000)就能生成1000个严格在Ashe县多边形内部的均匀点,默认逻辑已经包含边界点,无需额外处理边界对象。

如果需要同时生成多边形内外的点,你可以按以下方式调整:

  1. 先基于Ashe县的边界框扩边,创建一个包含目标区域及周边的更大多边形范围
  2. 在这个大范围内采样,再通过空间关系判断区分内外点

示例代码:

library(sf)
data(nc)

# 提取Ashe县多边形
ashe_county <- nc[nc$NAME == "Ashe", ]

# 生成县内1000个均匀点
inner_points <- st_sample(ashe_county, size = 1000)

# 生成包含内外的样本点
# 扩大边界框(根据WGS84单位调整扩边幅度)
expanded_bbox <- st_bbox(c(
  xmin = st_bbox(ashe_county)[1] - 0.1,
  ymin = st_bbox(ashe_county)[2] - 0.1,
  xmax = st_bbox(ashe_county)[3] + 0.1,
  ymax = st_bbox(ashe_county)[4] + 0.1
), crs = st_crs(ashe_county))
expanded_area <- st_as_sfc(expanded_bbox)

# 扩大范围内采样2000个点
mixed_points <- st_sample(expanded_area, size = 2000)
# 标记内外点
is_inside <- st_within(mixed_points, ashe_county, sparse = FALSE)[,1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 16:57:17