QGIS- তে বহুভুজের মধ্যে নিয়মিত দুরত্ববিশিষ্ট # পয়েন্টের সংজ্ঞা তৈরি করা


12

বহুভুজের মধ্যে নির্দিষ্ট সংখ্যক পয়েন্ট তৈরি করতে আমি গবেষণা সরঞ্জাম "রেগুলার পয়েন্টস" ব্যবহার করেছি, তবে এটি কেবল বহুভুজের আকারের পরিবর্তে পয়েন্টগুলির একটি আয়তক্ষেত্রাকার গ্রিড গঠন করে। যেহেতু বহুভুজের মধ্যে আমার নির্দিষ্ট সংখ্যক পয়েন্ট দরকার, তাই পরীক্ষা এবং ত্রুটি ছাড়াই এটি করার কোনও উপায় আছে কি?

উদাহরণস্বরূপ, এখন আমি চাই 25 পয়েন্টগুলির মধ্যে 8 টি বহুভুজের মধ্যেই রয়েছে তবে আমি 25 পয়েন্ট চাই, তাই আমি 50 পয়েন্টে বাড়তে পারি এবং বহুভুজের মধ্যে কতটি প্রদর্শিত হবে তা দেখতে পাই

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


আমি কিউআইজিআইএসের বহুভুজের মধ্যে নিয়মিত ব্যবধানযুক্ত # পয়েন্টের সংজ্ঞায়িত তৈরি করতে চাই, এর জন্য কি কোনও প্লাগইন রয়েছে? আমি এটি আর্কিজিসের এক্সটেনশানটি ET GEOWIZARD (বহুভুজগুলিতে ইউনিফর্ম পয়েন্ট) দিয়ে করতে পারি, তবে কিউজিআইএসে আমার করা দরকার !! আপনি কি আমাকে সাহায্য করতে পারেন?
আনা মারিয়া

উত্তর:


3

কিউজিআইএস স্তর স্তরের সীমানার ক্ষেত্রে যা উল্লেখ করছে তা আসলে জ্যামিতির খাম বা বাউন্ডিং বাক্স।

আমি একটি সমাধান নথিবদ্ধ করেছি যা সম্ভবত এটি স্বয়ংক্রিয়করণে আপনি পাবেন সবচেয়ে কাছের এটি (কোনও বাগ / বৈশিষ্ট্য অনুরোধ জমা দেওয়ার সংক্ষিপ্ত)।

প্রক্রিয়া দুটি বস্তুর ক্ষেত্রের মধ্যে অনুপাতের ভিত্তিতে কাজ করে: বৈশিষ্ট্য জ্যামিতি এবং এটি সীমাবদ্ধ বাক্স)।

নীচের নীচের পদক্ষেপগুলি পরীক্ষা করুন:

  1. আপনি যে স্তরটিতে কাজ করতে চান তা নির্বাচন করুন।

  2. আপনি যে বৈশিষ্ট্যটিতে কাজ করতে চান তা নির্বাচন করুন। নিশ্চিত হয়ে নিন যে অন্য কোনও কিছুই নির্বাচিত হয়নি।

  3. পাইথন কনসোলের মধ্যে নিম্নলিখিত স্নিপেটটি চালান।

    layer = qgis.utils.iface.activeLayer()
    features = layer.selectedFeatures()
    feature = features[0]
    geom = feature.geometry()
    env_rect = geom.boundingBox()
    env_geom = QgsGeometry.fromRect(env_rect)
    env_geom.area() / geom.area()
    

    শেষ লাইনটি স্বয়ংক্রিয়ভাবে ফিরে আসবে না বলে এন্টার চাপতে ভুলবেন না sure

  4. Regular Pointsআবার সরঞ্জামটি চালান , তবে আপনার স্ক্রিপ্টের দ্বারা প্রদত্ত আউটপুট দ্বারা গুণিত বাক্সের মধ্যে আপনি যে পয়েন্টগুলি চান তা সন্নিবেশ করান ।

নীচে আমার নমুনায়, ফলাফলটি আমি আউটপুট থেকে পেয়েছি a 2 এর একটি মান। আমি 20 টি বিন্দুকে অনুরোধ করেছি প্রক্রিয়াটি আউটপুট হওয়ার জন্য যেখানে আমি আসলে কেবল চাইতাম 10 আমাকে বিনিময়ে 8 দেওয়া হয়েছিল, যা মোটামুটি কাছাকাছি। প্রকৃত আকারের উপর নির্ভর করে আপনি ফলাফলগুলি ব্যবহার করছেন ভিন্ন।

