খালি পোস্টজিআইএস টেবিলের জ্যামিতি ধরণের কীভাবে পাবেন?


10

আমার একটি ওয়েব অ্যাপ্লিকেশন রয়েছে যাতে এর মধ্যে সারি সন্নিবেশ করার আগে কোনও PostGIS টেবিলের জ্যাম ক্ষেত্রের জ্যামিতি ধরণের জানতে হবে to আমি জিওম কলামের জ্যামিতির ধরণ নির্ধারণ করতে নিম্নলিখিত কোয়েরিটি ব্যবহার করি:

SELECT GeometryType(geom) FROM my_schema.building LIMIT 1

এটি আসল সারির জ্যামিতির ধরণটি প্রদান করে, তাই আমার টেবিলটি খালি থাকলে এটি কাজ করে না it জ্যামিতি কলামের জ্যামিতির ধরণটি কীভাবে নির্ধারণ করব?

উত্তর:


17

কোয়েরিটি এইভাবে geometry_columnsটেবিলের বিরুদ্ধে চালানো যেতে পারে

SELECT type 
FROM geometry_columns 
WHERE f_table_schema = 'my_schema' 
AND f_table_name = 'building' 
and f_geometry_column = 'geom';

(বা, আপনি যদি কোনও ভূগোলের ধরণের ব্যবহার করছেন তবে এর geometry_columnsসাথে geography_columnsএবং f_geometry_columnসহ সাবসিটিউট করুন f_geography_column)


উত্তরের বর্গাকারটি geometryএই ধরণের জন্য ফিরে আসবে , আমরা জ্যামিতিটি বিন্দু বা রেখা কিনা তা আমরা এখনও জানতে পারি না।
গিজার

1
তার অর্থ হল যে আপনার জ্যামিতি কলামটি জ্যামিতি প্রকার "জ্যামিতি" তে সেট করা আছে (যেমন এটি সমস্ত ধরণের জ্যামিতি গ্রহণ করে)। এক্ষেত্রে আপনাকে প্রতিটি জ্যামিতি ST_GeometryType
atlefren

SELECT GeometryType(geom) FROM my_schema.building LIMIT 1ওপি পোস্টের মতো? টেবিলটি খালি থাকলে এটি কাজ করে না।
giser

এবং আরও একটি জিনিস, যদি সমস্ত জ্যামিতি কলামটি geometryসমস্ত টেবিলের জন্য টাইপ করা থাকে, তবে আমি কি একটি ভিউ তৈরি করতে পারি যাতে থাকতে পারে সমস্ত টেবিল রয়েছে points lines polyogn?
giser

1
ঠিক। একটি সাদৃশ্য: একটি জিওম কলামটি "জ্যামিতি" প্রকারের হ'ল ঘোষণা করা কোনও রঙের মোজার জন্য একটি ড্রয়ার নির্ধারণ করার মতো। এই ড্রয়ারে মোজাগুলির রঙ কী তা পরীক্ষা করা যখন খালি থাকে তখন অসম্ভব।
atlefren

3

একটি সারণী জ্যামিতি_কলামগুলি সন্ধান করুন। শ্রীড এবং জ্যামিতি ধরণের সমস্ত ভূ কলামগুলি এখানে নিবন্ধিত রয়েছে। GEOMETRY টাইপ সহ কোনও কলাম থাকলে সেখানে সমস্ত জ্যামিতি প্রকার সঞ্চয় করা যায়।

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