পোস্টজিআইএসে স্থানিক দর্শন তৈরি করা এবং কিউজিআইএস-এ স্তর হিসাবে যুক্ত করা?


49

পোস্টজিআইএস ২.০ এ, আমি কিজিআইএস-এ দৃশ্যমান একটি স্থানিকভাবে সক্ষম ভিউ তৈরির জন্য একটি কার্যকর উপায় চাইছি।

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

একটি স্তর যুক্ত করতে আপনাকে অবশ্যই একটি সারণী নির্বাচন করতে হবে

কেউ কি ব্যাখ্যা করতে পারে যে কেন স্থানিক দর্শন কিউজিআইএস-এ লোড হবে না এবং কিউজিআইএস-এ এটি একটি স্তর হিসাবে লোডযোগ্য করার জন্য আমার কী করা দরকার?

আমি বর্তমানে ওএসজিইও ইনস্টলার থেকে কিউজিআইএস ভি 1.8 ব্যবহার করছি

আমি দেখছি জিওনেমেস ডাটাবেস থেকে তৈরি, পোস্টজিআইএস-এ লোড। জিওনাম টেবিল / স্থানিক ডেটা নির্বাচন করা / ঠিক সূক্ষ্ম QGIS এ দেখা যেতে পারে।

আমি যখন " এমটি_ভিউ " নির্বাচন করার চেষ্টা করি , কিউজিআইএস ডায়ালগটিতে ভিউটি দেখে তবে আমাকে এটি নির্বাচন করতে দেয় না। এটি অঞ্চলটির চারপাশে একটি বিন্দুযুক্ত বাক্স দেয়, তবে দৃশ্যটি হাইলাইট করে এবং নির্বাচন করে না।

কিউজিআইএস একটি স্তর হিসাবে এমটি_ভিউ নির্বাচন করতে পারে না


আমি কেবল লক্ষ্য করেছি যে আমি যখন আমার প্রথম ক্যোয়ারী চালাচ্ছি:

CREATE OR REPLACE VIEW data.test AS
SELECT * FROM data.geoname
WHERE admin1='MT'

কিউজিআইএস লেয়ার সংলাপে ভিউটি প্রদর্শিত হবে তবে তা অপছন্দযোগ্য। তারপরে যখন আমি চালাব:

SELECT Populate_Geometry_Columns('data.test'::regclass);

আমি "0" এর ফলাফল পেয়েছি, যেখানে ডকুমেন্টেশন অনুসারে , আমি মনে করি এটি "1" ফিরিয়ে দেওয়া উচিত।


1
আমি সমস্যা নিশ্চিত। কিউআইজিআইএস ১.৮, পোস্টজিআইএস ২.০, এবং একটি প্রাথমিক কী সহ একটি টেবিল থেকে তৈরি একটি ভিউ, থ্যা ভিউ উপলব্ধযোগ্য স্তরগুলিতে তালিকাবদ্ধ হয় তবে ত্রুটি বার্তা "একটি স্তর যুক্ত করতে আপনাকে অবশ্যই একটি সারণী নির্বাচন করতে হবে" উপস্থিত হবে appears
giohappy

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

@ পেগিমিনিজ, আমি আপনাকে উপরে বর্ণিত বিষয়গুলি দিয়ে একটি নতুন প্রশ্ন শুরু করার পরামর্শ দিচ্ছি এবং তারপরে এই প্রশ্নগুলির ইউআরএলটি আপনার নিজের মধ্যে উল্লেখ করুন। এটি এটিকে আরও ব্যাপকতর দৃশ্যমানতা দেবে।
রায়ানডাল্টন

