Tôi muốn kết hợp các đa giác Voronoi với bản đồ, để sử dụng sau này để phân tích không gian. Tôi có số điểm và shapefile mà tôi muốn kết hợp và sau đó lưu dưới dạng đa giác không gian/shapefile. Để có được đa giác voronoi tôi sử dụng chức năng từ this topic.Kết hợp đa giác Voronoi và bản đồ
Mã của tôi là như sau:
coords<-data.frame(LONG=c(16.9252,16.9363,16.9408,16.8720,16.9167,16.9461,16.9093,16.9457,16.9171,16.8506,16.9471,16.8723,16.9444,16.9212,16.8809,16.9191,16.8968,16.8719,16.9669,16.8845),
LAT=c(52.4064,52.4266,52.3836,52.3959,52.4496,52.3924,52.4012,52.3924,52.3777,52.4368,52.4574,52.3945,52.4572,52.3962,52.3816,52.3809,52.3956,52.3761,52.4236,52.4539))
Bản đồ của tôi hiện có sẵn ở đây: https://docs.google.com/file/d/0B-ZJyVlQBsqlSURiN284dF9YNUk/edit
library(rgdal)
voronoipolygons <- function(x) {
require(deldir)
if (.hasSlot(x, 'coords')) {
crds <- [email protected]
} else crds <- x
z <- deldir(crds[,1], crds[,2])
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)
voronoi <- SpatialPolygonsDataFrame(SP, data=data.frame(x=crds[,1],
y=crds[,2], row.names=sapply(slot(SP, 'polygons'),
function(x) slot(x, 'ID'))))
}
Và mã của tôi để có được voronoipolygons:
pzn.coords<-voronoipolygons(coords)
plot(pznall)
plot(pzn.coords,add=T)
points(coords$LONG,coords$LAT)
kết quả:
Tôi muốn có đa giác voronoi này bên trong bản đồ của tôi là không gian mới.
Tôi sẽ biết ơn vì những người anwsers!
Edit:
Để được rõ ràng, tôi muốn đạt được một cái gì đó như thế này (dòng này nên được tạo ra từ đa giác Voronoi):
Nó không rõ ràng những gì bạn muốn. Bạn có các đa giác voronoi như một spatialpolygonsdataframe trong đối tượng pzn.coords. – Spacedman
Liên kết bạn cung cấp là tệp '.rdata'. Bạn có thể tạo một tệp 'myvoronietc.rdata' mới bằng cách sử dụng' save() ', ví dụ: 'save ('pzn.coords', 'lotsa_other_data', file = 'myvoronietc.rdata')'. –
Tôi muốn kết hợp cả hai tập tin, để có các đa giác voronoi bên trong bản đồ của tôi, không có ranh giới hình vuông của các đa giác voronoi nhưng trong ranh giới bản đồ của tôi. – Maciej