জিপিএস ট্র্যাকের জন্য কীভাবে একটি এলিভেশন প্রোফাইল পাবেন?


15

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

কারও কাছে এটি করার সহজতম উপায় সম্পর্কে কোনও ইঙ্গিত রয়েছে কি? আমি এখন পর্যন্ত দুটি কৌশল বিবেচনা করছি:

  • গুগল এলিভেশন এপিআই ব্যবহার করে

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

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

    অথবা, যদি এটি অটোমেশনের জন্য উপযুক্ত না হয় তবে ব্যবহারকারীকে মানচিত্রে ট্র্যানসেক্ট পয়েন্টগুলি ম্যানুয়ালি নির্বাচন করতে দেওয়া হ'ল সর্বোত্তম পন্থা হতে পারে।

  • ডাউনলোড হচ্ছে শাট্ল রাডার টোপোগ্রাফি মিশন (SRTM) ডেটা এবং স্থানীয়ভাবে ক্যোয়ারী করছেন।

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


Http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp থেকে ডেটা ডাউনলোড করার পরে @ মিরসিভিকিংয়ের জবাব সম্পর্কে আরও কিছু বিবরণ :

এখানে 72 x 24 টাইল রয়েছে, প্রতিটি 20 মিমি জিপ ফাইল যা 72.1mb 16 বিট টিআইএফ ফাইলকে (6001x6001 পিক্সেল) ডেকে নিয়ে যায়।

এটি g 120 জিবি, যা আমি সঞ্চয় করতে পারি তার চেয়ে বেশি। এটি সঙ্কুচিত রেখে এবং মহাসাগরগুলিকে উপেক্ষা করার ফলে এটি হ্রাস পাবে সম্ভবত 10 জিবি, যা এখনও খানিকটা বড়। চাহিদা অনুযায়ী ডেটা লোড করা নাটকীয়ভাবে প্রয়োজনীয় স্টোরেজ স্পেসকে হ্রাস করবে, তবে উত্স সাইটটি ধীরে ধীরে (আমি কেবল 10 কেবি / সেকেন্ড পাচ্ছিলাম) যেটিকে বেশ অযৌক্তিক করে তুলছি।


সুতরাং আপনি কি বিশ্বব্যাপী কভারেজ প্রয়োজন?
আন্ডার ডার্ক

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

এই ট্র্যাকগুলি কত দিন? ট্র্যাক পয়েন্ট এবং উচ্চতার জন্য আপনার কী ধরণের রেজোলিউশন দরকার?
সিম্বামাঙ্গু

ট্র্যাকগুলি বেশিরভাগ চলমান এবং সাইক্লিং থেকে আসে তাই 5 কিমি থেকে 100 কিলোমিটারের মধ্যে বলুন। সাধারণ গ্রেডিয়েন্টগুলি 5-10% এর চেয়ে কম হয় তাই আমি মনে করি এসআরটিএম ডেটাসেটের তুলনায় খুব কম রেজোলিউশনের সাথে যে কোনও কিছুই কেবল খুব উদ্বেগজনক হতে চলেছে ... উচ্চতা প্রোফাইল প্রদর্শন ছাড়াও, আমি উচ্চতা অর্জন / হারানো, সর্বোচ্চ / গণনা করতে চাই মিনিট উচ্চতা ইত্যাদি
টম

উত্তর:


9

স্থানীয় সমাধানের জন্য, গ্রাসকে এটি করার জন্য স্ক্রিপ্ট করা যেতে পারে:

# extract raster values at our points
# use cubic convolution for interpolation between DEM locations
v.drape in=my_pts out=pts_srtm_elev type=point rast=srtm_dem method=cubic

আমি আমার ব্যবহারের ক্ষেত্রে এবং ভি.ড্র্যাপের পারফরম্যান্সের জন্য এটির কোনও বর্ধিত সংস্করণ চালিয়েছি তা মোটেই সমস্যা ছিল না।


5

