R - столбец ID, основанный на пространственно-временной непрерывности - PullRequest
0 голосов
/ 27 января 2020

Я заинтересован в создании уникального идентификатора для пространственных точек, которые основаны на непрерывности пространства и времени (допустим, это будут полигоны).

Мой DF:

Date                  LonR    LatR       n
1 2016-06-20 00:00:00 440000 5610000     6
2 2016-06-20 00:00:00 490000 5590000    60
3 2016-06-20 00:00:00 500000 5580000    24

Дата -спифи c дата и время округляются до каждых 2 минут LonR, LatR - округленные UTM координаты (блоки 100 км2) n - количество событий в каждом поле за указанное c время Я хотел бы создать новый столбец с идентификатором, который будет основан на времени и расстоянии. Итак, я создал условие:

list <- 1:nrow(df)
for (i in list) {

temp_date <- df$Date[i]
temp_Lon <- df$LonR[i]
temp_Lat <- df$LatR[i]

df$DateDif <- temp_date-df$Date
df$LonDif <- temp_Lon-df$LonR
df$LatDif <- temp_Lat-df$LatR

df$PolygonID <- if_else(df$DateDif<=3600 & df$DataDif>=-3600 & 
                         df$LonDif <=10000 & df$LonDif>=-10000 & 
                         df$LatDif <=10000 & df$LatDif>=-10000, 1, 0)

Условие описывает необходимость включать только точки, которые находятся в пределах 10х10 км и 1-часовой период времени. Затем код должен проверить это условие для другого временного шага. На данный момент я не знаю, что делать дальше ... Мне нужен код для поиска других точек и классификации его для указания c идентификатора многоугольника (1, 2, 3 .. et c.) Желаемые результаты:

Date                  LonR    LatR       n        DataDif   LonDif LatDif PolygonID
1 2016-06-20 00:00:00 440000 5610000     6         0 secs        0      0       1
2 2016-06-20 00:00:00 490000 5590000    60         0 secs        0      0       1
3 2016-06-20 00:00:00 500000 5580000    24         0 secs   -10000  10000       1
4 2016-06-20 00:02:00 480000 5590000    84    -11120 secs    10000      0       2
5 2016-06-20 00:06:00 480000 5590000    86      -360 secs    80000      0       3
6 2016-06-20 00:08:00 490000 5580000    50      -480 secs        0  10000       1

Самое сложное, что явления, с которыми я имею дело, движутся. Таким образом, полигоны должны включать его изменение во времени, но все же с указанным условием, чтобы не включать другие явления, которые будут близки. Так что, если феномен длился 10 часов и продвинулся на 500 км, я все еще хотел бы, чтобы его ID полигона = 1, если он непрерывен во времени и пространстве. Я понимаю, что это сложный вопрос.

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

...