কিগিস 1.8 লিসবোয়ায় একটি উত্তল কল্পনা করার কোনও উপায় নেই? আমি পোস্টগিস ১.২ এ ভায়ভগুলি অনুসরণ করার চেষ্টা করেছি আমাকে কুইগিসে প্রকাশ করার জন্য একটি আইডি কলাম ব্যবহার করার কথা বলা হয়েছিল। আপনি যদি কোনও আইডি কলাম ব্যবহার না করেন তবে কোনও ত্রুটির কারণে আপনি এটি আর লোড করতে পারবেন না। ১. '0', ST_ConvexHull (ST_ Collec (geom)) FROM baeume হিসাবে দেখুন কন_হুল_বাউইম 3 (বিড) তৈরি বা প্রতিস্থাপন করুন; ২. নির্বাচিত বিড হিসাবে ভিউ কন_হুল_বাউইম ৪ (বিড) তৈরি বা প্রতিস্থাপন করুন, এসডকনভেক্সহুল (এসT_কলক্ট (জিওম)) বিডের মাধ্যমে ফ্রেম বাউম গ্রুপ; তবে এটি একটি জ্যামিতি বিন্দুর প্রতিটি উপর একটি উত্তেজক করা। আমি বলতে চাইছি কেবল নির্বাচন করুন 'নির্বাচন করুন ST_ConvexHull (ST_ Collec (geom)) থেকে FROM baeume;' কাজ
ulan

1
স্বাগত! দয়া করে এটি একটি নতুন প্রশ্ন হিসাবে পোস্ট করুন, যেহেতু এটি আসলটির উত্তর বলে মনে হচ্ছে না। কমপক্ষে যদি এটি একটি প্রশ্ন হয় তবে যেহেতু শেষের বিবৃতিটি আপনি সফল হয়েছেন কিনা তা পরিষ্কার নয়।
lynxlynxlynx

উত্তর:


54

আমি নিশ্চিত করতে পারি যে কেবল তালিকাভুক্ত ভিউ নির্বাচন করা সম্ভব নয়।

প্রথমে "প্রাথমিক কী কলাম" নির্বাচন করা প্রয়োজন বলে মনে হচ্ছে। তারপরে টেবিলটি নির্বাচনযোগ্য হয়ে যায়:

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


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

দেখা যাচ্ছে এটি QGIS 1.8 এর জন্য একটি সমস্যা (যা আমি এখনও ব্যবহার করি নি)। এই পদক্ষেপগুলি 1.7 এর জন্য প্রয়োজন হয় না।
মাইক টি

এটা ঠিক, 1.7 প্রাথমিক কীটি অনুমান করার চেষ্টা করেছিল। তবে এটি কার্যকর হয়নি।
আন্ডার ডার্ক

পার্শ্ব নোটে, @unddark, কিউজিআইএস কি অন্য ধরণের পিকে গ্রহণ করে?
জর্জ সিলভা

1
কিউজিআইএস 3-এ কলামটি "ফিচার আইডি" শীর্ষক হয় "প্রাথমিক কী কলাম" নয় এবং (কমপক্ষে আমার জন্য) এটি ডিফল্ট উইন্ডোর প্রান্তের বাইরে (অর্থাত্ দৃশ্যমান নয়) এবং আরও কোনও কলাম রয়েছে এমন কোনও ইঙ্গিত নেই! আমি মনে করি যে আমি একটি বৈশিষ্ট্য অনুরোধ লগ করব যে নির্বাচনের পরে এই বিবরণগুলির জন্য (যদি প্রয়োজন হয়) অনুরোধ করা হয়। এটি প্রদর্শিত হবে যে বিকাশকারীরা ধরে নিয়েছেন যে লোকেরা নিশ্চিত করবে যে প্রথম কলামে একটি অনন্য কী আছে।
রাসেল ফুলটন

5

(আমার উত্তরটি সামান্য আপডেট করা হচ্ছে)

যতক্ষণ না OBJECTID (রো_নম্বার) ক্ষেত্রটি ভিউটির কলাম সংজ্ঞায় প্রথম হয় , QGIS আপনাকে 'ভেক্টর স্তর যুক্ত করুন' মেনু থেকে যোগ না জিজ্ঞাসা করে এটিকে বেছে নেবে।

