st_join(...,join = st_within)插入具有NA行值而不是实际值的列

我有两个数据集(sf对象)。 Spatial_locations包含部署摄像机的POINT位置。 MD_full_st1包含与特定栖息地类型相对应的多边形。

现在,我希望用两个新列扩展space-locations sf数据框,这些新列表示1)POINTGON所在的POINTGON,2)POLYGON的栖息地。

我尝试使用st_join()将MD_full_st1的“ polygon-Id”和“ habitat”列中的值连接到Spatial_locations。仅当该POINT在某个POLYGON内时,才应将注释值添加到Spatial_locations。

代码

#load spatial_locations with crs set to crs of MD_full_st 
spatial_locations <- + st_as_sf(cov,coords=c("deploymentLongitude","deploymentLatitude"),crs = + st_crs(MD_full_st))

# include only columns with polygon Id and habitat type #
MD_full_st1 <- MD_full_st[,c("Id","habitat")]

# assign polygon Id and habitat type to POINTS #
loc_in_MD <- st_join(spatial_locations,MD_full_st1,join = st_within)

预期输出: -具有“ Id”和“ habitat”列的新sf对象loc_in_MD;列值Id-多边形数和栖息地类型。

输出: -具有“ Id”和“ habitat”列的新sf对象loc_in_MD;列值都是NA

我相信我的POLYGONS的坐标和POINTS不匹配,这就是为什么st_join在POLYGON内找不到任何POINT的原因。但是,我确保使用完全相同的CRS。

kewen163 回答:st_join(...,join = st_within)插入具有NA行值而不是实际值的列

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3161323.html

大家都在问