У мене є географічний каркас даних із ряду рядків рядків, у яких є деякі дані, пов'язані з кожною вершиною / точкою:
Point_x = (Lat, Lon, Time, ID, Data1, Data2, Data3)
Точки перетворюються у рядки на основі ідентифікатора та упорядковуються часом.
Я хочу розбити рядки рядків там, де виконується певна умова. Зараз саме тоді відстань між Точками перевищує деяке значення. Надалі це може бути те, де функція полів даних є деяким значенням. Наприклад, розділіть лінію рядка, коли Швидкість перетне 5 км / год.
Поточна проблема полягає в тому, що частина треків формується з точок, які мають дублікати ідентифікаторів, тому рядок рядків стрибає вперед і назад на величезні відстані, і я хочу, щоб порог перервав ці рядки.
Будь-які ідеї щодо правильного способу структурування цього або бібліотеки / методи, які можуть бути корисними?
У фрейму даних є понад 150 К треків з великою кількістю точок на трек, тому ефективність була б непоганою.
Ось приклад треків DF:
ID geometry
204235000 LINESTRING (37.62001 -28.99535, 37.62015 -28.9...
205400000 LINESTRING (3.807816666666666 -18.083181666666...
207138000 LINESTRING (22.73206 -34.97915833333333, 22.73...
209016000 LINESTRING (8.447673333333331 -23.522783333333...
Ось зразок з пунктів DF. Є 18 стовпців, включаючи дату, крапку (Lon, Lat), швидкість, розмір тощо тощо:
Index Heading Latitude Longitude ID
20 92.8 -35.946802 13.089695 210725000
21 93.5 -35.946912 13.091808 210725000
22 95.4 -35.965520 13.497698 210725000
23 94.7 -35.965803 13.501898 210725000
24 94.9 -35.965987 13.504573 210725000
EDIT: Намагався бути трохи зрозумілішим.
gd.head()
вітається.