gTouches
或gIntersects
如何在rgeos
?
library(rgeos)
library(maptools)
wc <- subset(wrld_simpl, NAME == "China")
world <- subset(wrld_simpl, !NAME == "China")
創建一個向量來存儲測試:
tst <- logical(nrow(world))
做測試:
for (i in 1:nrow(world)) {
tst[i] <- gTouches(wc, world[i,])
}
看到的結果是:
levels(world$NAME)[world$NAME[tst]]
[1] "India" "Russia"
plot(wc)
plot(world[tst, ], add = TRUE, col = "grey")
(在世界上沒有其他書信事務將進入,但gInterse cts似乎給出了更好的答案)。
我強烈建議你把這些內置的數據集謹慎,你肯定需要得到你的手可靠的數據,如果你使用任何非平凡的目的這樣的一個工具。幾何和數據已經夠棘手了。 :)
for (i in 1:nrow(world)) {
tst[i] <- gIntersects(wc, world[i,])
}
length(levels(world$NAME)[world$NAME[tst]])
[1] 14
plot(world[tst, ], col = "firebrick")
plot(wc, add = TRUE, col = "grey")
這是一個很好的解決方案,特別是與gIntersects,謝謝! – userk