ฉันมี dataframe ของ geopandas ซึ่งเป็นพวงของ linestrings ที่มีข้อมูลบางอย่างที่เกี่ยวข้องกับจุดยอด / จุดแต่ละจุด:
Point_x = (Lat, Lon, Time, ID, Data1, Data2, Data3)
คะแนนจะถูกแปลงเป็น linestrings ตาม ID และเรียงตามเวลา
ฉันต้องการทำลาย linestrings ตรงจุดที่ตรงกับเงื่อนไข ตอนนี้คือเมื่อระยะทางระหว่างคะแนนมากกว่าค่าบางอย่าง ในอนาคตอาจเป็นที่ที่ฟังก์ชันของเขตข้อมูลเป็นค่าบางอย่าง ตัวอย่างเช่นแบ่ง linestring เมื่อ Speed ข้าม 5 kph
ปัญหาในปัจจุบันคือบางแทร็กเกิดจากจุดที่มี ID ซ้ำกันดังนั้นการวิ่งย้อนกลับไปมาในระยะทางไกลและฉันต้องการให้ขีดแบ่งเส้นแบ่งเหล่านี้
ความคิดใด ๆ เกี่ยวกับวิธีที่ถูกต้องในการจัดโครงสร้างนี้หรือไลบรารี / วิธีการที่อาจใช้
dataframe มีแทร็กมากกว่า 150k ที่มีหลายจุดต่อแทร็คดังนั้นประสิทธิภาพจะดี
นี่คือตัวอย่างของแทร็ก 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 คอลัมน์รวมถึงวันที่และเวลา, จุด (โหลน, ลาด), ความเร็ว, ขนาด ฯลฯ ฯลฯ :
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
แก้ไข: พยายามที่จะชัดเจนขึ้นเล็กน้อย
gd.head()
ยินดีต้อนรับสำเนาของ