Количество плиток меньше количества очков после выполнения воронои тесселяции в R - PullRequest
0 голосов
/ 25 мая 2018

Я сгенерировал вороной тесселяцию для района Банкура в Западной Бенгалии, используя код,

India <- getData("GADM", country = "India", level = 2)
wb1 <- subset(India, NAME_1 == "West Bengal")
bankura <- subset(wb1,NAME_2=="Bankura")
voronoipolygons <- function(x, poly) {
library(deldir)
if (.hasSlot(x, 'coords')) {
crds <- x@coords  
} else crds <- x
bb = bbox(poly)
rw = as.numeric(t(bbox(poly)))
z <- deldir(crds[,1], crds[,2],rw=rw)
w <- tile.list(z)
polys <- vector(mode='list', length=length(w))
require(sp)
for (i in seq(along=polys)) {
pcrds <- cbind(w[[i]]$x, w[[i]]$y)
pcrds <- rbind(pcrds, pcrds[1,])
polys[[i]] <- Polygons(list(Polygon(pcrds)), ID=as.character(i))
}
SP <- SpatialPolygons(polys)

 SpatialPolygonsDataFrame(
 SP, data.frame(data=data.frame(dummy = seq(length(SP)), 
               row.names=sapply(slot(SP, 'polygons'), 
                                function(x) slot(x, 'ID')))))  
}
tess_prim <- voronoipolygons(prim_school, bankura)
proj4string(tess_prim) <- proj4string(bankura)
final_prim <- gIntersection(bankura, tess_prim, byid=TRUE)
pal <- colorRampPalette(c("blue", "green", "red","yellow"))
plot(final_prim, col=pal(length(final_prim)), border="black")
points(prim_school, pch=20)

Здесь файл prim_school содержит информацию о широте и долготе начальных школ в округе.Проблема в том, что в файле 2336 наблюдений.Но когда я проверяю плитки, созданные в рамках тесселяции вороной, число плиток равно 2309. Почему это происходит?Почему количество полигонов меньше количества наблюдений?

...