QGIS- এ অন্য স্তর দ্বারা ওভারল্যাপ করা থাকলে লেবেল বৈশিষ্ট্যগুলি এড়ানো?


16

কিউজিআইএস ২.১২.২. দিয়ে অন্য লেয়ারের বৈশিষ্ট্য ইতিমধ্যে বিদ্যমান রয়েছে এমন লেবেল স্থাপন এড়াতে আমি কীভাবে স্তর লেবেলিং সেটআপ করতে পারি?

উদাহরণস্বরূপ, যদি আমার কাছে একটি স্রোত / নদীর পলিলাইন স্তর থাকে যা লেকের "সেন্টারলাইনগুলি" ধারণ করে এবং আমি তার উপরে একটি "হ্রদ" বহুভুজ স্তরটি অঙ্কন ক্রমে রাখি তবে আমি চাই না যে নদীর স্তরটি লেকের ভিতরে লেবেল রাখবে to । পরিবর্তে, আমি বরং নদীর স্রোতের বাইরে লেবেল লাগাতে চাই (প্রয়োজন হিসাবে)। এইভাবে, আমি হ্রদ স্তর থেকে লেবেল স্থাপন করতে পারি এবং আমি লেবেলের সংঘর্ষে চলে না।

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


4
আপনার ডেটা কীভাবে সংরক্ষণ এবং পরিবেশিত হয়? পোস্টজিআইএস-এর সাথে কাজ করে, আমি আমার দৃশ্যগুলি এমন একটি দৃশ্যের সাথে সংজ্ঞায়িত করার জন্য প্রলুব্ধ হব, যেখানে নদীগুলির ছেদকগুলি হ্রদগুলির অংশগুলি পুরোপুরি ছড়িয়ে পড়ে। ভাল স্বয়ংক্রিয় লেবেলিং একটি কঠিন সমস্যা, জ্যামিতি কম তাই less
বর্ণমালা

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

উত্তর:


9

অটোমেটেড লেবেলিং সত্যিই একটি কঠিন সমস্যা, তবে বৈশিষ্ট্য জ্যামিতিটি খুব খারাপ নয়।

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

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

* আমি এখানে পোস্টগ্রিএসকিউএল / পোস্টজিআইএস এর মতো একটি আরডিবিএমএসের ব্যবহার অনুমান করি এবং কেবলমাত্র আপনার ডেটার অনুমোদনযোগ্য উত্স আপডেট করার ক্ষমতা এবং আপনার হস্তক্ষেপ ছাড়াই দর্শনটি নিজেই কার্যকর করতে পারে। তবে আপনি বৈশিষ্ট্যগুলি ক্লিপ করতে এবং মুছতে স্ট্যাটিক ফাইলগুলির সাথে সামান্য কাজও করতে পারেন, তবে আপনি যদি কোনও মানচিত্র পুনরায় দেখার পরিকল্পনা করেন তবে আমি এটিকে সুপারিশ করব না।

উদাহরণ:

নদী এবং হ্রদের দুটি শেফফাইল (ডাটাবেস টেবিল হতে পারে) দিয়ে শুরু করা হচ্ছে, নদীগুলি হ্রদকে ছেদ করে এবং লেবেলিংয়ের সমস্যা সৃষ্টি করে যা সম্পূর্ণ এবং আত্মবিশ্বাসের সাথে সমাধান করা কঠিন:

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

আপনার যদি shp2pgsql দরকার হয় তবে পোস্টগ্রিসে আনুন :

shp2pgsql -s 4326 /data/lake public.lakes | psql -d mydb

shp2pgsql -s 4326 /data/river public.rivers | psql -d mydb

তারপরে ST_Differences সহ একটি ভিউ সংজ্ঞা দিন :

CREATE OR REPLACE VIEW rivers_clipped AS
SELECT r.id, ST_Difference(r.geom, l.geom) AS geom, r.name
FROM public.rivers AS r, public.lakes AS l;

আপনার লেআউটে ভিউ যুক্ত করুন:

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

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

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


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

13

কিউজিআইএস> = 2.12 এ আপনি "লেক" বহুভুজ স্তরটিকে একটি লেবেল বাধা হিসাবে সেট করতে পারেন। এটি "লেবেল" স্তরের স্তরের বৈশিষ্ট্যগুলির মাধ্যমে 'লেবেলগুলি' বিভাগের অধীনে করা হয়। " কোনও লেবেল নেই " থেকে " এই স্তরের বৈশিষ্ট্যগুলি coveringাকা থেকে অন্যান্য লেবেলকে নিরুৎসাহিত করুন " শীর্ষে কম্বো বাক্সটি পরিবর্তন করুন ।


