我要使用:
st_join(polygon_A, polygon_B, join=st_intersects)
要获得与当前版本相同的输出,并带有一个额外的列,该列指定polygon_A
从polygon_B
捕获的区域中所占的比例?理想情况下,此方法适用于largest=TRUE
(从polygon_A
仅返回一个匹配项的情况下返回polygon_B
的唯一记录)或largest=FALSE
(从polygon_B
返回所有匹配项的条件下) polygon_A
捕获区域的比例。
我的解决方法是使用st_intersection(polygon_A, polygon_B)
,使用st_area
计算新形状的面积(相交的结果),然后将其除以{{1 }}。有没有更好的方法来实现这一目标?或计划将其作为功能添加到polygon_A
。
为了便于记录并避免使用XY problem,我的目标是确定比例接近0.50 / 0.50或0.70 / 0.30的情况,并仔细研究以确定st_join
是否有意义。我对比例为0.99 / 0.01的情况不是很感兴趣-largest=TRUE
足以应付这些情况。