কিউজিস-এ ভারী পয়েন্টগুলি থেকে ঘনত্বের মানচিত্র তৈরি করার সর্বোত্তম উপায় কী?


18

আমি আর্কজিআইএস কার্নেল ডেনসিটি সরঞ্জামটির কার্যকারিতা পুনরাবৃত্তি করতে চাই - আমি কীভাবে এটি করতে পারি?

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

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

5x5 কিলোমিটার গ্রিড কোষ এবং 7.5 কিমি ব্যাসার্ধের কার্নেল ঘনত্ব সহ কাফিউ জাতীয় উদ্যানের বন্যজীবনের ঘনত্ব

ঘনত্ব সম্পর্কিত আগের প্রশ্নে , আর্কজিআইএস কার্নেল ঘনত্বের সরঞ্জামটি অনুকরণ করার জন্য জিআরএসএস v.kernel সরঞ্জামটি ব্যবহার করার পরামর্শ দেওয়া হয়েছিল, কিন্তু v.kernel একই কাজ করে নাম্যানুয়ালটি দেখার পরে এবং (সাফল্যের সাথে) একটি ঘনত্বের মানচিত্র তৈরি করার পরে, মনে হয় যে v.kernel ফাংশনটি কেবলমাত্র পয়েন্ট ডেনসিটির সাথে কাজ করে এবং প্রতিটি পয়েন্টের জন্য (যেমন কাঁচা গণনা) প্রতিটি পয়েন্টের ওজন নির্ধারণের জন্য কোনও ভেরিয়েবল দেওয়ার সুযোগ নেই ।

হালনাগাদ

*.surf.*গ্রাসে এমন বিভিন্ন সরঞ্জাম রয়েছে বলে মনে হচ্ছে যা ঘনত্বের উপরিভাগ তৈরি করতে সহায়তা করতে পারে - এবং এগুলি একটি ওজন কলাম বা জেড-মান গ্রহণ করে না বা রেস্টারগুলিতে সঞ্চালিত হয়। @ আন্ডারডার্ক v.surf.rst এর পরামর্শ দিয়েছিল - এবং 'জেককলাম' আমার ওজন (গণনা) পরিবর্তনশীল হবে - তবে নির্দিষ্ট গ্রিডের আকার তৈরি করতে বা একটি নির্দিষ্ট ব্যাসার্ধ ব্যবহার করার জন্য কীভাবে সরঞ্জামটি জিজ্ঞাসা করতে হবে তা আমি বুঝতে পারি না।

V.surf.rst বা অন্য কোনও পদ্ধতি কীভাবে ব্যবহার করবেন সে সম্পর্কে পরামর্শ?


নমুনা তথ্য

x,y,count
431250,8707500,0
418750,8707500,5
413750,8707500,3
411250,8707500,1
408750,8685000,0
411250,8685000,0
416250,8685000,0
416250,8682500,6
411250,8682500,3
418750,8680000,0
433750,8677500,3
421250,8677500,0
423750,8675000,1
431250,8672500,0
428750,8672500,2
426250,8672500,2
423750,8670000,0

আপনি কি আপনার ইনপুট ডেটা আরও বর্ণনা করতে পারবেন? সম্ভবত v.surf.rst v.kernel ঘাস . osgeo.org/gdp/html_grass64/v.surf.rst.html এর চেয়ে বেশি উপযুক্ত হবে । উপরে দেখানো গ্রিড সেল প্রতি আপনার একটি গণনা মান আছে?
আন্ডার ডার্ক

@unddark - কিছু নমুনা ডেটা যুক্ত করা হয়েছে। এটি গণনা সহ পয়েন্ট ডেটা (দেখা হাতির সংখ্যা) এবং গ্রিড ঘরে প্রতি একাধিক পর্যবেক্ষণ থাকতে পারে। সাধারণত আর্কজিআইএসে 'গণনা' কর্নেল ঘনত্বের সরঞ্জামের 'জনসংখ্যা' ক্ষেত্র হয়ে উঠত।
সিম্বামাঙ্গু

আমি এটির বিষয়ে যত বেশি চিন্তা করি ততই আমি বিশ্বাস করি যে আপনার ব্যবহারের ক্ষেত্রে v.kernel ভাল পছন্দ। সাহিত্য চেক করেছেন? এই ক্ষেত্রে কোন পদ্ধতিটি উপযুক্ত তা নিয়ে প্রথমে একটি প্রশ্ন জিজ্ঞাসা করুন।
আন্ডার ডার্ক

আমার প্রধান প্রশ্নটি হল অর্কভিউ থেকে কার্নেল ঘনত্বের কার্যকারিতাটি কীভাবে পুনরায় করা যায় যা একটি পরিচিত পদ্ধতি। আপনি ঠিক বলেছেন, v.kernel অবশ্যই এটি করার সঠিক উপায় নয়!
সিম্বামাঙ্গু

