У меня есть большой список объектов SpatialPolygonsDataFrame, которые я создал с помощью lapply
и gdal_polygonizeR
(код здесь: https://johnbaumgartner.wordpress.com/2012/07/26/getting-rasters-into-shape-from-r/) в списке объектов RasterLayer. Теперь я хочу объединить границы частей многоугольника, которые соприкасаются внутри каждого SpatialPolygonsDataFrame, используя unionSpatialPolygons
(maptools
). Я проверил это, вызвав отдельный объект SpatialPolygonsDataFrame, и, похоже, он работает. Но когда я пытаюсь сделать это для списка всех SpatialPolygonsDataFrame, используя lapply
, я получаю сообщение об ошибке. См. код ниже (очень жаль, что мой пример не воспроизводим) и, пожалуйста, предоставьте решение, используя lapply
или альтернативу. Спасибо
#convert RasterLayers to SpatialPolygonsDataFrame objects
polyl <- lapply(rastl, gdal_polygonizeR)
#test union of polygon parts within individual SpatialPolygonsDataFrame
tmp = unionSpatialPolygons(polyl[[10]], polyl[[10]]$DN)
polyl[[10]] #n = 360 features
tmp #n = 8 features
#run union on all SpatialPolygonsDataFrame in list
polyl_union <- lapply(polyl, unionSpatialPolygons, SpP =
polyl, IDs = polyl$DN)
#Error in FUN(X[[i]], ...) : not a SpatialPolygons object