gpsvisualizer.com আপনার জন্য এটি করবে। আমি বিশ্বাস করি এটি ব্যাকগ্রাউন্ডে জিপিএসবেল এবং গুগল এপিআই ব্যবহার করছে।


5

দেখে মনে হচ্ছে আপনার জেনেরিক সমাধান হিসাবে এটি প্রয়োজন, অর্থাত্ যে সমস্ত ট্র্যাক আপনি প্রক্রিয়া করতে চান তার জন্য বিশ্বের সমস্ত উচ্চতা ডেটা আপনার কাছে উপলব্ধ রয়েছে, সুতরাং স্থানীয়ভাবে সমস্ত সিজিআইআর ডেটা স্থানীয়ভাবে সঞ্চয় করতে চান না; উপরে উল্লিখিত gpsvisualizer.com (@ ল্যাভগুলি) আপনার সেরা বাজি হতে পারে।

আপনার যদি উচ্চ রেজোলিউশনের প্রয়োজন না হয়, পুরো গ্রহের জন্য জিটিপো ডেটা সেট (1 কিলোমিটার গ্রিড) কেবলমাত্র 300 ডলার B অন্যথায়, আস্টার জিডিইএম (30 মি) এবং আসল এসআরটিএম (90 মি) ডেটাসেটগুলি উপলভ্য তবে আপনি যেমন উল্লেখ করেছেন, প্রচুর ডেটা। (প্রকৃত উত্থানের ডেটার তুলনায় প্রায়শই বড় বান্ডিল পিডিএফগুলি মুছে ফেলে ডাউনলোডের পরে এস্টার ডেটার আকার হ্রাস করা যেতে পারে - আফ্রিকা ডেটাসেট 40% হ্রাস পেয়েছিলাম যখন আমি এটি করেছি!)।

আর-তে আপনি এগুলির যে কোনও ডেটাसेट থেকে মোটামুটি দ্রুত উন্নতি প্রোফাইলটি বের করতে পারেন - যদিও রাস্টারটি লোড করতে বেশিরভাগ সময় নিতে পারে। এটি জিপিএক্স ডেটা প্রক্রিয়াকরণের জন্য একটি ছোট কাস্টম রিডজিপিএক্স ফাংশন এবং জিপিএসবেল ব্যবহার করে:

#Load elevation model and process track:
dem <- raster("E020N40.DEM")
track <- readGPXt("trackfile.gpx")
coordinates(track) <- ~Longitude+Latitude
proj4string(track) <- "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs"
#Overlay (extract) the elevation data for the track points:
track$profile <- extract(dem, track)
track <- as.data.frame(track)

'ট্র্যাক' এখন ল্যাট / লোন, অন্যান্য স্ট্যান্ডার্ড জিপিএক্স ডেটা (গতি, জিপিএস এলিভেশন ইত্যাদি) সহ জিপিএস পয়েন্টগুলির একটি সারণী এবং একটি 'প্রোফাইল' কলাম যা সেই বিন্দুতে উচ্চতা নির্দেশ করে।


4

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

অ্যাস্টার জিডিইএম ডেটাসেটটি এক সাম্প্রতিক, উচ্চতর রেজোলিউশন সমীক্ষায় 30 মিলিয়ন ডলার অনুভূমিক রেজোলিউশন, তবে মানটি সংশ্লিষ্ট এসআরটিএম ডেটার চেয়ে প্রায়শই কম থাকে।

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

@Unddark এর উত্তর অনুসরণ করে, যদি এটি একটি সাধারণ ওয়েব-ভিত্তিক সিস্টেম হতে হয় তবে গ্রাস জিআইএস সম্ভবত এটিই যাওয়ার উপায়। আমি কিছু সাফল্যের সাথে সাধারণ আন্তঃব্যয়যোগ্যতা প্লটগুলি করার জন্য আর.প্রফাইল ব্যবহার করেছি তবে আমি নিশ্চিত নই যে এটি কোন অন্তরঙ্গকরণ পদ্ধতি ব্যবহার করে; এটি সম্ভবত কেবল নিকটতম প্রতিবেশী হতে পারে। সম্পাদনা : উত্স কোডটি দেখে , r.profileনিকটতম প্রতিবেশী ব্যবহার করে, যাতে আপনি কিছু সিঁড়ি-পদবিন্যাস শিল্পকর্ম পেতে পারেন।

