উচ্চতার উপর ভিত্তি করে পয়েন্টগুলির মধ্যে দূরত্ব কীভাবে পরিমাপ করবেন?


10

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

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


1
আমি মনে করি হাঁটার সময় গণনা করা ভাল । চলার গতি slালের উপর নির্ভর করে এবং উপরের দিকে নীচের চেয়ে আরও বেশি সময় নেয়।
AndreJ

1
ফ্ল্যাট-ম্যাপের দূরত্বের তুলনায় "3 ডি" দূরত্ব? পার্থক্যটি সম্ভবত আপনি যা ভাবেন তার চেয়ে কম। মাইক্রোডেমের পিছনের লোক পিটার গুথ বলেছিলেন "দূরত্ব বা অঞ্চলটি angleালের কোণের সেকেন্ড দ্বারা বৃদ্ধি করা হবে এবং যতক্ষণ না আপনি খুব বড় opালুতে না পৌঁছাবেন ততক্ষণ সেকেন্ডটি মূলত ১।"
নপটন

উত্তর:


6

এই লক্ষ্য অর্জন জিআইএসের কিছুটা প্রাথমিক কাজ, তবে কিউজিআইএসে পদ্ধতিটি তুচ্ছ নয়। আপনার সেরা সুযোগ হ'ল গ্রাসের r.walkফাংশনটি ব্যবহার করা , যা একটি অ্যানিসোট্রপিক ব্যয়ের পৃষ্ঠ (ডেম + slাল + অন্যান্য উপাদান) তৈরি করে।

প্রথমত, আপনাকে ইনপুট হিসাবে একটি ঘর্ষণ পৃষ্ঠ তৈরি করতে হবে r.walk। আপনার ক্ষেত্রে এটি আপনার ডেমের পরিমাণের সাথে একক মূল্যবান রাস্টার হতে পারে (1.0)। আপনি r.mapcalculatorসূত্রটি দিয়ে এটি তৈরি করতে পারেন : A*0+1যেখানে A আপনার ডেম।

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

এখন একটি আদর্শ ক্ষেত্রে, আপনার ব্যয় পৃষ্ঠের প্রতিটি ব্যয়ের পৃষ্ঠের জন্য শেষ পয়েন্ট রয়েছে। তত্ত্ব অনুসারে আপনি সর্বনিম্ন ব্যয়ের পাথ খুঁজে পেতে পারেন r.drainতবে আমার জন্য এটি একটি ত্রুটির মধ্যে শেষ হয়েছিল (পাইথন কিগিসারস্টার লাইব্রেরিটি আমদানি করতে পারেনি)। যদি আপনি একই ইস্যুতে চালিত হন তবে আপনি সাগা এর "সর্বনিম্ন ব্যয় পাথ" অ্যালগরিদম দিয়ে যেতে পারেন। এটি ব্যয় পৃষ্ঠের সাথে প্রতিটি শেষ পয়েন্টের জন্য একটি পয়েন্ট এবং একটি লাইন স্তর তৈরি করবে (আবার পুনরাবৃত্তির বোতামটি ব্যবহার করুন)। আপনার সমস্ত লাইন থাকার পরে, আপনি এগুলি সাগা এর "আকারের স্তরগুলি মার্জ করুন" সরঞ্জামের সাথে একক শেফফিলায় একত্রী করতে পারেন।

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


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

এটি একটি সহজ শর্ত r.walk। দুর্গম কক্ষগুলি সেট আপ করতে আপনি ঘর্ষণ মানচিত্রটি ব্যবহার করতে পারেন। নিয়ম ফাইলে r.reclassনিয়মগুলি সহ আপনার ডেমকে পুনরায় সংযুক্ত 1 thru 2000 = 1 2000 thru * = 9999করুন (যদি আপনার প্রান্তিকতা 2000 মিটার হয়)। এইভাবে অ্যালগরিদম উচ্চ ঘর্ষণ মান সহ কোষগুলি পাস করবে না, এটির চারপাশে যাওয়ার জন্য কম ব্যয় হবে।
গ্যাবর ফারকাস

এই জন্য অনেক ধন্যবাদ! গ্রাস সম্পর্কে আমার সত্যিকার অর্থে খুব বেশি জ্ঞান নেই তবে এটি সত্যিই দুর্দান্ত এক সূচনা পয়েন্ট।
traustid

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