@ আওয়ার্ডার্ক, ধন্যবাদ - আমি প্রশ্নটি কিছুটা প্রসারিত করেছি যা সাহায্য করতে পারে; v.surf.rst উপযুক্ত দেখায় তবে এর ব্যবহার সম্পর্কে কিছু গাইডেন্স ব্যবহার করতে পারে।
সিম্বামাঙ্গু

উত্তর:


8

এর ম্যানুয়াল পৃষ্ঠা অনুসারে, জিআরএসএস কমান্ড r.resamp.filter পয়েন্ট ডেটা উপস্থাপনকারী রেস্টারদের জন্য আর্কজিআইএস পয়েন্ট স্তরগুলির জন্য ঠিক কী করবে : filter=boxএকটি "সাধারণ" রাস্টার filter=gaussজন্য বিকল্পটি ব্যবহার করুন এবং অন্যান্য আর্কজিআইএস কার্নেলের বিকল্পটি ব্যবহার করুন। -nনালার প্রচার এড়াতে পতাকা ব্যবহার করুন ।


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


আমার গ্রাস টুলবক্সে (ওএস এক্স, গ্রাস 6.৪ এ) r.resamp.filter আছে বলে মনে হচ্ছে না। তবে - যতক্ষণ না আপনি এটি উল্লেখ করেছেন, আমি বুঝতে পারিনি যে 'তাপের মানচিত্রগুলি' কেডির মতো একই জিনিস; আমি ধরে নিয়েছি তারা পুরো পৃষ্ঠকে ঘিরে ফেলছে। কিউজিআইএস-এর রাস্টার | হিটম্যাপ সরঞ্জামটি কি কেডি করে? 'ক্ষয় অনুপাত' কী?
সিম্বামাঙ্গু

আমি বিশ্বাস করি যে "হিটম্যাপ" শব্দটি জিআইএস- এর মূল অর্থ থেকে এমনভাবে রূপান্তরিত হয়েছে যা প্রায় কোনও রাস্টার মত মানচিত্রে সাধারণত এবং অস্পষ্টভাবে বোঝায়। আমি সন্দেহ করি যে কোনও জিআইএস কার্যকারিতা দেয় যা মূল অর্থের সাথে মেলে।
whuber

তদন্তের পরে, কিউজিআইএস-এর হিটম্যাপ সরঞ্জামটি কেডিতে কেডি-র অনুরূপ কিছু করে, যদি আপনি ক্ষয়ের অনুপাত 0 (ব্যাসার্ধের প্রান্তে ঘনত্ব 0 থেকে টেপারিং) সেট করেন তবে। কিছু পার্থক্য আছে বলে মনে হচ্ছে: গণিত ঘরের মান 25 x উচ্চতর (5 কিলোমিটার ব্যাসার্ধ / 2.5 কিলোমিটার সেল), যেমন ফাংশনটি কোষগুলিতে প্রয়োগ করা হয় - আর্কটি আসল বিন্দুর চারপাশে একটি ব্যাসার্ধ ব্যবহার করে বলে মনে হয়, যেখানে কিউজিআইএস ওভারল্যাপিং সেল নির্বাচন করে এবং টেপস যে বিন্দু থেকে আউট।
সিম্বামাঙ্গু

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

3
জিআরএসএস in-এ @ সিম্বামাঙ্গু আর.আরস্যাম্প.ফিল্টারটি নতুন , তবে ওএস এক্সের জন্য একটি মাসিক স্ন্যাপশট রয়েছে । এছাড়াও, হিটম্যাপ সরঞ্জামটি ঘনত্বের বিতরণের জন্য অ্যালগরিদমের কোনও পছন্দ উপস্থাপন করে বলে মনে হয় না, সুতরাং এটি কার্নেল ঘনত্ব বা r.resamp.filter এর ঠিক সমান নয়, আমার ধারণা।
Torsti

3

সাগার মডিউল 'কার্নেল ডেনসিটি অনুমান' আপনি যা খুঁজছেন তা।

কিউজিআইএস-এ সাগা মডিউল ইন্টারফেসটি ইনস্টল করুন (মেনুতে: প্লাগইনস -> পাইথন প্লাগইনগুলি আনুন ..) এবং মডিউলটি ব্যবহার করুন। শুভকামনা!


আমি সাগা ব্যবহার করতে পছন্দ করব, তবে ওএসএক্স 10.7 এ কাজ করছি এবং এখনও এটি সফলভাবে তৈরি করতে পেরেছি (ওএসএক্সের জন্য কোনও বাইনারি নেই); আমি সম্প্রতি একাধিক সংকলন পদ্ধতির চেষ্টা করে ঘন্টা ব্যবহার করেছি তবে বিল্ডগুলি সর্বদা ব্যর্থ হয়।
সিম্বামাঙ্গু

