有没有一种方法可以使用`sf :: st_join`来获取捕获区域的比例?

时间:2019-03-25 20:20:28

标签: r sf

我要使用:

st_join(polygon_A, polygon_B, join=st_intersects)

要获得与当前版本相同的输出,并带有一个额外的列,该列指定polygon_Apolygon_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足以应付这些情况。

0 个答案:

没有答案