Mam ramkę danych geopandas wiązki linii, które mają pewne dane związane z każdym wierzchołkiem / punktem:
Point_x = (Lat, Lon, Time, ID, Data1, Data2, Data3)
Punkty są konwertowane na linie na podstawie identyfikatora i uporządkowane według czasu.
Chcę przełamać pasy w miejscu, w którym spełniony jest jakiś warunek. W tej chwili odległość między punktami jest większa niż pewna wartość. W przyszłości może się zdarzyć, że funkcja pól danych ma pewną wartość. Na przykład podziel linię, gdy prędkość przekroczy 5 km / h.
Obecny problem polega na tym, że niektóre ścieżki są tworzone z punktów, które mają zduplikowane identyfikatory, więc linia liniowa skacze tam iz powrotem na duże odległości i chcę, aby próg przekroczył te linie.
Jakieś pomysły na właściwy sposób ustrukturyzowania tego lub bibliotek / metod, które mogą być przydatne?
Rama danych ma ponad 150 000 ścieżek z wieloma punktami na ścieżkę, więc wydajność byłaby niezła.
Oto przykład utworów 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...
Oto próbka z punktów DF. Istnieje 18 kolumn, w tym Datetime, Point (Lon, Lat), Speed, Size itp. Itd .:
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
EDYCJA: Próbowałem być trochę jaśniejszy.
gd.head()
byłaby mile widziana.