Преобразование пространственных слотов в списки

У меня есть кадр SpatialLinesData с 1657 различными маршрутами. Каждый маршрут имеет разную длину и различное количество узлов или точек маршрута (широта, долгота).

Например, routes@line[[87]] состоит из 7 путевых точек. Мне интересно, есть ли простой метод для извлечения координат широты, долготы или [,1] и [,2] каждого маршрута и преобразования их в список 1657.

Когда я пытаюсь это с одним routes@line[[87]]Например, я получаю сообщение об ошибке:

> as.list(routes@lines[[87]])
Error in as.list.default(routes@lines[[87]]) : 
  no method for coercing this S4 class to a vector

Существует ли метод для преобразования линейных объектов в списки?

> str(routes)
Formal class 'SpatialLinesDataFrame' [package "sp"] with 4 slots
  ..@ data       :'data.frame': 1657 obs. of  3 variables:
  .. ..$ start_time: Factor w/ 1631 levels "2016/09/09 00:00:02",..: 1 2 3 4 5 6 7 8 9 10 ...
  .. ..$ duration  : int [1:1657] 786 1248 738 786 651 660 616 889 408 475 ...
  .. ..$ difftime  :Class 'difftime'  atomic [1:1657] 2 4 19 67 92 119 170 202 206 213 ...
  .. .. .. ..- attr(*, "units")= chr "secs"
  ..@ lines      :List of 1657

> routes@lines[[87]]
An object of class "Lines"
Slot "Lines":
[[1]]
An object of class "Line"
Slot "coords":
          [,1]     [,2]
[1,] -79.92976 43.25867
[2,] -79.92984 43.25865
[3,] -79.92986 43.25868
[4,] -79.92989 43.25870
[5,] -79.92983 43.25871
[6,] -79.92983 43.25871
[7,] -79.92983 43.25871



Slot "ID":
[1] "87"

0 ответов

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