জ্যামিতি টাইপ 'মাল্টিপয়েন্ট' এর পরিবর্তে 'বিন্দু'র পরিবর্তে আমি কেবল একটি পয়েন্ট সঞ্চয় করতে ব্যবহার করি তা জেনে রাখা কি স্বাভাবিক?
আমি কীভাবে মাল্টিপয়েন্ট থেকে পয়েন্টে রূপান্তর করতে পারি?
জ্যামিতি টাইপ 'মাল্টিপয়েন্ট' এর পরিবর্তে 'বিন্দু'র পরিবর্তে আমি কেবল একটি পয়েন্ট সঞ্চয় করতে ব্যবহার করি তা জেনে রাখা কি স্বাভাবিক?
আমি কীভাবে মাল্টিপয়েন্ট থেকে পয়েন্টে রূপান্তর করতে পারি?
উত্তর:
"মাল্টিপয়েন্ট" কে "পয়েন্ট" এ রূপান্তর করতে আপনাকে ST_Dump ব্যবহার করতে হবে , উদাহরণস্বরূপ:
SELECT (ST_Dump(the_geom)).geom AS the_POINT_geom
FROM MULTIPOINT_table;
"মাল্টি" বা একক জ্যামিতি ব্যবহার করার প্রশ্নে, আমি এই যুক্তিটি ব্যবহার করি:
একক-বিন্দু থেকে পয়েন্ট উত্তোলনের সহজ উপায় MULTIPOINT
হ'ল ST_GeometryN
:
SELECT ST_AsText(ST_GeometryN('MULTIPOINT ((1 1))', 1));
--POINT(1 1)
এটি এমন পরিস্থিতিতে সম্ভাব্য সমস্যাগুলি এড়ায় যেখানে কোনও সেট-রিটার্নিং ফাংশন ব্যবহার করা যায় না।
কিছু গুরুত্বপূর্ণ অপ্টিমাইজেশন রয়েছে যা কেবল POINT
জ্যামিতি (বিশেষত পোস্টজিআইএস-এর পূর্ববর্তী সংস্করণগুলিতে) টাইপ করার জন্য উপলভ্য , তাই একক পয়েন্টগুলি সংরক্ষণ করা POINT
যেমন ভাল অনুশীলন। এ POINT
এছাড়াও একটি থেকে প্রায় 25% কম স্থান ব্যবহার করে MULTIPOINT
।