জিপিএস ডেটা থেকে সর্বাধিক গতি গণনা করুন


10

আমার কাছে ট্র্যাকের জন্য কাঁচা জিপিএস লোকেশন রয়েছে এবং সর্বাধিক গতি অর্জন করা দরকার। সহজ পদ্ধতি (2 পয়েন্টের মধ্যে গতি গণনা করুন, সর্বাধিক গ্রহণ করুন) অর্থহীন বৃহৎ সংখ্যা দেবে জিপিএসের অসম্পূর্ণতার কারণে, পয়েন্টটি চারপাশে ঝাঁপিয়ে পড়েছে। এটি সমাধানের জন্য আপনি কি একটি ভাল রেডিমেড অ্যালগরিদম প্রস্তাব করতে পারেন?


যদি পয়েন্টটি চারপাশে লাফিয়ে উঠছে আপনি কি বলছেন যে কোনও স্থানে আপনার একাধিক পয়েন্ট রয়েছে? আপনার প্রশ্নের বেশিরভাগ অংশই মনে হচ্ছে আপনি রিয়েল টাইম ডেটা প্রদর্শন করতে আগ্রহী এবং পোস্টপ্রসেসিং নয় (নির্ভুলতার জন্য)।
ব্র্যাড নেসোম

আপনার যদি 'কাঁচা' জিপিএস অবস্থান থাকে তবে আপনার অবশ্যই সর্বাত্মক নটগুলিতে গতি বাড়িয়ে নেওয়া উচিত যা এনএমইএ আরএমসি স্ট্রিংয়ের একটি স্ট্যান্ডার্ড উপাদান।
নাগেইটেক

উত্তর:


13

গতি পেতে আপনার অবশ্যই সময় থাকতে হবে । এভাবে আপনি সময় বাড়িয়ে কলাম {সময়, এক্স, ওয়াই col সহ ফ্যাশনের মতো স্প্রেডশিটে আপনার পয়েন্টগুলি অর্ডার করতে পারেন।

এখানে একটি উদাহরণ দেওয়া হয়েছে যেখানে জিপিএস ইউনিটটি একটি ঘড়ির কাঁটার বিপরীতে সার্কিট প্রায় শেষ করে:

একটি ট্রিপ মানচিত্র

এই পয়েন্টগুলি সময় সমান ব্যবধানে প্রাপ্ত হয় নি। সুতরাং গতি অনুমান করা একক মানচিত্র থেকে অসম্ভব is (এই ট্রিপটি আপনাকে কল্পনা করতে সহায়তা করার জন্য, যদিও আমি প্রায় সমান বিরতিতে জিপিএস মান সংগ্রহ করা নিশ্চিত করেছিলাম , যাতে আপনি দেখতে পারেন যে ট্রিপটি দ্রুত শুরু হয়েছিল এবং দুটি মধ্যবর্তী পয়েন্টে এবং শেষের দিকে ধীর হয়ে গেছে))

কারণ আপনি গতিতে আগ্রহী, ক্রমাগত সারিগুলির পাশাপাশি সময়ের পার্থক্যের মধ্যে দূরত্বগুলি গণনা করুন। সময়ের পার্থক্যের দ্বারা দূরতাকে ভাগ করা তাত্ক্ষণিক গতির প্রাক্কলন দেয়। এখানেই শেষ এটা পেতে ওখানে যাও. আসুন সময় বিপরীতে estima অনুমানের একটি প্লট দেখুন:

গতি বনাম সময়ের প্লট

লাল পয়েন্টগুলি গতির পরিকল্পনা করে যখন ধূসর বক্ররেখা একটি ক্রুড মসৃণ হয়, কেবলমাত্র চোখের গাইড করার জন্য। সর্বাধিক গতির সময় এবং সর্বোচ্চ গতি নিজেই প্লট থেকে পরিষ্কার এবং আপনি যদি কোনও জিআইএসে স্প্রেডশিট বা সাধারণ ডেটা সংক্ষিপ্ত ফাংশন ব্যবহার করেন তবে এখন পর্যন্ত ডেটা থেকে সহজেই পাওয়া যায়। যাইহোক, এই গতির প্রাক্কলন সন্দেহজনক কারণ জিপিএস পয়েন্টগুলিতে স্পষ্টভাবে তাদের মধ্যে কিছু পরিমাপের ত্রুটি রয়েছে।

পরিমাপ ত্রুটির সাথে লড়াই করার একটি উপায় হ'ল একাধিক সময়কালের মধ্যে দূরত্বগুলি সংগ্রহ করা এবং সময়গুলি অনুমান করার জন্য সেগুলি ব্যবহার করা। উদাহরণস্বরূপ, যদি {সময়ের পার্থক্য, দূরত্ব} ডেটা পূর্বে গণনা করা হয়

d(Time) Distance
0.90        0.17
0.90        0.53
1.00        0.45
1.10        0.29
0.80        0.11