আপনি যদি এত ঝুঁকে থাকেন তবে আপনি নিয়মিত পয়েন্টগুলি আপনার পছন্দসই নম্বরটিতে না আসা পর্যন্ত ভেরিয়েবলগুলি সংশোধন করার নিয়মিত পয়েন্ট প্রক্রিয়াটি স্বয়ংক্রিয় করতে পারবেন।

নমুনা


+1 আপনার পরামর্শটি নিকটে, তবে রূপান্তর করতে ব্যর্থ হতে পারে। আপনি যা করতে চান তা হ'ল (ক) একটি স্পেসিংয়ের অনুমান করা যার ফলে কাঙ্ক্ষিত সংখ্যার পয়েন্ট বহুভুজের মধ্যে পড়বে এবং (খ) একটি এলোমেলো অফসেট (স্ক্রিনশটটিতে প্রদর্শিত ) সহ পুনরাবৃত্তি ঘটবে ।
হোবার

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

@ কোয়েলকান্থ সম্ভবত আপনি তখন নিজের ইস্যু সম্পর্কে পর্যাপ্ত তথ্য প্রকাশ করছেন না? আপনার বিশ্লেষণের পরবর্তী পদক্ষেপটি কী হবে? পয়েন্ট গ্রিড ব্যবহার বাদে আপনার লক্ষ্য অর্জনের অন্যান্য উপায়ও থাকতে পারে।
নাগেইটেক

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

0

আপনি সহজেই কেবল ক্লিপিং করতে পারেন: ঠিক যেমনটি করেছিলেন ঠিক তেমন পয়েন্টের নিয়মিত গ্রিড তৈরি করুন এবং তারপরে ভেক্টর> জিওপ্রসেসিং সরঞ্জামসমূহ> ক্লিপ, উত্পন্ন পয়েন্ট গ্রিডটি ইনপুট করুন এবং ক্লিপ মাস্ক হিসাবে বৈশিষ্ট্যটি ব্যবহার করুন।


-1

একটি সরল সমাধান স্ক্রিনশট দ্বারা পরামর্শ দেওয়া হয়। আপনি বহুভুজগুলি নতুন স্তরে এক্সট্রাক্ট করে Vector -> Data Managment Tools -> Split vector layerএগুলি আমদানি করতে পারবেন এবং তারপরে "নিয়মিত পয়েন্টস" স্যাম্পলারের ইনপুট স্তর হিসাবে আপনি যে বৈশিষ্ট্যটি (আইডি) চান তা দিয়ে স্তরটি বেছে নিতে পারেন।

আপনার যদি কয়েকটি মুভিভুক্ত বহুভুজের জন্য এটি করার দরকার হয় তবে সেগুলি সন্ধান এবং তাদের আলাদাভাবে রফতানি করা আরও কার্যকর হতে পারে। একবার আপনি নির্বাচিত হয়ে গেলে স্তরের নামের উপরে ডান ক্লিক করুন এবং চয়ন করুন Save Selection As ..., শেফফিল চয়ন করুন , বাকীটি পূরণ করুন এবং তারপরে আগের মতো পুনরাবৃত্তি করুন।

সম্পাদনা: যেহেতু আপনার কাছে ইতিমধ্যে একটি একক বৈশিষ্ট্য রয়েছে, তাই আমি কোনও সরল গ্রিড ব্যবহার করে আবার বহুভুজের সাথে ছেদ করে এবং অবশেষে সমস্ত এক্সট্রেনাস পয়েন্টগুলি মুছে ফেলতে পারি (অ্যাট্রিবিউট টেবিলের মাধ্যমে সহজতম, যেহেতু আপনি উভয়ই সহজ কেন্দ্রিক এবং মোট গণনা).


শেফফাইলে ইতিমধ্যে একটি মাত্র বহুভুজ রয়েছে।
কোয়েলঙ্কাথ

ওহ, তখন কতটা বিরক্তিকর (সত্য 25 টি পয়েন্টের পরিবর্তে 20 টি তৈরি হয়েছিল)। আমি আপনাকে hub.qgis.org/projects/quantum-gis/issues এ একটি বৈশিষ্ট্য অনুরোধ খোলার পরামর্শ দিচ্ছি - আমি মনে করি সত্য স্তরের সীমানাটি ব্যবহার করার জন্য এটির একটি অতিরিক্ত চেকবক্স থাকা উচিত।
lynxlynxlynx

-2

আপনার বহুভুজগুলিতে একটি সংজ্ঞা ক্যোয়ারী প্রয়োগ করুন (1.8 এ স্তরটিতে ডান ক্লিক করুন এবং কোয়েরিটি চয়ন করুন)। তারপরে টুলটি চালান। ক্যোয়ারী সরান।


কিভাবে এই সাহায্য করে। এটি নির্বাচন করার মতোই।
নাথান W

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