У меня есть Shapefiles из данных переписи из US census.gov.Как я могу определить SpatialPolygonsDataFrame с помощью другого SpatialPolygonsDataFrame?
Я прочитал файлы в R, используя readOGR из библиотеки rdgal.
sp1: избирательный округ - SpatialPolygonsDataFrame
sp2: уровень блока для большей площади и с более высоким разрешением, чем sp1 - SpatialPolygonsDataFrame
Я попытался используя gIntersection из библиотеки rgeos, но это не r что мне нужно. Или я не могу понять, как правильно его использовать
Как извлечь многоугольники с низким разрешением и связанные с ними данные из sp2 с помощью sp1 в качестве пространственного ограничения? Другими словами, я хочу знать все блоки внутри sp1, где sp1 и sp2 пересекаются.
тока Рабочий раствор
ниже код возвращает вектор значений индекса для sp2, где полигон имел хотя бы одну точку внутри sp1, но я хотел бы знать, если есть более простой способ.
library(rgeos)
result <- vector()
for (i in 1:nrow(sp2)) {
if(gContains(sp1, sp2[i,])) {
result <- c(result, i)
}
}
Справочная документация не имела большого смысла, но установка byid = true делает трюк. http://rpubs.com/washcycle/district99tabblockmap –