বহুভুজকে নির্দিষ্ট আকারে বিভাজন করে আর্কজিআইএস ডেস্কটপ ব্যবহার করছেন?


26

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

আমি কীভাবে এটি করতে পারি? এমন কোনও স্ট্যান্ডার্ড অ্যালগরিদম আছে যা আমি ব্যবহার করতে পারি?


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

উত্তর:


34

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

এখানে বেসিক অ্যালগরিদম। তার ইনপুট কোন সমতল মিষ্টির দিক নিয়ে গঠিত, একটি বহুভুজ পি অশূন্য এলাকার একটি লক্ষ্য এলাকায় একটি শূন্য এবং বহুভুজ এর এলাকা, এবং নন-নেগেটিভ থ্রেশহোল্ড মধ্যে T (এলাকার ইউনিট)। এর উদ্দেশ্য হ'ল পি'র লাইন দিয়ে ঝাড়ু দিকের লম্বের সাথে দুটি অংশে বিভক্ত করা , একটি লাইনের ডানদিকে এবং অপরটি লাইনের বামে, যেমন ডানহ্যান্ড অঞ্চল এবং লক্ষ্য অঞ্চল a এর মধ্যে পার্থক্য নেই তার চেয়ে অনেক বেশী টন

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

এটাই. আসুন বিবেচনা করা যাক এটি কোডিংয়ের মধ্যে যায় কি। তাই জিআইএস কাজ কোডিং আসে নিচে - রুট ফাইন্ডিং রুটিন - আপনি এটা জন্য কোড একটি জেনেরিক খণ্ড ব্যবহার করতে পারেন । এটি করার প্রয়োজন হয়

1.  Splitting the polygon by a line.
2.  Computing the area of the piece(s) to the right of the line.

উভয় অপারেশন প্রায় কোনও ভেক্টর-ভিত্তিক জিআইএসে প্রয়োগ করা হয়। যদি তা না হয় তবে আপনি লাইনটির ডানদিকে অর্ধ-প্লেন উপস্থাপন করে খুব বড় আয়তক্ষেত্র দ্বারা লাইনটি প্রতিস্থাপন করতে পারেন। পদক্ষেপ 1 হয়

1'. Clip the polygon to the rectangle.

এটি সত্যিই একটি প্রাথমিক অপারেশন।

রুট সন্ধানের সাথে শুরু করতে, আপনাকে এমন একটি বিরতি খুঁজে বার করতে হবে যাতে এর শূন্যটি মিথ্যা বলে নিশ্চিত guaran এটি সহজ: বহুভুজের খামটি ("সীমাবদ্ধ বাক্স") লাইন সুইপের দিকে প্রজেক্ট করুন। অভিক্ষেপটি হ'ল বিরতি যা আপনি চান।

এই প্রশ্নের দীর্ঘ ইতিহাস রয়েছে। আমি আর্কভিউ ৩.x এর জন্য এই অ্যালগরিদমটি অনেক আগে প্রয়োগ করেছি এবং এটি পুরানো ESRI ব্যবহারকারী ফোরামে বহুবার বর্ণনা করেছি। গুগল

হুবার বিভক্ত বহুভুজ সাইট: forums.esri.com

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

এখানে প্রতিটি মহাদেশের নীচের তৃতীয়াংশের মতো মহাদেশীয় মার্কিন যুক্তরাষ্ট্রের রাজ্যগুলি দেখতে (সমান অঞ্চলে প্রক্ষেপণে) দেখতে দেখতে। স্পষ্টতই সুইপ দিকটি উল্লম্ব ছিল।

বিকল্প পাঠ


6

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

বিভক্ত করা


0

আর্কজিআইএস প্রো ২.৩ এ একটি নতুন সরঞ্জাম রয়েছে যার নাম সাবডিভিড বহুভুজ

এটি একটিকে বহুভুজ প্রদত্ত সংখ্যার অংশ বা পছন্দসই অংশের ক্ষেত্রফল বিভাজন / উপ-বিভাগ করতে দেয় allows

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