Saya memiliki kerangka data koordinat X, Y yang mewakili titik di sepanjang jalur yang diambil oleh beberapa entitas yang berbeda. Pseudo-data di sini, tetapi kira-kira berbentuk:
entity_id lat lon time
1001 34.5 14.2 4:55 pm
1001 34.7 14.5 4:58 pm
1001 35.0 14.6 5.03 pm
1002 27.1 19.2 2:01 pm
1002 27.4 19.3 2:08 pm
1002 27.4 19.9 2:09 pm
Apa yang ingin saya lakukan adalah mengelompokkan poin-poin ini entity_id
, dan kemudian mengatur poin secara berurutan dalam waktu untuk membuat LineString
objek untuk masing-masing entity_id
. Output akan terdiri dari beberapa baris / jalur, dengan masing-masing sesuai dengan entity_id
.
Saya dapat melakukan ini dengan mengulangi entity_id
setiap titik entity_id
dan menggunakan instruksi yang disediakan di sini , tetapi apakah ada cara yang lebih cepat / lebih efisien untuk melakukan ini dengan meningkatkan GeoPandas atau Shapely, mungkin dengan groupby
?
sumber
df.groupby('entity_id', as_index=False).agg({'geometry': lambda x: ...})