স্টোরেজ, ভিজুয়ালাইজেশন এবং বিশ্লেষণের জন্য কীভাবে সেরা মডেল জিপিএস ট্র্যাক করবেন?


17

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

আমি অবাক হয়েছি ট্র্যাকপয়েন্টগুলির বিষয়ে সবচেয়ে ধারণামূলক শক্তিশালী ডেটা মডেলটি কী হওয়া উচিত এবং এখানে কিছু "প্রার্থী" রয়েছে:

  1. ট্র্যাককে ট্র্যাকপয়েন্টের ক্রম হিসাবে বিবেচনা করা:

    1.1। মানচিত্রের অনুমান 2D হওয়ায় ট্র্যাকগুলি "2D" হিসাবে বিবেচনা করা হয়। ট্র্যাকপয়েন্টগুলিতে উচ্চতা থাকতে পারে বা না থাকতে পারে, টাইমস্ট্যাম্প থাকতে পারে বা নাও থাকতে পারে। উচ্চতা এবং টাইমস্ট্যাম্প বিবেচনা "অতিরিক্ত", "alচ্ছিক"। পার্থিব অ্যাপ্লিকেশনগুলির জন্য, এলিভেশন হ'ল ল্যাট / লম্বের একটি সরাসরি কাজ (ডিএম এর মাধ্যমে প্রাপ্ত);

    1.2। ভৌগলিক স্থানটি প্রকৃতপক্ষে 3 ডি হওয়ায় ট্র্যাকগুলি "3 ডি" হিসাবে বিবেচনা করা হয়, এবং গ্রহীতার ট্রাজেক্টোরি 3 ডি (2 ডি প্রক্ষেপণ এভাবে ডেটা হ্রাসের একটি রূপ)। টাইমস্ট্যাম্প উপস্থিত থাকতে পারে বা নাও থাকতে পারে (ট্র্যাকটি হাতে আঁকতে পারে)।

    1.3। ট্র্যাকগুলি "4D" (3 স্থানিক + সময়) হিসাবে বিবেচনা করা হয়। সুতরাং, একটি হাতে আঁকা মানচিত্রটি একটি বিশেষ ক্ষেত্রে যেখানে উচ্চতা এবং টাইমস্ট্যাম্প nullউপস্থিত থাকে বা অন্যথায় উপস্থিত হয় না তবে ট্র্যাকপয়েন্টের বৈশিষ্ট্যগুলি সর্বদা "সেখানে" থাকে।

  2. ট্র্যাকগুলি স্ট্রিমগুলির অভিধান হিসাবে বিবেচিত হয়, যেখানে সমস্ত স্ট্রিমের সমান দৈর্ঘ্য রয়েছে। অক্ষাংশের তালিকা, দ্রাঘিমাংশের তালিকা, উচ্চতার তালিকা, টাইমস্ট্যাম্পগুলির একটি ইত্যাদি রয়েছে যা প্রতিটি সংখ্যার পরিসংখ্যান গণনা করা সহজ করে তোলে এবং ট্র্যাকপয়েন্টের ধারণাটি একটি অর্থে "ভার্চুয়াল" হয়ে যায়, কারণ এটি একটি বহু স্রোতের ক্রস-বিভাগ।

আমি যদি সঠিকভাবে বুঝতে পারি তবে জিপিএক্স ফর্ম্যাটটি 1.1% গ্রহণ করে, কেএমএল 1.2 গ্রহণ করে। (টাইমস্ট্যাম্পের জন্য কোনও সমর্থন ছাড়াই), এবং স্ট্রভা এপিআই 2 গ্রহণ করে (জেএসওএন ফর্ম্যাটে), তবে শেষ পর্যন্ত এগুলি কেবল সিরিয়ালাইজেশন এবং স্টোরেজ করার জন্য কেবল ফাইল ফর্ম্যাট, মডেলিং, গণনা উপস্থাপনা এবং নম্বর ক্রঞ্চিংয়ের জন্য প্রয়োজনীয় নয়।

বস্তু-ভিত্তিক অর্থে এমন কোন রূপ কী পছন্দসই, এবং কেন? (আমি বিশ্বাস করি যে শক্তিশালী টাইপিং এবং বুদ্ধিমান মডেলিং কমপক্ষে এমন ক্রিয়াকলাপগুলি এড়িয়ে যাবে যেগুলি বোঝায় না)।

