আমার কাছে একগুচ্ছ লাইনস্ট্রিংয়ের একটি জিওপ্যান্ডাস ডেটাফ্রেম রয়েছে যা প্রতিটি শীর্ষবিন্দু / পয়েন্টের সাথে কিছু ডেটা যুক্ত করে:
Point_x = (Lat, Lon, Time, ID, Data1, Data2, Data3)
পয়েন্টগুলি আইডির ভিত্তিতে লাইনস্ট্রিংগুলিতে রূপান্তরিত হয় এবং সময় অনুসারে অর্ডার করা হয়।
আমি লাইনস্ট্রিংগুলি যেখানে যেখানে কিছু শর্ত পূরণ করা হয়েছে সেখানে ভাঙ্গতে চাই। এখনই যখন পয়েন্টগুলির মধ্যে দূরত্বটি কোনও মানের থেকে বেশি হয়। ভবিষ্যতে এটি হতে পারে যেখানে ডেটা ক্ষেত্রগুলির একটি ফাংশনটির কিছু মূল্য রয়েছে। উদাহরণস্বরূপ, গতি 5 কিলোমিটার প্রতি পার হওয়ার সময় একটি লাস্টারিং বিভক্ত করুন।
বর্তমান সমস্যাটি হ'ল কিছু ট্র্যাকগুলি এমন পয়েন্টগুলি থেকে তৈরি করা হয়েছে যা নকল আইডির লাইনস্ট্রিংটি বিশাল দূরত্বে পিছনে পিছনে লাফিয়ে যায় এবং আমি এই লাইনগুলি ভাঙ্গার জন্য একটি প্রান্তিক চাই।
এই বা লাইব্রেরি / পদ্ধতিগুলি কার্যকর হতে পারে সেগুলি গঠনের সঠিক উপায়ে কোনও ধারণা?
এতে ডেটাফ্রেমের ট্র্যাক প্রতি অনেক পয়েন্ট সহ 150k এরও বেশি ট্র্যাক রয়েছে যাতে দক্ষতাটি দুর্দান্ত হয়।
এখানে ট্র্যাকগুলির একটি উদাহরণ ডিএফ:
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...
এখানে পয়েন্ট ডিএফ থেকে একটি নমুনা দেওয়া হয়েছে। ডেটটাইম, পয়েন্ট (লোন, ল্যাট), গতি, আকার ইত্যাদি সহ 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()
স্বাগত জানানো হবে।