কিউজিসে একসাথে একাধিক ক্ষেত্র অনুসারে বাছাই করা হচ্ছে?


17

কিউজিআইএস-এ একই সাথে একাধিক ক্ষেত্রগুলি বাছাই করা সম্ভব?

উদাহরণস্বরূপ, আমি রাষ্ট্রের নাম অনুসারে একটি টেবিল বাছাই করতে চাই এবং তারপরে প্রতিটি রাজ্যের মধ্যে, কাউন্টির নাম অনুসারে বাছাই করব।

এটি আর্কম্যাপে উপলব্ধ অ্যাডভান্সড সাজ্ট বিকল্পের সমান হবে।

উত্তর:


4

আসলে খুব সাধারণ কৌশল আছে। ধরুন আপনি প্রথমে "A" ক্ষেত্র অনুসারে বাছাই করতে চান এবং তারপরে "A" এর মধ্যে "বি" ক্ষেত্র অনুসারে। বৈশিষ্ট্য সারণীতে "বি" ক্ষেত্রের শিরোনামে প্রথম বাম ক্লিক (আরোহণের জন্য একবার ক্লিক করুন, উত্থানের জন্য দ্বিতীয় বার)। তারপরে মাঠের "A" শিরোনামের বাম ক্লিক করুন (একবার ASC এর জন্য, DESC এর জন্য দ্বিতীয়বার)। এই শেষ ক্রিয়াটি "এ" এর অনুরূপ মানের মধ্যে "বি" ক্ষেত্রের বাছাই সংরক্ষণের সময় "A" ক্ষেত্রটি বাছাই করবে। এটি 3 টি ক্ষেত্রের সাথে চেষ্টা করে এবং এটিও কাজ করে (তারপরে বিরক্ত হয়ে পড়ে)। আমি কিউজিআইএস ৩..3.৩-নূসা ব্যবহার করছি।


অসাধারণ! আমি এটি 3 টি ক্ষেত্র (রাজ্য, কাউন্টি, শহর) দিয়েও পরীক্ষা করেছি এবং এটি নিখুঁতভাবে কাজ করেছে - আরোহণ বা উতরাই। 3.8.3।
স্টু স্মিথ

8

আপনি বাছাই করুন এবং নম্বর প্লাগইন ব্যবহার করতে পারেন । এটি আপনাকে 3 টি ক্ষেত্রের দ্বারা একটি বিশিষ্ট টেবিলটি বাছাই করতে দেয়, তারপরে এটি একটি অতিরিক্ত ক্ষেত্র তৈরি করে যাতে সাজানো বৈশিষ্ট্যগুলির ক্রম থাকে।

দাবি অস্বীকার: আমি প্লাগইনটির লেখক।


আশা করি এটি কার্যকর হবে। আমি এটি আমার 150k রেকর্ড ডেটাসেটে সেট করেছি এবং এটি এখনও 10 মিনিট পরে চলেছে। এটি হার্ডকোডগুলিকে নতুন কলামে সাজান যাতে আপনি তারপরে এমনভাবে বাছাই করতে পারেন - এমন কোনও উপায় যা এক্সেল বা আর্কম্যাপে কাজ করে যা কোনও কলাম যুক্ত করে না? দেখতে desktop.arcgis.com/en/arcmap/10.3/manage-data/tables/...
GeorgeC

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

এটি এখনও চলছে Aআর্কম্যাপ এটি প্রায় 30 এর দশকে করেছে। আচ্ছা ভালো. সমাধানের জন্য ধন্যবাদ যদিও কারও অন্য কোনও পরামর্শ আছে কিনা তা দেখার জন্য আমি 24 ঘন্টা এই উন্মুক্ত রাখব।
জর্জিসি

ঠিক আছে, প্রতিক্রিয়ার জন্য ধন্যবাদ। প্লাগইনটি পাইথনের ফাংশনটিতে সরাসরি নির্ভর sort()করে, আমি ভাবছি কেন এটি এত ধীর। ভবিষ্যতের সংস্করণে প্রক্রিয়াটি দ্রুততর করার জন্য আমি কিছু কৌশল খুঁজে বের করার চেষ্টা করব।
আরমোরার

চমৎকার সরঞ্জাম ... আমাকে প্রচুর কাজ বাঁচিয়েছে ... অনেক প্রশংসা করেছে
কে_ম্যান

7

স্থায়ীভাবে ফলাফল সংরক্ষণ করা ঠিক থাকলে আপনি জিডিএল দিয়ে শেফফিলটি বাছাই করতে পারেন

ogr2ogr -f "ESRI Shapefile" -dialect sqlite -sql "SELECT *
FROM my_shapefile ORDER BY attr_1, attr_2, attr_3" sorted.shp my_shapefile.shp

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


1
ধন্যবাদ তবে আমি স্থায়ী কিছু করতে পছন্দ করি না কারণ এটি একাধিক ডেটাসেট উত্পন্ন করবে এবং আমি নিজেই কিউজিআইএসের মধ্যে থেকে কোনও উপায় আশা করছিলাম।
জর্জিসি

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

5

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

সুতরাং এখন আপনার এই ক্ষমতাটি রয়েছে, একাধিক ক্ষেত্র অনুসারে বাছাইয়ের জন্য এসকিউএল যুক্তিটি এসিএস (আরোহী), ডেস্ক (অবরোহক) ব্যবহার করে অর্ডার বাই স্টেটমেন্টে রয়েছে এবং আপনি একাধিক কলাম অনুসারে বাছাই করতে তাদের এক সাথে স্ট্রিং করতে পারেন:

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

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