সম্পাদনা: কিছু "আগ্রহী" অতিরিক্ত প্রশ্ন:

  • কোনও হাতে আঁকানো ট্র্যাকটি কি একইভাবে ডিভাইস-রেকর্ড করা ট্র্যাকলগ একই জিনিস? এগুলি কি বিভিন্ন উপাত্তের হওয়া উচিত?
  • এটিকে "সঠিক" হিসাবে বিবেচনা করা উচিত যে কেএমএল নাল উন্নতকে শূন্য হিসাবে সঞ্চয় করে? শূন্য একটি উচ্চতা, এবং আপনি যদি উচ্চতাটি জানেন না তবে আপনাকে এটিতে একটি সংখ্যা শূন্য দেওয়া উচিত নয়, তাই না?
  • উচ্চতা সহ একটি ট্র্যাকের ক্ষেত্রে কী কী উত্থাপিত হওয়া উচিত, যদি ডিইএম ডেটা ("অফলাইন") বা জিপিএস ডেটা বা ব্যারোমেট্রিক ডেটা ("ক্ষেত্রের") থেকে উচ্চতা বের করা হয়? এটি কি ট্র্যাক অবজেক্টে ফ্ল্যাগ করা উচিত? বিভিন্ন ট্র্যাকপয়েন্টের বৈশিষ্ট্যে সংরক্ষিত? অগ্রাহ্য করা? সেগুলি কি আলাদা সংগ্রহের ডেটাটাইপগুলি হওয়া উচিত?
  • আমি যদি কোনও মানচিত্র সম্পাদকে কোনও ডিভাইস-রেকর্ড করা ট্র্যাক সম্পাদনা করি (পয়েন্টগুলি যুক্ত, চলন এবং সরানো), বা বিভিন্ন তারিখ থেকে ট্র্যাকগুলি একত্রিত করি, ট্র্যাকপয়েন্টগুলিতে টাইমস্ট্যাম্পগুলি কীভাবে পরিচালনা করা উচিত? এগুলি কি বাতিল করতে "পুনরায় সেট" করা উচিত? পূর্ববর্তীগুলি থেকে কোনও ভিন্ন ধরণের একটি অবজেক্ট (ট্র্যাকপয়েন্ট সংগ্রহ) তৈরি করা উচিত?

3
৩. ট্র্যাকগুলি হল x, y, z, m [] এবং সময়ের বৈশিষ্ট্যযুক্ত পয়েন্টগুলির সংকলন collection ক্যাপচার প্রতিটি পয়েন্টের জন্য এই 5 টি মানযুক্ত একটি সিএসভি ফাইল একটি শক্তিশালী ডেটা মডেলের জন্য যথেষ্ট বেশি। আপনার যদি আপনার ডেটা - এবং মেটা ডেটা সংগঠিত করার মতো অভিনব জিনিসগুলির প্রয়োজন হয় <>এবং {}আপনি এটি ভুল করছেন।
নাগেইটেক

1
আমি কেবল একটি ভাল পুরানো সিএসভি এর সাথে একমত, এটি জিপিএস রেকর্ডিংয়ের সমস্ত কিছুই উপস্থাপন করে। তবে, জিপিএক্স ফর্ম্যাটটি জিপিএস ডিভাইসগুলির জন্য বেশ সাধারণ। জিপিএস এবং কেএমএল উভয়ই এক্সএমএল ডেটা ফর্ম্যাট হওয়ায় এই লিঙ্কটি কিছুটা মূল্যবান হতে পারে। stackoverflow.com/questions/1820129/…
পিট

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

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

