লেবেলিংয়ের জন্য কেবল একটি কনট্যুর লাইন নির্বাচন করা সম্ভব?
আমার প্রতিটি লাইনের জন্য অসংখ্য লেবেল রয়েছে এবং আমি কেবলমাত্র প্রধান লেবেলগুলিকে পছন্দ করব যেমন 1000 m
এবং and1500 m
লেবেলিংয়ের জন্য কেবল একটি কনট্যুর লাইন নির্বাচন করা সম্ভব?
আমার প্রতিটি লাইনের জন্য অসংখ্য লেবেল রয়েছে এবং আমি কেবলমাত্র প্রধান লেবেলগুলিকে পছন্দ করব যেমন 1000 m
এবং and1500 m
উত্তর:
কিউজিআইএস ২.6 এ (সম্ভবত পূর্ববর্তী সংস্করণগুলিও, আমি জানি না) আপনি স্তর বৈশিষ্ট্য, Labels
ট্যাব, Rendering
বিভাগের অধীনে এটি করতে পারেন । রেন্ডারিং বিকল্পগুলির তালিকাটির প্রায় অর্ধেক নীচে হ'ল একটি বোতাম যা আপনাকে এমন একটি বাক্য লিখতে দেয় যা বৈশিষ্ট্যগুলির তালিকার সংজ্ঞা দেবে যা আসলে লেবেলযুক্ত হবে। আপনার মত প্রকাশ কিছু হবে "Elevation" IN (1000, 1500)
। বোতামটি এখানে (হলুদ রঙে) রয়েছে, আমার কাছে এটির 32 সেট উচ্চতার মান সহ কেবল লেবেল সংকেত রয়েছে:
একটি পদ্ধতির কনট্যুর স্তরটি লোড করা এবং এটি স্টাইল করা হবে। তারপরে আবার একই স্তরটি লোড করুন এবং একটি ফিল্টার প্রয়োগ করুন (স্তরের উপরে ডান ক্লিক করুন এবং 'ফিল্টার ..' এ যান) চিত্রের মতো প্রদর্শিত ফিল্টার এক্সপ্রেশন ব্যবহার করুন। আমার ক্ষেত্রে আমি 50 মিটার উল্লম্ব অন্তরগুলিতে বড় আকারের চেয়েছিলাম এবং উচ্চতার মানগুলি সম্পন্ন ক্ষেত্রটিকে "প্রোপ_ভ্যালু" বলা হয়।
যখন ফিল্টারড লেয়ারটি বড় কনট্যুরগুলি দেখায় তখন কনট্যুর লেবেলগুলি লোড হয়ে যায় এবং (যদি প্রয়োজন হয়) প্রদর্শিত লাইন শৈলীকে শক্তিশালী করে।
ফিল্টার এক্সপ্রেশন:
("prop_value" % 50) = 0
50 মিটার উল্লম্ব বিরতিতে রূপক নির্বাচন করবে। স্প্যাটিয়ালাইট ডেটাবেসগুলির সাথে কাজ করে, শেফফিলগুলি সম্পর্কে নিশ্চিত নয়।
আমি এই পদ্ধতির ব্যবহার করছি যা শর্ত অনুসারে কনট্যুরলাইনগুলির লেবেলিং এবং প্রদর্শন সহজ করে তোলে।
আমি লাইন চিহ্নের প্রস্থের "ডেটা সংজ্ঞায়িত বৈশিষ্ট্যগুলি" এবং একটি অভিব্যক্তি সহ কনট্যুরলাইনগুলির বর্ণগুলি (স্ক্রিনশট 1 দেখুন) ব্যবহার করি যার দ্বারা আপনি কাস্টম শর্তগুলির ভিত্তিতে বিভিন্ন লাইন প্রস্থ এবং লেবেলিংয়ের জন্য অনুরূপ অভিব্যক্তি প্রয়োগ করতে পারেন (স্ক্রিনশট 2 দেখুন)।
শুধুমাত্র প্রয়োজনীয় মানগুলিকে এক্সপ্রেশনগুলিতে রাখুন এবং এগুলিই।
উদাহরণস্বরূপ, আপনি যদি 500 মিটার ছাড়া অন্য কনট্যুরলাইনগুলি আড়াল করতে চান তবে আপনি রেখাঙ্কনের চিহ্নের ডেটাডাইফাইন্ড বৈশিষ্ট্যগুলির জন্য এই প্রকাশটি ব্যবহার করতে পারেন:
CASE WHEN Elevation / 500 - floor(Elevation / 500) = 0 then
color_rgba(255,255,255,100)
else
color_rgba(255,255,255,0)
end
উদাহরণস্বরূপ, কেবল 500 মিটার অন্তরকে লেবেল করার জন্য এই অভিব্যক্তিটি ব্যবহার করুন:
CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END
অর্থাত্ পৃথক লাইনের প্রস্থ প্রয়োগের জন্য ডেটা সংজ্ঞায়িত বৈশিষ্ট্যের জন্য এই জাতীয় ভাব ব্যবহার করুন:
CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN
0.25
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN
0.15
ELSE
0.1
END
আর একটি সুবিধাজনক অভিব্যক্তি হ'ল "ELEV" LIKE '%00'
(পদক্ষেপ 100 মি) বা "ELEV" LIKE '%00' OR "ELEV" LIKE '%50'
(পদক্ষেপ 50 মি) বা "ELEV" LIKE '%0'
(পদক্ষেপ 10 মি) ইত্যাদি, যেখানে "ELEV" আমার ডেটা উচ্চতা ক্ষেত্র। দ্বিতীয় বিকল্পটি কেবল তখনই কাজ করে যদি 50 একাধিক বিরতি (10 মি বা 5 মি ...) হয়।