Как рассчитать количество проходов через определенный пространственный многоугольник в R?(Данные GPS) - PullRequest
0 голосов
/ 20 октября 2018

Я начинающий пользователь R и хочу рассчитать количество проходов через определенный пространственный многоугольник.Структура моих данных (движущаяся машина) следующая:

`'data.frame':  4473 obs. of  5 variables:
 $ TIMESTAMP   : POSIXct, format: "2018-08-30 14:52:00" "2018-08-30 14:51:55" "2018-08-30 14:51:53" "2018-08-30 14:51:52" ...
 $ GPSLongitude: num  22.9 22.9 22.9 22.9 22.9 ...
 $ GPSLatitude : num  40.6 40.6 40.6 40.6 40.6 ...
 $ GPSHeading  : chr  "40,09" "41,67" "328,92" "328,92" ...
 $ GPSSpeed    : num  36 18 0 0 0 3.6 10.8 14.4 14.4 14.4 ...

Более того, я определил следующий пространственный многоугольник:

x_coord<- c(22.94202200198221, 22.94212252387121, 22.94187209650147, 22.94177280002484) #coord from google earth
y_coord<- c(40.63327268950896, 40.63337668693983, 40.63351336486517, 40.6334113055307)  #coord from google earth
xycoord<- cbind(x_coord, y_coord)
pol = Polygon(xycoord)
ps = Polygons(list(pol),1)
sps = SpatialPolygons(list(ps))

Я попробовал функцию pnt.in.poly(sample_data[,2:3], xycoord)чтобы найти точки, которые лежат в пределах многоугольника, но я хочу найти количество проходов.Вот карта с нанесенными точками:

plotted points image (красный цвет: многоугольник, зелено-желтые цвета: 2 транзита)

Наконец, я хочу знать, сколько раз проехал водительчерез многоугольник и точки, которые принадлежат каждому транзиту (например, первый транзит (зеленый) состоит из точек 345-355, а второй транзит (желтый) состоит из точек 1203-1220).Конечно, водитель проходил через многоугольник в разное время дня.

Заранее спасибо!

...