আরেকটি বিকল্প হতে পারে জিডিএল এবং নুমপি ব্যবহার করে পাইথন স্ক্রিপ্ট লিখতে হবে যা কিছুটা বেশি কাজ হতে পারে তবে এটি একটি দুর্দান্ত কাস্টম সমাধান তৈরি করতে পারে।


3

প্রথমে আপনি ধরণের / অনুভূমিক নির্ভুলতার কোন ধরণের সাথে সন্তুষ্ট হতে পারবেন তা নির্দিষ্ট করা উচিত।

তবে আসুন এটি ব্যবহারিক দৃষ্টিকোণ থেকে দেখুন:

  • প্রতিটি এসআরটিএম 3 টাইলের 1200x1200 কোষ থাকে , প্রতিটি ঘরটি মিটারে উচ্চতা উপস্থাপন করে একটি দুটি বাইট পূর্ণসংখ্যা মান value এটি প্রায় 2.75 মেগাবাইট কাঁচা আনপ্রেসড ডেটা।
  • 14042 এসআরটিএম 3 টাইল রয়েছে। এটা সিসিএ 38 গিগাবাইট কাঁচা ডেটা।
  • আপনার কি সত্যই পুরো বিশ্ব জুড়ে দেওয়া দরকার? আমি কল্পনা করেছি সাহারা, গোবি মরুভূমি বা সাইবেরিয়ার মাঝামাঝি কোনও জিপিএস ট্র্যাকের এলিভেশন প্রোফাইল প্রদর্শনের জন্য খুব বেশি আগ্রহ নেই, তাই নগদ টানলে এটি আবরণ করা আপনার পক্ষে অর্থনৈতিকভাবে সম্ভব নয় ( বিটিডাব্লু : এসআরটিএম 3 আবরণ না করে) গোটা বিশ্ব , তাই আপনাকে গ্রিনল্যান্ড এবং এন্টার্কটিকার মতো জায়গাগুলি নিয়ে চিন্তা করার দরকার নেই;))।
  • কিছু চালাক সংক্ষেপণ এবং ডেটা এনকোডিংয়ের সাহায্যে আপনি নাটকীয়ভাবে ডেটাসেটের আকার হ্রাস করতে পারবেন। উঁচু মান 0 থেকে 8848 পর্যন্ত হয় যাতে দুটি বিট ব্যবহৃত হয় না। এটিকে আরও কমাতে আপনি ডেল্টা সংক্ষেপণের মাধ্যমে উচ্চতাগুলি এনকোডও করতে পারেন। আপনি উল্লম্ব নির্ভুলতার কিছু ত্যাগও করতে পারেন (বলতে গেলে, 2 মি যা আপনাকে প্রতিটি ঘরের জন্য একটি অতিরিক্ত বিট সাশ্রয় করে।
  • এটি কী ধরণের জিপিএস ট্র্যাক ব্যবহার করা হবে তার উপর নির্ভর করে (হাঁটাচলা, সাইকেল চালানো, ড্রাইভিং ...) আপনার ডাটাটি ছোট টাইলগুলিতে (0.25x0.25 ডিগ্রি বলুন) ডাটাবেস টেবিলের ফাইল বা সারিগুলিতে সংরক্ষণ করতে হবে।
  • টাইলসের জন্য কিছু চতুর মেমরি ক্যাশে ব্যবহার করুন যাতে আপনার প্রায়শই ব্যবহৃত ব্যবহৃত পুনরায় লোড করার প্রয়োজন হয় না।
  • কোষ থেকে উচ্চতা গণনা করা এই পুরো ব্যবসায়ের সহজ অংশ।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.