Eu tenho um quadro de dados de coordenadas X, Y que representam pontos ao longo dos caminhos percorridos por várias entidades diferentes. Pseudo-dados aqui, mas é aproximadamente da forma:
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
O que eu gostaria de fazer é agrupar esses pontos entity_id
e, em seguida, organizar os pontos sequencialmente no tempo para criar um LineString
objeto para cada um entity_id
. A saída será de várias linhas / caminhos, cada um correspondendo a um entity_id
.
Eu posso fazer isso percorrendo cada entity_id
ponto entity_id
e usando as instruções fornecidas aqui , mas existe uma maneira mais rápida / eficiente de fazer isso utilizando GeoPandas ou Shapely, talvez com groupby
?
fonte
df.groupby('entity_id', as_index=False).agg({'geometry': lambda x: ...})