SpatialPolygons - Создание набора полигонов в R из координат

Я пытаюсь создать набор полигонов из местоположений вершин, сохраненных в формате X, Y.

Вот пример моих данных - каждая строка представляет вершины для одного многоугольника. полигоны - это квадраты

square <- rbind(c(255842.4, 4111578, 255862.4, 4111578, 255862.4, 4111558, 
                  255842.4, 4111558, 255842.4, 4111578, 255842.4, 4111578),
                c(257397.0, 4111309, 257417.0, 4111309, 257417.0, 4111289, 
                  257397.0, 4111289, 257397.0, 4111309, 257397.0, 4111309))

ID <- c("SJER1", "SJER2")'

я используюSpatialPolygonsТаким образом, мои данные должны быть в списке. поэтому я создал цикл, чтобы попытаться получить мои данные в виде списка из матрицы.

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

for (i in 1:2) {  
  pts <- rbind(c(square[i,1], square[i,2]), c(square[i,3], square[i,4]), 
               c(square[i,5],square[i,6]), c(square[i,7],square[i,8]), 
               c(square[i,9],square[i,10]))
  sp1 <- list(Polygon(pts))
  sp2 <- list(Polygons(sp1,i))
  sp = SpatialPolygons(sp2)  
}
plot(sp)

Не могли бы вы помочь мне понять, как я настраиваю код для записи двух полигонов вместо одного? А также, как назначить идентификатор каждому многоугольнику, учитывая, что я использую матрицу (квадрат) в качестве исходного набора данных, и если я назначаю идентификатор символа, он преобразует все мои данные в символ.

Моя конечная цель - два полигона вSpatialPolygons первый объект с идентификаторомSJER1 а второй с удостоверением личностиSJER2 хранится вSpatialPolygons объект.

Тогда я запишу это в шейп-файл.

Ответы на вопрос(1)

Ваш ответ на вопрос