CREATE OR REPLACE VIEW dqmt.addressverify AS 
 SELECT row_number() OVER (ORDER BY newaddresses.addressid) AS objectid,
    newaddresses.addressid
  , geom
   FROM dqmt.newaddresses;

আমি কেবলমাত্র কিছু পুরানো মতামত ঠিক করেছি যা মূল প্রশ্ন অনুসারে ভেঙে গিয়েছিল, তবে ওবিজেইসিটিড ফিল্ডটি ভিউয়ের শুরুতে সরানো সমস্যার সমাধান করেছে!


আমি অনেকগুলি দর্শনর জন্য "সারি_নম্বার () ওভার ()" সিনট্যাক্সও ব্যবহার করেছি। আমি সাধারণত আমার প্রাথমিক কী ক্ষেত্রে "গিড" ব্যবহার করি। আপনার অন্যান্য সমস্ত মতামত কি তাদের প্রাথমিক কী হিসাবে "আপত্তিজনক" ব্যবহার করে?
রায়ানডাল্টন

সাধারণত আপত্তিযুক্ত - যা উপরের উদাহরণে কাজ করেছিল - তবে চেষ্টা করবে গিড ... কিউজিআইএস কোনও অন্য 'আইডি' ফিল্ডের আগে স্বীকৃতি দেয়?
DPSSpatial

জিআইডি এর এতে কোনও প্রভাব ফেলবে না ...
DPSSpatial

কেবল সম্ভাবনার স্বপ্ন দেখছি। চেক করার জন্য ধন্যবাদ
রায়ানডাল্টন

(এই মুহুর্তে, তবে ...) অনুমান হিসাবে, আমি মনে করি যে কোনও টেবিলটি লোড করা হচ্ছে যদি তার PRIMARY KEYসংজ্ঞায়িত হয়, QGIS নিয়মিতভাবে এটি তুলে নেয়: এটি আমার টেবিলগুলির যে কোনওতে পিকে 'বেছে নিতে' ব্যর্থ হয় না never পিকে, যদিও আমার প্রায় সব পিকেই আছে VARCHAR। এটি VIEWএমনটি ঘটতে পারে না কারণ PostgreSQL VIEWএর এস থাকতে পারে না CONSTRAINT। খুব নিশ্চিত যে সে কারণেই VIEWকিউজিআইএস-এ 'পোস্টজিআইএস স্তরগুলি যুক্ত করুন' বোতামের মাধ্যমে আমদানি করার সময় হাতের জন্য পিকে নির্বাচন করা দরকার, এ কারণেই আমি পাইথন স্ক্রিপ্ট ব্যবহার করে সেগুলি আমদানি করি।
জিটি

4

আপনার ভিউটি কি geometry_columnsটেবিলটিতে প্রদর্শিত হবে? ম্যানুয়াল অনুসারে ভিউটি স্বয়ংক্রিয়ভাবে 2.0 এ প্রদর্শিত হবে তবে আমি এটি চেষ্টা করি নি।

নিম্নলিখিত পরীক্ষা করার জন্য চেষ্টা করুন:

SELECT f_geometry_column As col_name, type, srid, coord_dimension As ndims 
FROM geometry_columns
WHERE f_table_name = 'my_spatial_table' AND f_table_schema = 'my_schema';

হ্যাঁ, আমার দৃষ্টির বিপরীতে এই চেকটি চালানো ফিরবে: দ্য জিওম, পয়েন্ট, 4269,2
রায়ানডাল্টন

3

আপনার ভিউটি কি আপনার দৃষ্টিতে কোনও টেবিলের থেকে "গিড" বা পিকে সমতুল্য কোনও অনন্য পূর্ণসংখ্যার ক্ষেত্র ব্যবহার করছে?

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


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