2017-12-18 22 views
0

Hej, 두 개의 다각형 목록이 있습니다. 첫 번째 것은 1 다각형 (원)의 목록입니다 두 번째는 260 개의 다각형 (260 개의 직사각형) 목록입니다. 첫 번째 그림 (two lists of polygons)을 참조하십시오.R 두 개의 sfc_polygons 목록 결합

이제 원이 만지는 모든 직사각형을 유지하고 싶습니다. 그림 2 merge 및 3 result을 참조하십시오.

누군가 아이디어가 있습니까? 서버적인 것들이 있습니다. st_combine, st_intersection -하지만이 문제에는 사용할 수 없습니다.

답변

0

reprex가 없으면 완전한 대답을하기가 어렵지만, st_intersects을 사용하고 싶다고 생각합니다. 이것은 두 개의 sf 객체를 취할 수 있으며 교차하는 쌍의 벡터 목록 (sparse = TRUE) 또는 해당 인덱스가 교차하는지 여부의 전체 논리 행렬 (sparse = FALSE)을 반환합니다. 이 경우 후자를 사용하고 적절한 행만 얻으려면 filter을 사용하십시오.

1

블록이 a이고 내 원이 b 인 것으로 가정합니다. 시도해 보셨습니까

a[lenghts(st_intersects(a, b)) > 0] 

?

+0

오른쪽! 정말 고마워요. 정확히 대답입니다. –