আমার এই দুটি বহুভুজ রয়েছে:
library(sp); library(rgeos); library(maptools)
coords1 <- matrix(c(-1.841960, -1.823464, -1.838623, -1.841960, 55.663696,
55.659178, 55.650841, 55.663696), ncol=2)
coords2 <- matrix(c(-1.822606, -1.816790, -1.832712, -1.822606, 55.657887,
55.646806, 55.650679, 55.657887), ncol=2)
p1 <- Polygon(coords1)
p2 <- Polygon(coords2)
p1 <- Polygons(list(p1), ID = "p1")
p2 <- Polygons(list(p2), ID = "p2")
myPolys <- SpatialPolygons(list(p1, p2))
spdf1 = SpatialPolygonsDataFrame(myPolys, data.frame(variable1 = c(232,
242), variable2 = c(235, 464), row.names = c("p1", "p2")))
proj4string(spdf1) <- CRS("+proj=longlat +datum=WGS84 +ellps=WGS84
+towgs84=0,0,0")
plot(spdf1, col="red")
coords1a <- matrix(c(-1.830219, -1.833753, -1.821154, -1.830219, 55.647353,
55.656629, 55.652122, 55.647353), ncol=2)
p1a <- Polygon(coords1a)
p1a <- Polygons(list(p1a), ID = "p1a")
myPolys1 <- SpatialPolygons(list(p1a))
spdf2 = SpatialPolygonsDataFrame(myPolys1, data.frame(variable1 = c(2),
variable2 = c(3), row.names = c("p1a")))
proj4string(spdf2) <- CRS("+proj=longlat +datum=WGS84 +ellps=WGS84
+towgs84=0,0,0")
plot(spdf2, col="yellow", add=T)
আমি spdf1
এর ছেদকৃত অংশগুলি কাটাতে চাই spdf2
। তবে, আমি spdf1
একটি স্পেশিয়ালপলিজোনস ডেটা ফ্রেম হিসাবে থাকতে এবং এর মধ্যে থাকা কোনও তথ্য ধরে রাখতে চাই spdf1@data
।
I¹ve gDifference চেষ্টা হিসাবে অনুসরণ করে, যা অংশের বাইরে মধ্যেও spdf1
যে অন্তর্চ্ছেদ হয় spdf2
, কিন্তু তারপর ধর্মান্তরিত spdf1
SpatialPolygons (অর্থাৎ বাতিল তথ্য অন্তর্ভুক্ত spdf1@data
)।
gDifference(spdf1, spdf2, byid=T)
আমি মধ্যে কিভাবে কেটে যাবে spdf1
সঙ্গে spdf2
কিন্তু ধরে রাখা ডাটা অন্তর্ভুক্ত spdf1@data
? আমি স্প্যাটিয়ালপয়েন্টস ডেটা ফ্রেমের উপর কোনও বহুভুজকে ওভারলে কীভাবে এবং এসপিডিএফ ডেটা সংরক্ষণ না করে এই একই প্রশ্নটি পরীক্ষা করে দেখেছি?