2014-10-22 2 views
0

Я хочу создать список пространственных данных пространственного многоугольника из списка данных. Список пространственных полигонов называется list_sp_Tanzania, а список данных - list_df_Tanzania_Modis500. Каждый список содержит 61 объект, и каждый объект содержит несколько полигонов.Создайте список пространственных данных пространственного многоугольника из списка dataframe

str(list_df_Tanzania_Modis500) 
$ :'data.frame': 30 obs. of 11 variables: 
    ..$ ID  : int [1:30] 296 298 321 323 324 330 331 361 419 453 ... 
    ..$ LU_1990 : int [1:30] 11 11 11 11 11 11 11 11 11 11 ... 
    ..$ LU_2000 : num [1:30] 12 12 12 12 12 12 12 12 12 12 ... 
    ..$ CHLU_90_00: chr [1:30] "1112" "1112" "1112" "1112" ... 
    ..$ LU_2005 : num [1:30] 12 12 12 12 12 12 12 12 12 15 ... 
    ..$ CHLU_00_05: chr [1:30] "1212" "1212" "1212" "1212" ... 
    ..$ Tile  : Factor w/ 1 level "S11_E039": 1 1 1 1 1 1 1 1 1 1 ... 
    ..$ UNIQ_ID : Factor w/ 30 levels "S11_E039_296",..: 1 2 3 4 5 6 7 8 9 10 ... 
    ..$ AREA  : num [1:30] 219337 347133 393961 181875 105137 ... 
    ..$ Sour_90_00: chr [1:30] "Modis500_2000" "Modis500_2000" "Modis500_2000" "Modis500_2000" ... 
    ..$ Sour_00_05: chr [1:30] "Modis500_2005" "Modis500_2005" "Modis500_2005" "Modis500_2005" ... 

str(list_sp_Tanzania) 
[[61]] 
class  : SpatialPolygons 
features : 30 
extent  : 38.95413, 39.04577, -11.04522, -10.95469 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 

К сожалению, я не могу предоставить данные с dput, потому что они s4 objects, и я не мог найти подобные примеры. Надеюсь, кто-то может мне помочь.

+0

Я не могу видеть, как ваши два списка связан, но в основном с data.frame 30 рядов и через SpatialPolygons из 30 признаков, что вы делаете SpatialPolygons (Д.Ф., пс), необязательно с аргументами для контроля соответствия идентификатора. Если «list_df_Tanzania_Modis500» - это список, вы хотите df <- list_df_Tanzania_Modis500 [[1]]. Аналогично для list_sp_Tanzania, но я не получаю часть [[61]]? – mdsumner

+0

Часть [[61]] - это 61-й объект пространственного многоугольника в списке. В нем указано 30 функций, что означает, что в 61-м объекте пространственного многоугольника имеется 30 полигонов. –

ответ

2

Вот решение.

fun <- function(x, y) { 
    SpatialPolygonsDataFrame(x, y, match.ID = F) 
} 

list_Spdf_Tanzania_Modis500 <- mapply(FUN = fun, 
             x = list_sp_Tanzania, 
             y = list_df_Tanzania_Modis500) 
Смежные вопросы