如何计算其他多边形距离内的多边形面积

How to calculate area of polygons within distance of other polygons

我有两个 sf 多边形对象 - 一个是地块,另一个是公园。所有地块都在至少一个公园的 2 英里范围内,但有些地块在该距离内有多个公园。公园和地块的大小或形状不统一。

对于每个地块,我想计算半英里内公园多边形的面积。其他帖子回答 how to calculate the area of each park and the distance between polygons,但没有回答我如何计算每个地块半英里范围内的公园面积。任何意见,将不胜感激。谢谢!

认为我应该post解决这个问题的步骤:

  1. 为地块创建缓冲区 sf 对象(距离 = 1/2 英里)
  2. 为缓冲区和公园创建一个路口 sf 对象(这仍然会有地块 ID,因为它基于每个地块的缓冲区)
  3. 使用st_area计算这些交叉点的​​面积
  4. 将交集 sf 对象转换为 data.table
  5. 根据 PID
  6. 将 data.table 与原始 parcel sf 对象合并

这导致 parcel sf 对象的公园面积在半英里范围内。