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

相同CRS的两个sf对象执行st_join空间连接全返回NA问题求助

问题核心原因

你遇到的问题本质是坐标赋值逻辑错误:原始坐标表中的xcoord、ycoord是WGS84坐标系下的经纬度数值(单位:度),你并未对坐标做投影转换,仅直接给点数据错误标记了Amersfoort / RD New的CRS属性,导致点和社区边界的坐标范围完全不重叠,因此匹配结果全为NA。


解决步骤

  • 第一步:给原始点数据标记正确的原生坐标系(WGS84,EPSG编码4326)
  • 第二步:将点数据投影转换为和社区边界一致的Amersfoort / RD New坐标系
  • 第三步:验证坐标范围匹配后,执行空间连接操作

正确代码示例

# 点数据转换、投影代码
locaties_sf <- 
  locaties_df %>% 
  # 先给原始经纬度标记正确的WGS84坐标系
  st_as_sf(coords = c(x = "xcoord", y = "ycoord"), crs = 4326) %>% 
  # 投影转换为和社区边界一致的坐标系
  st_transform(crs = st_crs(neigbourhood_boundries_sf))

# 验证坐标范围:确认点的bbox和社区边界的x(10425~278026)、y(306846~621876)范围匹配
st_bbox(locaties_sf)

# 执行空间连接
st_join(locaties_sf, neigbourhood_boundries_sf, join = st_within)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:09:02