কিউজিআইএস পোস্টজিআইএস ভিউ যুক্ত করার চেষ্টা করার সময় "অবৈধ স্তর" বার্তাটি ফেরত দেয়?


14

আমি পোস্টগিস এবং কিউজিআইএস-এ নতুন। আমি হিসাবে সংজ্ঞায়িত একটি ভিউ তৈরি করেছি

CREATE OR REPLACE VIEW pupr.vstudentmuni AS 
 SELECT m.id AS munid, m.name AS muname, m.geom, s.code, 
    (s.name::text || ' '::text) || s.lastname::text AS fullname
   FROM pupr.municipio m, pupr.student_location l, pupr.student s
  WHERE st_within(l.geom, m.geom) AND s.code = l.code;

PostgreSQL এ। কিউজিআইএস-এ এই দর্শনটি যুক্ত করার চেষ্টা করলে নিম্নলিখিত ত্রুটিটি ফিরে আসে ...

"Invalid layer"..."sql= is an invalid layer and cannot be loaded."

কি সমস্যা সেটি নিশ্চিত না। geommetry_columnsপোস্টজিআইএস-এ টেবিলটিতে টেবিলটি উল্লেখ করা হয়েছে , তবে আমি কিউজিআইএস-এ একটি বার্তা এন্ট্রি দেখতে পাচ্ছি যা "প্রদত্ত দর্শনের জন্য কোনও মূল ক্ষেত্র নয়" বলে। আমি PostgreSQL 9.2 এবং QGIS 1.8.0 ব্যবহার করছি।


1
সমস্যাটি অনন্য কী ক্ষেত্রের সাথে সম্পর্কিত বলে মনে হচ্ছে, আপনার অবশ্যই একটি থাকতে হবে। আমি আপনার ডেটা জানি না, আপনি নিজের প্রশ্নের সাথে আপনি কী অর্জন করতে চান সে সম্পর্কে আপনি হয়ত আরও কিছুটা ব্যাখ্যা করতে পারেন। কিউজিআইএস-এ আপনি কীভাবে স্তরটি খুলছেন? আপনি একটি চাবি চয়ন করেছেন? আপনি যা বর্ণনা করেছেন তা থেকে, কেবলমাত্র s.code অনন্য কী হিসাবে ব্যবহার করা যেতে পারে। এছাড়াও, আপনার পৌরসভা জ্যামিতিগুলি প্রতিটি শিক্ষার্থীর জন্য কয়েকবার পুনরাবৃত্তি হবে, আপনি কি এটি চান?
আলেকজান্ডার নেটো

উত্তর:


6

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


এই প্রশ্নটি সম্পর্কিত এবং কিউজিআইএস গুইতে আপনার অনন্য আইডি ক্ষেত্রটি নির্বাচন করার বিষয়ে আরও বিশদ দেয়।
RyanKDalton

এবং এই প্রশ্নটি আপনাকে কীভাবে একটি অনন্য আইডি দিয়ে একটি ভিউ তৈরি করবেন সে সম্পর্কে আরও বিশদ দেবে।
RyanKDalton

উত্তরের জন্য সবাইকে ধন্যবাদ। প্রস্তাবিত ফাংশনটি ব্যবহার করে সমস্যার সমাধান হয়েছে।
ufeliciano

1

আজ আমি এই দৃষ্টিভঙ্গি দিয়ে এই ত্রুটিটিকে ঘুরিয়ে দিয়েছি যা টেবিলগুলির মধ্যে একটি যোগদান থেকে তৈরি হয়েছিল। এটিতে দুটি অনন্য ক্ষেত্র রয়েছে যা কিউজিসকে বিরক্ত করেছিল। প্রথমদিকে মতটি ছিল:

CREATE OR REPLACE VIEW my_view AS
SELECT *
  FROM more_data m,
       node n   
 WHERE m.id_node = n.id;

এই দৃষ্টিতে দুটি প্রাথমিক কী ক্ষেত্র ছিল। পরিবর্তে, অনন্য শনাক্তকারীর জন্য একটি একক ক্ষেত্রের প্রার্থী শেষ করতে, আমাকে ফলাফলগুলি ক্ষেত্রগুলি নির্দিষ্ট করতে হয়েছিল:

CREATE OR REPLACE VIEW my_view AS
SELECT n.id,
       n.name,
       n.geom,
       m.type,
       m.other_stuff,
       m.more_stuff
  FROM more_data m,
       node n   
 WHERE m.id_node = n.id;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.