J'ai une trame de données de coordonnées X, Y qui représentent des points le long des chemins empruntés par plusieurs entités différentes. Des pseudo-données ici, mais elles sont à peu près de la forme:
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
Ce que je voudrais faire, c'est regrouper ces points par entity_id
, puis organiser les points séquentiellement dans le temps pour créer un LineString
objet pour chacun entity_id
. La sortie sera de plusieurs lignes / chemins, chacun correspondant à un entity_id
.
Je peux le faire en parcourant chaque entity_id
point entity_id
et en utilisant les instructions fournies ici , mais existe-t-il un moyen plus rapide / plus efficace de tirer parti de GeoPandas ou Shapely, peut-être avec groupby
?
df.groupby('entity_id', as_index=False).agg({'geometry': lambda x: ...})