1
ওও পদগুলিতে, আমি একটি লাইন শ্রেণি ব্যবহার করেছি যা পয়েন্টগুলি ধরে রাখতে পারে (ল্যাট, এলএনজি, ইলে, সময়, গতি, ভার, ইত্যাদি)। এবং সেখান থেকে যে রাস্তাগুলি হাতে আঁকানো বা উদ্দেশ্যযুক্ত "ট্র্যাকগুলি" এবং ট্র্যাকগুলি প্রতিনিধিত্ব করে যা সময় / গতির ডেটা সহ একটি প্রকৃত ট্র্যাককে উপস্থাপন করে। ধারণাগতভাবে আমি তাদের পৃথক মনে করি (হাত আঁকা এবং একটি চিত্রগ্রাহক দ্বারা সরবরাহ করা, বা যেমন, একটি বাস্তব ট্র্যাক বনাম)। পদগুলি কেবল শব্দার্থবিজ্ঞান, নিশ্চিত, তবে প্রকৃত প্রকারগুলি ব্যবহার করা সহায়ক হয়েছে ("ট্র্যাক" হিসাবে কেবল সমস্ত কিছু মিশ্রিত করার চেয়ে)। এছাড়াও, যখন সিরিয়ালাইজেশন ফর্ম্যাটগুলির কথা আসে তখন আমি জিওজনকে বিবেচনা করব: en.wikedia.org/wiki/GeoJSON
চার্লি কলিন্স

উত্তর:


4

আমি মনে করি না যে এই প্রশ্নের কাছে অনেকগুলি উপায় রয়েছে, কারণ এই প্রশ্নের যথাযথভাবে উত্তর দেওয়া যেতে পারে ..

তবে এই চিন্তাগুলি প্রাসঙ্গিক হতে পারে:

ডেটা স্টোরেজ তুলনামূলকভাবে গুরুত্বহীন। আপনি যেকোনো প্রক্রিয়া, ডাটাবেস, জেএসএন, কেএমএল ইত্যাদি ব্যবহার করুন না কেন এটি এখনও "ফ্ল্যাট স্টোরেজ"।

আপনি যে সফ্টওয়্যারটি ব্যবহার করছেন তা কী কী গুরুত্বপূর্ণ এবং সফ্টওয়্যারটিতে আপনি কীভাবে ডেটা উপস্থাপন করেন যাতে আপনি আপনার মডেলিং পরিচালনা করতে পারেন।

গতি দুটি উপায় পাওয়া যায়, দূরত্বের x সময় বা কোনও জিপিএস ডিভাইস থেকে আউটপুট হিসাবে, যেখানে আপনি নিজের ডেটা স্রোস করছেন। সুতরাং সময় একটি তথ্য আইটেম ছাড়া অন্যথায় অপ্রাসঙ্গিক হয়ে যায়।

অতিরিক্তভাবে, আপনি ট্র্যাকের শুরু থেকে একটি অফসেট ব্যবহার করে সময় বিবেচনা করতে পারেন। আপনার যদি গতি এবং দূরত্ব থাকে তবে আপনি পয়েন্টগুলিতে সময়গুলি গণনা করতে পারেন। (দুটি পয়েন্টের মধ্যে দূরত্বটি বিভিন্ন পদ্ধতি দ্বারা নির্ধারিত হতে পারে )

উত্থানকে স্থানিক মডেলের অংশ হিসাবে বিবেচনা করা উচিত, তারা ট্র্যাক নিজেই সম্পর্কে আকর্ষণীয় তথ্যের পুরো হোস্ট নির্ধারণের ক্ষেত্রে প্রাসঙ্গিক, উদাহরণস্বরূপ, গ্রেড গণনা করা যেতে পারে যা আপনাকে ট্র্যাকের সাথে গতি পরিবর্তনগুলি বুঝতে দেয় understand গ্রেড না থাকলে, ত্বক থেকে পা সরিয়ে দেওয়ার কারণে কোনও ধীরগতি বা গতি বৃদ্ধি হতে পারে।

মার্জ করা ট্র্যাক এবং হাতে আঁকা ট্র্যাকগুলির ক্ষেত্রে, সময় খুব সামঞ্জস্যপূর্ণ। সময় নির্ধারণ করতে আপনি নির্বিচারে গতি প্রয়োগ করতে পারেন, উদাহরণস্বরূপ, প্রদত্ত গতিতে ট্র্যাকটি কতক্ষণ অতিক্রম করতে হবে। আপনি যদি কয়েক দিন বাদে ট্র্যাকগুলি মার্জ করে রাখেন তবে আপনার ডেটাটি সহজেই তাৎপর্যপূর্ণ হবে না তাই আপনাকে সময় ক্ষেত্রগুলি পুনরায় সেট করতে হবে, সম্ভবত অফসেটগুলি ট্র্যাকের সূচনা করে।