তারপরে আপনাকে অবশ্যই ওএসএক্স 10.7 এ সাগা সংকলন সম্পর্কে প্রশ্ন জিজ্ঞাসা করতে হবে। আমি যেমন সাগা দেখি আর্কজিআইএস কেডি সরঞ্জামের একমাত্র যুক্তিসঙ্গত বিকল্প।
ভ্লাদিমির

3

গ্রাস জিআইএস সহ একটি সহজ সরল পদ্ধতি যা কার্নেল ঘনত্বের চেয়ে আর্কম্যাপে পয়েন্ট ডেনসিটির আরও নিকটবর্তী:

  1. r.in.xyzএকটি নির্দিষ্ট রাস্টার রেজোলিউশনে পদ্ধতি = যোগ ব্যবহার করে একটি রাস্টার মানচিত্রে পয়েন্টগুলি আমদানি করুন (সেট করুন g.region)।

  2. ব্যবহারের r.neighborsপদ্ধতি = গড় (যা ডিফল্টভাবে হয়) দিয়ে মানচিত্রে মসৃণ এবং বিকল্প আকার ব্যবহার অনুসন্ধান ব্যাসার্ধ সেট করতে।

(এই মুহূর্তে আমার গ্রাসে অ্যাক্সেস নেই তাই আমি আসলে এটি চেষ্টা করিনি!)


v.in.xyzএবং v.neighborsকাজ করতে পারে। ম্যানুয়ালটি আপনাকে নির্ধারণ করে না যে আপনি কোন বৈশিষ্ট্যটি v.neighborsযদিও ব্যবহৃত হয় তা সেট করে ।
Torsti

2

যেমন আপনি v.surf.rst এ আরও গাইডেন্সের অনুরোধ করেছেন, এখানে আমার ইনপুট রয়েছে

প্রথমে গ্রিডের আকার সম্পর্কে - আপনি প্লাগিন -> গ্রাস -> বর্তমান গ্রাস অঞ্চল সম্পাদনা করতে পারেন এবং আউটপুট রেজোলিউশন সেট করতে পারেন। V.surf.rst থেকে আপনার আউটপুটটিতে সেই রেজোলিউশন থাকবে।

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

"... উচ্চ উত্তেজনা" পয়েন্টগুলির মধ্যে দূরত্ব বাড়িয়ে তোলে "এবং প্রতিটি পয়েন্টের প্রভাবের সীমা হ্রাস করে, কম উত্তেজনা" দূরত্ব হ্রাস করে "এবং পয়েন্টগুলি একে অপরেরকে দীর্ঘ পরিসরে প্রভাবিত করে) .."

আপনি ব্যাসার্ধের প্যারামিটারটি ব্যবহার করার কারণে আপনি টেনশন প্যারামিটারটি মোটামুটি ব্যবহার করতে পারেন।

আপনার নমুনা তথ্য থেকে, v.surf.rst এর ফলাফল নীচের মত দেখাচ্ছে এবং যুক্তিসঙ্গত বলে মনে হচ্ছে এটি গতিরোধের জন্য ওজন হিসাবে গণনাগুলি ব্যবহার করছে

এখানে চিত্র বর্ণনা লিখুন


1
এর জন্য ধন্যবাদ - সহায়তা পৃষ্ঠার চেয়ে বোঝা আরও সহজ। @ হুবারের দ্বারা উপরে উল্লিখিত হিসাবে, যদিও এই ধরণের পয়েন্টের নমুনা ডেটার জন্য ইন্টারপোলেশন সঠিক পদ্ধতি নয়।
সিম্বামাঙ্গু

2

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

আপনার যদি আর ইনস্টল করা থাকে তবে আপনার কেবলমাত্র প্লাগইন ইনস্টল করতে সক্ষম হওয়া উচিত।


1

আপনি যদি কিউগিসের বাইরে কিছুটা জাভা প্রোগ্রামিং করতে স্বীকার করেন তবে আপনি কেবল এই ঘনত্বের মানচিত্রের নির্মাতা গ্রন্থাগারটি ব্যবহার করতে পারেন ।

কনস্ট্রাক্টর ব্যবহার করে HeatMapBuilder(int w, int h, int[][] pts, int[] weights), আপনার প্রয়োজনমতো প্রতিটি পয়েন্টের জন্য একটি ওজন দেওয়া সম্ভব। আউটপুট চিত্রটি getImage()পদ্ধতিটির সাথে পুনরুদ্ধার করা যায় এবং এটির সাহায্যে আপনার ডিস্কে সংরক্ষণ করা যায় ImageIO.write("mymap.png")

এখানে আউটপুট উদাহরণ:

ওপেনকার্টো জাভা লাইব্রেরি সহ তাপের মানচিত্র

স্মুথিং শক্তি এবং রঙ প্যালেট পরিবর্তন করা সম্ভব।

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