কোডটিতে ব্যবহারের জন্য একটি দ্রুত, ওপেন-সোর্স রাস্টার দাম-দূরত্বের ফাংশনটির সন্ধান করছেন


9

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

আমার নির্দিষ্ট অভিপ্রায়টি ব্যবহারকারী ক্লিকের উপর ভিত্তি করে 1000 x 1000 কস্টের রাস্টারকে কেন্দ্র করে একক পয়েন্টের জন্য দূরত্বের গণনা করা, তাই দ্রুত কার্যকরকরণ খুব গুরুত্বপূর্ণ।

এসি # বাস্তবায়ন আদর্শ হবে তবে আমি সেখানে যা কিছু আছে তার দিকে নজর দেব।

কেউ কি এমন কোনও ওপেন-সোর্স লাইব্রেরি জানেন যা এটি সমর্থন করে? আপনার সাহায্যের জন্য ধন্যবাদ!

উত্তর:


5

গ্রাস জিআইএস-এর একটি সি প্রয়োগকারী রয়েছে r.cost( উত্স , ডকুমেন্টেশন ) যা একটি মিনি-হিপ ব্যবহার করে । বিকল্প হিসাবে, আপনি ব্যয়টি গণনা করতে কুইকগ্রাফ এবং ফ্লয়েড-ওয়ারশালের মতো গ্রাফ প্যাকেজটি ব্যবহার করতে পারেন ।

গ্রাস .4.৪ এ সাম্প্রতিক পরিবর্তনগুলি r.cost উল্লেখযোগ্যভাবে দ্রুততর করেছে , তাই সম্ভবত পারফরম্যান্স যথেষ্ট ভাল হতে পারে: আমার ল্যাপটপে, এটি 1 এম সেল অঞ্চলের জন্য প্রায় 3s লাগে, বা নাইটের পদক্ষেপ সক্ষম করে 5s লাগে। গ্রাস একটি সি অ্যাপ্লিকেশন, কোনও সি # কোডবেসের জন্য ড্রপ-ইন সমাধান নয়। যদি আপনি আপনার স্ট্যাকটিতে ঠিকঠাক যোগ করছেন, আপনি পিআরডাব্লুপিএস ব্যবহার করতে পারেন গ্রাসে কল করার জন্য, এবং তারপরে ফলাফলটি আপনার অ্যাপ্লিকেশনের অন্য কোথাও ব্যবহার করতে পারেন।


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

আমি আপনার প্রশ্নের উত্তর দেওয়ার জন্য আমার প্রশ্ন আপডেট করেছি, এটি একটি মন্তব্য হিসাবে শুরু হয়েছিল, তবে খুব দীর্ঘ হয়েছে। আশা করি এইটি কাজ করবে!
স্কু করুন

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

সম্ভবত আপনি আপনার সহকর্মীর দিকে ফিরে যেতে পারেন: azavea.com/research/staff-research-projects/map-algebra ;-) আমি গ্রাস কোডটি প্রস্তাব করেছি কারণ এটির একটি দৃust় এবং দ্রুত বাস্তবায়ন, সি # জিওপ্রসেসিং স্পেসে তুলনামূলকভাবে নতুন, তাই অস্তিত্বের উপস্থিতি বাস্তবায়নের দ্বারা আসা কঠিন হতে পারে।
স্কু

scw - এখান থেকেই আমার যাত্রা শুরু হয়েছিল। আমার সমস্যাটি হ'ল তার বাস্তবায়ন উচ্চমানের গণনার জন্য প্রসেসিংয়ের সময়কে ত্যাগ করে। আমরা এখন বিপরীতে কাজ করার জন্য একটি অ্যালগরিদমে কাজ করছি। গ্রাস একটি দুর্দান্ত পরামর্শ, আমার আসলে এটি ব্যবহার করার উপায় নেই। =)
অ্যাটগল

3

আমি r.costগ্রাসে ফাংশনটি অনেক ব্যবহার করেছি । 1000 * 1000 গ্রিড কোনও সাধারণ ল্যাপটপে কোনও সমস্যা ছিল না। এছাড়াও একটি আর প্যাকেজ রয়েছে (gdistance, http://r-forge.r-project.org/projects/gdistance/ ) বিকাশাধীন । আমি অনেক দ্রুত গ্রাস পেয়েছি।


0

এটি একটি আন্ত অ্যারে জুড়ে সবচেয়ে স্বল্পতম পথটি সন্ধান করতে সক্ষম .... সি # তে লিখিত। 4000,4000 অ্যারে দিয়ে আমার ল্যাপটপে সূক্ষ্মভাবে কাজ করছে বলে মনে হচ্ছে, এক নজর দেখার মতো হতে পারে।

http://www.codeproject.com/Articles/9040/Maze-Solver-shortest-path-finder

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