যদি উচ্চতা না জানা থাকে তবে এটি জানা যায় না, সুতরাং এটি শূন্য হওয়া উচিত নয়। এটি নেতিবাচকও হওয়া উচিত নয়, কারণ নেতিবাচক উচ্চতা বৈধ উচ্চতাও। (সমুদ্রপৃষ্ঠের উপত্যকাগুলির নীচে, খনিতে গর্ত ইত্যাদি)

হ্যাঁ, ডিইএমএস উপলভ্য, হ্যাঁ আপনি সেগুলি থেকে নিষ্কাশন করতে পারেন। যথেষ্ট সঠিক হবে? অসম্ভব, যথাযথতা না থাকলে সমস্যা নয়। জিপিএস বা ব্যারোমেট্রিক প্রদত্ত এলিভেশনগুলি আপনি পেতে পারেন।

সুতরাং চেষ্টা করতে এবং আপনাকে কাছে এমন একটি উত্তর দেওয়ার জন্য যা নিকটে যায়:

আপনার মত কোনো ফ্ল্যাট বিন্যাসে ডেটা সঞ্চয়, কিন্তু আমি সুপারিশ করবে, PostGRES সঙ্গে PostGIS একটি ভালো বিকল্প, এটা 3D চমত্কারভাবে পরিচালনা করা হয়। তারপরে আপনি আপনার ডেটা ম্যানিপুলেট / মডেল করতে PostGIS এ বিস্তৃত স্থানিক ফাংশন ব্যবহার করতে পারেন।

আপনি যদি বিকাশ করেন এমন কাস্টম প্রোগ্রামের কিছু ফর্ম ব্যবহার করেন তবে অ্যারের পরিবর্তে একটি অবজেক্ট ওরিয়েন্টেট পদ্ধতির ব্যবহার করুন। আপনি যদি অ্যারে ব্যবহার করেন তবে আপনি একটি ডাটাবেসও ব্যবহার করতে পারেন।


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

2
হ্যাঁ, আমি এই বিষয়টিটি স্বীকার করতে পারি। তবে, জিপিএস ট্র্যাকগুলির ব্যবহার পজিশনের ত্রুটির মধ্যে রয়েছে। আপনি কী নির্ভুলতা পেতে পারেন এটি সমস্ত বিষয়। সম্মত, সময়টি বেশ সঠিক, তবে জিপিএস অবস্থানগত ত্রুটির কারণে আপনি এটি ব্যবহার করতে ত্রুটি পাবেন। ট্র্যাক পয়েন্টগুলিতে এক সেকেন্ডের অন্তরগুলি কেবল এটিই, এক সেকেন্ড, তবে জিপিএসের অভ্যন্তরে, এর অ্যালগরিদমগুলি একটি আনুমানিক অবস্থানে পৌঁছানোর জন্য যে কোনও উপায়ে ভালভাবে বিভক্ত হতে পারে। অবশ্যই নির্বাচিত যে কোনও বিশ্লেষণ পদ্ধতিতে ডেটাটির গ্রানুলারিটি বড় প্রভাব ফেলবে
মার্ক কাপিট ২

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

0

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

  1. স্প্রিঞ্জার ভার্লাগের দ্বারা প্রকাশিত জেনাডি এবং নাটালিয়া অ্যান্ড্রিয়েনকো বইগুলি উদাহরণস্বরূপ আন্দোলনের দুর্দান্ত ভিজ্যুয়াল অ্যানালিটিকাস (একই প্রকাশকের অন্যদের মধ্যে)। অত্যন্ত বাঞ্ছনীয়.
  2. আইএসও / ওজিসি (আইএসও 191xx রীতি) এর অ্যাবস্ট্রাক্ট স্পেসিফিকেশন (ধারণাগত স্কিমা), বিশেষত আইএসও 19107 (স্পেসিয়াল স্কিমা), 19108 (টেম্পোরাল স্কিমা), 19111 (স্থানাঙ্কের দ্বারা স্থানিক রেফারেন্সিং), 19141 (চলমান বৈশিষ্ট্য) এবং 19148 (লিনিয়ার রেফারেন্সিং)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.