1
ধন্যবাদ। আমি এরকম কিছু খুঁজছিলাম এবং এর আগে ড্রপ-ডাউন বিকল্পটি লক্ষ্য করিনি। তবে আমি বলব এটি কেবলমাত্র মধ্যপন্থী সফল ছিল। 1) এটি কেবলমাত্র "ধরণের ধরণের" নদীর তীর থেকে নিরুত্সাহিত লেবেলগুলি (তারা এখনও হ্রদের মধ্যে প্রদর্শিত হয়, তবে কম) এবং 2) এখন আমার কাছে আমার লেকের নামের লেবেল নেই :( আমিও> অবমুক্ত "বৈশিষ্ট্য আচ্ছাদন থেকে লেবেলগুলি নিরুৎসাহিত" (কোন সাফল্য) এবং ওজন নিম্ন এবং উচ্চ (কোন সাফল্য), এবং প্লেসমেন্ট> অগ্রাধিকার = নিম্ন এবং উচ্চ (কোন সাফল্য) সেটিং সেটিং নদী লেবেল স্থাপনের চেষ্টা করেছি।
RyanKDalton

আহ, হয়তো আমি ভুল বুঝেছি। আপনার যদি লেকের স্তরে লেবেল থাকে তবে রেন্ডারিং ট্যাবের নীচে "লেবেলগুলি আবরণ থেকে নিরুৎসাহিত করুন" চেক বাক্সটি টিক দেওয়া আছে তা নিশ্চিত করুন। পছন্দসই ফলাফল পেতে আপনাকে এই গ্রুপের "ওজন" স্লাইডার এবং অন্যান্য বিকল্পগুলির সাথে খেলতে হবে।
ndawson

1
না, আপনি অবশ্যই সঠিক পথে ছিলেন আমি ওজন নিয়ে ঘুরেছি (লেকের বহুভুজগুলিতে উচ্চ ওজন + "বৈশিষ্ট্যগুলির অভ্যন্তরের উপরে লেবেল লাগানো ন্যূনতম করুন, নদীতে কম ওজন) এবং কাছাকাছি পৌঁছেছি, তবে সত্যিকার অর্থে কখনই নদীর পাতাগুলি লেকের উপর ছিল না The বহুভুজের অভ্যন্তরে এবং বাইরে উভয় লাইনের সাথে যুক্ত বলে মনে হচ্ছে
রায়ানকেডাল্টন

4
লেবেলিং করার সময় আপনি কেন এই লাইনগুলি সরিয়ে (বা বিভক্ত) করবেন না? এগুলি যাইহোক আপনার মানচিত্রের জন্য কার্যকর নয়।
Radouxju

4

আমি সাধারণত শক্তভাবে লেবেল খুঁজে পাই, কমপক্ষে আমার কার্টোগ্রাফারের ইন্দ্রিয়গুলি দয়া করে এমন লেবেল তৈরি করতে gene স্বয়ংক্রিয় লেবেলিং বৈশিষ্ট্যটি ৮০% সময় নিয়ে কাজ করে, আপনার নদী / হ্রদ লেবেলিংয়ের মতো সমস্যা রয়েছে যেখানে এটি দুর্দান্ত লেবেল তৈরি করে না। স্বয়ংক্রিয় লেবেলটি প্রায়শই বৈশিষ্ট্যের জ্যামিতির সাথে আবদ্ধ থাকে, উদাহরণস্বরূপ কত অংশগুলি একটি লাইনে থাকে যাতে প্রথমে সমস্ত অংশ লেবেল করা হয়। অবশ্যই কিউজিআইএস এর পুনরাবৃত্তি লেবেলিং প্রতিরোধ করার অর্থ রয়েছে যা বর্তমান মানচিত্রের দর্শনের স্কেলের উপরও নির্ভর করে।

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

ঠিক আছে, আমি আশঙ্কা করি যে আমার টিপটি আপনি প্রত্যাশা করেছিলেন তা নয়, তবে আমি আশা করি যে আমার বিকল্প পদ্ধতির সাহায্যে আমি আপনাকে কোনওভাবে সহায়তা করব।


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

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

3

" মাস্ক " নামে একটি প্লাগইন রয়েছে যা বহুভুজগুলির উপর ভিত্তি করে লেবেলগুলি ফিল্টার করতে ব্যবহৃত হতে পারে।

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


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