তারপরে বিচ্ছিন্ন সময়গুলি এবং দুই সময়ের পিরিয়ডের মধ্যে মোট দূরত্ব প্রতিটি ক্রমান্বয়ে সারি যুক্ত করে প্রাপ্ত হয়:

d(Time) Distance
1.80        0.70
1.90        0.98
2.10        0.74
1.90        0.40

জমে থাকা সময় এবং দূরত্বের গতি পুনরায় সাজান।

যে কোনও সময় সময়সীমার জন্য এই গণনা চালিয়ে যেতে পারে, দীর্ঘ সময় ধরে গতির প্রাক্কলন ব্যয় করতে ব্যয় করে সর্বদা মসৃণ এবং আরও নির্ভরযোগ্য প্লট অর্জন করতে পারে। যথাক্রমে 3 এবং 5 সময়সীমার জন্য গণনা করা একই ডেটার প্লটগুলি এখানে রয়েছে:

গতি বনাম সময়, 3 বিরতি গণনার প্লট

গতি বনাম সময়, 5 ব্যবধান গণনার প্লট

স্মুথিংয়ের পরিমাণের সাথে কীভাবে সর্বোচ্চ গতি হ্রাস পাবে তা লক্ষ্য করুন। এটি সর্বদা ঘটবে। কোনও অনন্য সঠিক উত্তর নেই: আপনি কতটা মসৃণ করেন তা নির্ভর করে পরিমাপের পরিবর্তনশীলতার উপর এবং কোন গতিতে আপনি গতি অনুমান করতে চান তার উপর। এই উদাহরণে আপনি সর্বাধিক গতি 2.5 হিসাবে উচ্চতর (ধারাবাহিক জিপিএস পয়েন্টের উপর ভিত্তি করে) প্রতিবেদন করতে পারেন তবে জিপিএসের স্থানে ত্রুটির কারণে এটি কিছুটা বিশ্বাসযোগ্য হবে না। পাঁচ-পিরিয়ড স্মুথের উপর ভিত্তি করে আপনি সর্বোচ্চ গতির 2.1 হিসাবে কম হিসাবে রিপোর্ট করতে পারেন।


এটি একটি সহজ পদ্ধতি তবে অগত্যা সেরা নয়। আমরা যদি জিপিএস লোকাল ত্রুটিটিকে পথের সাথে একটি উপাদান এবং পথের লম্বাকৃতির অন্য উপাদানগুলিতে বিভক্ত করি তবে আমরা দেখতে পাচ্ছি যে পথটির পাশের উপাদানগুলি পুরো দূরত পেরিয়ে যাওয়ার অনুমানকে প্রভাবিত করে না (প্রদত্ত যে পথটি যথেষ্ট পরিমাণে নমুনাযুক্ত থাকে): "কোণে কাটা" করবেন না)। পথটি বাড়ানোর জন্য লম্ব উপাদানগুলিআপাত দূরত্ব এটি সম্ভাব্যভাবে অনুমানটিকে wardর্ধ্বমুখী করে। যাইহোক, যখন জিপিএস রিডিংয়ের মধ্যে সাধারণ দূরত্ব সাধারণত দূরত্বের ত্রুটির তুলনায় বড় হয়, তখন পক্ষপাত ছোট হয় এবং সম্ভবত জিপিএস সিকোয়েন্স দ্বারা ক্যাপচার করা হয়নি এমন পথে ছোট ছোট উইগলসের জন্য ক্ষতিপূরণ দেওয়া হয় (যা কিছু কোণে কাটিয়া হয় সর্বদা সম্পন্ন)। অতএব, এই অন্তর্নিহিত পক্ষপাতীদের সাথে লড়াই করার জন্য আরও পরিশীলিত অনুমানকারী বিকাশ করা যথাযথ নয়, যদি না "উইগলস" বা জিপিএস পরিমাপের ত্রুটি যে পাথের সাথে থাকে তার সাথে জিপিএস স্যাম্পলিং ফ্রিকোয়েন্সি খুব কম হয়।

রেকর্ডের জন্য, আমরা সত্য, সঠিক ফলাফল দেখাতে পারি , কারণ এগুলি সিমুলেটেড ডেটা:

সময়ের বিপরীতে সত্য গতির প্লট

পূর্বের প্লটগুলির সাথে এটির তুলনা করে দেখায় যে এই নির্দিষ্ট ক্ষেত্রে সর্বোচ্চ কাঁচা গতি সর্বাধিককে সর্বোচ্চ সর্বাধিক গুরুত্ব দিয়েছিল যখন পাঁচ-সময়ের গতি সর্বাধিক খুব কম ছিল।