ধন্যবাদ - এটি একটি দুর্দান্ত সমাধান তবে এই ব্যবহারের ক্ষেত্রে আমি ডেটা ফর্ম্যাটটিকে অন্য কোনওটিতে পরিবর্তন করতে চাই না।
জর্জিসি

2
আপনি এই সমাধানের জন্য .SHP এর সাথে কাজ করতে পারেন - এটি ডেটা ফর্ম্যাট পরিবর্তন করে না। এটি ব্যবহার করে দেখুন ...
ডিপিএসএসপিশিয়াল

1
@ জর্জিসি আপনি কি এটি ব্যবহার করে দেখেছেন?
ডিপিএসএসপটিয়াল

5

এটি এখন কোনও প্লাগইন বা ডাটাবেস-নির্দিষ্ট কাজ ছাড়াই করা যেতে পারে, কমপক্ষে সংস্করণ 3.2+ এর জন্য। একাধিক কলাম অনুসারে বাছাই করতে:

  1. বৈশিষ্ট্য সারণী কলামের শিরোনামে ডান ক্লিক করুন এবং "বাছাই করুন ..." চয়ন করুন
  2. concat()যথাযথ ক্রম অনুসারে আপনি যে ক্ষেত্রগুলি বাছাই করতে চান তার সাথে ফাংশন যুক্ত করুন (প্রাক্তন concat("column1", "column2"))। আপনার কোডের নীচে একটি আউটপুট পূর্বরূপ দেখানো উচিত।
  3. কলাম সাজানোর দিকনির্দেশগুলি কনফিগার করতে নীচে "ক্রম বর্ধমান" চেকবাক্সটি চেক বা চেক করুন।
  4. ঠিক আছে ক্লিক করুন, এবং সাজানোর নিশ্চিত করুন।

এই কার্যকারিতাটি # 1137 ইস্যুটির মাধ্যমে যুক্ত করা হয়েছে এবং ব্যবহারকারীর ম্যানুয়ালটির সর্বশেষ (বিকাশ) সংস্করণে .াকা রয়েছে


1
QGIS 3.6 এর সাথে সফলভাবে পরীক্ষিত।
মিঃ চে

আমি স্ট্রিং এবং একটি পূর্ণসংখ্যার নির্দিষ্ট দৈর্ঘ্য নেই, সুতরাং একটি নির্দিষ্ট দৈর্ঘ্যের স্ট্রিংয়ের সাথে পূর্ণসংখ্যাকে শূন্য-পূরণ করতে একটি ওয়ার্ক- concat("col1", right( ('000' || tostring( "col2" )), 4))
আওয়ার ব্যবহার করেছি

2

ঠিক আছে, এটি এখন 2018 তাই আমি বিশ্বাস করতে পারি না এটির উত্তর এখনও দেওয়া হয়নি।

  1. বৈশিষ্ট্য সারণী দর্শনটি খুলুন এবং যে কোনও কলামে ডান ক্লিক করুন, তারপরে বাছাই করুন ...

  2. ডায়ালগ উইন্ডো কনফিগার করুন অ্যাট্রিবিউট টেবিল সাজানোর ক্রম পুরো এক্সপ্রেশন সম্পাদক সহ এখন খোলা আছে

  3. পছন্দসই কলামগুলির সাথে COALESCE ফাংশনটি ব্যবহার করুন, উদাহরণস্বরূপ, এটি 3 টি কলাম দ্বারা একটি টেবিলটি সাজান (প্রথমে ID এর পরে ভার্সন এবং তারপরে ফিড)

coalesce("ID","VERSION","fid" )

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

ওকে ক্লিক করলে টেবিলটি সাজানো হবে


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

1
আপনি "||" দ্বারা ক্ষেত্রগুলি সংযুক্ত করতে পারেন অপারেটর, Coalesce প্রথম অ NULL মান প্রদান করবে যা বাছাইয়ের জন্য বৈধ নয়। সম্ভবত 11 এর আগে 1 এর জন্য আপনার কিছু ফর্ম্যাটিং ব্যবহার করা উচিত
জোল্টান

1

আপনি পারবেন না (অন্তত এই মুহূর্তে না)। দুঃখিত!

দেখুন QGIS ডকুমেন্টেশন ও খুব শেষ লাইনটি নিচে স্ক্রোল করুন।

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


2
সঠিক দয়া করে মনে রাখবেন এটি বর্তমানে সম্ভব নয় কিন্তু -1 Excel এ DBF সঙ্গে তালগোল পাকানো পরামর্শ জন্য জন্য +1
underdark

আমি বলেছিলাম এটি 'বাজে' ছিল :)
ম্যাপ্পাগনোসিস

আপনি পোস্টজিআইএস এবং স্প্যাটিয়ালাইট উল্লেখ করেছেন: কিপিআইএস-এর মধ্যে ওপি যা চেয়েছিল, তা কীভাবে করবেন, উদাহরণস্বরূপ আপনি ডিবি-প্লাগইন ব্যবহার করতে পারেন?
স্টেকো

0

@ স্যালভেস্টার স্নিকলির পরামর্শ অনুসারে, যদি আপনার ডেটা পোস্টডিসআইএস বা স্প্যাটিয়ালাইটের মতো কোনও আরডিবিএমএসে লোড করা হয় তবে আপনি আরডিবিএমএসে একটি ডাটাবেস ভিউ তৈরি করতে বিবেচনা করতে পারেন যা টেবিলার ডেটা প্রিন্ট করে, এবং তারপরে QGIS এ একটি স্তর হিসাবে পূর্বনির্ধারিত ভিউ লোড করতে পারে।

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