Создание произвольного разбиения на квадрат так, чтобы получился пространственный многоугольник

Я хочу создать фиктивную секцию на квадрате, чтобы иметь возможность обрабатывать квадрат как объект пространственного многоугольника. Я пытался использовать kmeans но чтобы создать кластер, затем создайте изображение, затем tessallation, затем пространственный многоугольник, но получающийся пространственный многоугольник имеет границы, такие, что границы не соприкасаются. То есть матрица соседства невозможна, из poly2nb функция, так как он не распознает раздел как соседей. Я знаю, что это может быть неправильным подходом к решению проблемы.

Я показываю, что я сделал

создать точки на квадрате

grid.sq <- expand.grid(seq(0,1,length=100),seq(0,1,length=100))
grid.sq <- data.frame(x1=grid.sq[,1],x2=grid.sq[,2])
#create the partition
n.C1 <- 20
D1 <- kmeans(grid.sq,n.C1)
data.aux <- data.frame(x1=grid.sq[,1],x2=grid.sq[,2])
data.aux$C1 <- D1$cluster

Затем я создаю образ и Tessalation из этого

#create the count
kkk <- data.frame(x1=grid.sq[,1],x2=grid.sq[,2], C= as.factor(data.aux$C1))
kkkk <- as.im(kkk)   #convert to image
kkkkk <- tess(image=kkkk, window = w, check=TRUE.) # convert to tessellation

Затем я конвертирую в пространственный многоугольник

shpp <- as(kkkkk , "SpatialPolygons")

Тогда я хочу изучить структуру соседства

poly2nb(shpp)

Результат

Объект списка соседей: Количество регионов: 20 Количество ненулевых ссылок: 0 Процент ненулевых весов: 0 Среднее количество ссылок: 0 20 регионов без ссылок: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Это означает, что между разделами нет связи.

0 ответов

Другие вопросы по тегам