Как конвертировать список объектов psp в linnet
Используя виньетки шейп-файлов spatstat, я смог создать список объектов psp, чтобы каждая особенность шейп-файла была элементом в этом списке psp с атрибутами в виде меток. Чтобы быть конкретным, я использовал раздел 3.2.4 в виньетке следующим образом
> x<- readShapeSpatial("includes/roadshapefile.shp")
> out <- lapply(x@lines, function(z) { lapply(z@Lines, as.psp) })
> dat <- x@data
> for(i in seq(nrow(dat)))
+ out[[i]] <- lapply(out[[i]], "marks<-", value=dat[i, , drop=FALSE])
> roadlist <- do.call("c", out)
Теперь я хотел бы создать целую сеть linnet
из этого списка объектов PSP. Есть ли прямая функция, или мне нужно перебрать каждый объект psp, чтобы сделать каждый линнетом, а затем каким-то образом объединить его в целую сеть? as.linnet
не будет принимать этот список PSP в качестве допустимого ввода, потому что его класс является простым списком.
Я чувствую, что пропускаю какой-то маленький шаг. Может кто-нибудь направить меня, пожалуйста.
Как только у меня есть линнет, я хочу создать точечный шаблон, используя linfun
и получить доступ к этим атрибутам (меткам), чтобы получить неоднородную интенсивность точек.
Спасибо
1 ответ
Это решено, кажется, в последней версии 1.37 я могу сохранить атрибуты. Спасибо.
Есть ли способ объединить эти roadlist
назад и снова создайте x. На случай, если мы захотим добавить что-нибудь в каждую строку. В основном я спрашиваю по этой причине.
объект фрейма данных для использования в качестве объекта as.linnet