সাধারণভাবে, যখন জিপিএস পয়েন্টগুলি উচ্চ ফ্রিকোয়েন্সি সহ সংগ্রহ করা হয়, সর্বাধিক কাঁচা গতি সম্ভবত খুব বেশি থাকে: এটি প্রকৃত সর্বাধিককে ছাড়িয়ে যায়। যেকোন ব্যবহারিক ক্ষেত্রে এর চেয়ে বেশি বলার জন্য জিপিএস ত্রুটির প্রকৃতি এবং আকার, জিপিএস সংগ্রহের ফ্রিকোয়েন্সি এবং অন্তর্নিহিত পথটির জঘন্যতার পূর্ণ পরিসংখ্যান বিশ্লেষণের প্রয়োজন হবে।


2

এটি কোনও রেডিমেড স্ক্রিপ্ট বা অ্যালগরিদম নয়। নীচের চিত্রটিতে আমি গড় গতি (কেপিএফ) দেখিয়ে যা করেছি:

  1. সরাসরি জিপিএক্স ফাইলটিতে একটি জিপিএসবাবেল ফিল্টার চালান।
  2. জিআরএক্স ফাইলটি জিআরএসএস-এ রাস্টার পয়েন্টগুলিতে রূপান্তর করুন।
  3. r.neighborsএকটি নির্দিষ্ট রাস্টার উইন্ডোর গড় গতি পেতে চালান ।

আমার গড় সাইক্লিং গতি


আপনি কীভাবে স্পষ্ট করে বলতে পারেন যে অবস্থানগুলির ক্রমগুলির উপস্থাপক উপস্থাপনার থেকে গতি পাওয়া কীভাবে সম্ভব ?
whuber

আপনি জিপিএক্সবেল ব্যবহার করে জিপিএক্সের ট্র্যাকপয়েন্টগুলি থেকে গতির তথ্য সংশ্লেষ করতে পারেন। gpsbabel.org/htmldoc-de વિકાસment/filter_track.html । তারপরে এই ডেটা ভেক্টর পয়েন্ট হিসাবে আমদানি করুন এবং গ্রাসে রাস্টার রূপান্তর করুন। আমি এই চিত্রটিতে একাধিক জিপিএক্স ব্যবহার করেছি। ব্যবহার করে r.neighbors, আমি গড় গতি পাই।
maning

ব্যাখ্যার জন্য অনেক ধন্যবাদ। তবে, জিপিএসবাবেল যদি গতি গণনা করে থাকে তবে আপনি কেন r.neighbors ব্যবহার করবেন? গ্রিডে পর্যাপ্ত পরিমাণে বন্ধ থাকা অন্য কোনও রুটের সাথে গতির সাথে একা পথের গতিও সম্ভবত মিশ্রিত হবে না? এছাড়াও, যখন জিপিএস সংগ্রহের সময় অসম স্থিত হয় তখন গতির গড়পড়তা পক্ষপাতযুক্ত হয়। উদাহরণস্বরূপ, যদি আপনি 60 সেকেন্ডে 60 মিটার ভ্রমণ করেন তবে আপনি প্রতি সেকেন্ডে এক মিটার চলে গেছেন, তবে এটি যদি 1 সেকেন্ডে 10 মিটার এবং 59 সেন্টিমিটারে 50 মিটারের মধ্যে বিভক্ত হয়ে যায় (মাঝখানে বিন্দুতে +9 মি অবস্থানীয় ত্রুটির কারণে), গড় গতি 5.4 মি / সেকেন্ডে গণনা করে: একটি স্থূল ওভারসেটিমিট।
whuber

@ শুভ, আপনি সঠিক আছেন। এই মানচিত্রের জন্য, আমি স্বতন্ত্র গতি খুঁজছি না তবে সময়ের সাথে সাথে একটি সামগ্রিক গতি। আমার সমস্ত ট্র্যাক 1 সেকেন্ডের ব্যবধানে।
ম্যানেজ করা

সৃজনশীল সমাধানের জন্য +1। (আমি আপাতদৃষ্টিতে ভেক্টর সমস্যার রাস্টার সমাধানগুলি খুঁজে পেতে চাই, তবে তাদের সীমাবদ্ধতাগুলি জেনে রাখা ভাল))
হোবার

1

আপনার জিপিএস ডেটা সঠিক না হওয়ায় আপনি কেবল সর্বোচ্চ গতি অনুমান করতে সক্ষম হবেন।

ভুলগুলির প্রভাবকে হ্রাস করতে আপনি খণ্ডগুলিতে নয় পলিইনস (গড় গতি) -এ গতি গণনা করে এটি গণনা করার চেষ্টা করতে পারেন।

আপনি কি সর্বাধিক প্রাসঙ্গিক পয়েন্টগুলি রাখতে প্রথমে আপনার ডেটা পরিষ্কার করার চেষ্টা করেছেন (উদাহরণস্বরূপ ডগলাস-পিউকার)?


1
ডগলাস-পিউকার সত্যিই ডেটা পরিষ্কার করে না - এটি আসল আকৃতিটি রাখার চেষ্টা করার সময় পয়েন্টগুলি সরিয়ে দেয়, সুতরাং এটি ত্রুটিগুলি আরও খারাপ দেখায়।
জাকএল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.