মাল্টিপয়েন্ট পয়েন্ট বনাম পোস্টজিআইএস


12

জ্যামিতি টাইপ 'মাল্টিপয়েন্ট' এর পরিবর্তে 'বিন্দু'র পরিবর্তে আমি কেবল একটি পয়েন্ট সঞ্চয় করতে ব্যবহার করি তা জেনে রাখা কি স্বাভাবিক?

আমি কীভাবে মাল্টিপয়েন্ট থেকে পয়েন্টে রূপান্তর করতে পারি?


এখানে একটি ভাল উত্তর রয়েছে যা ব্যাখ্যা করে যে কীভাবে মাল্টি-পার্ট জ্যামিতিগুলি পরীক্ষা করতে হবে এবং কলামের ধরণগুলি
জন

উত্তর:


16

"মাল্টিপয়েন্ট" কে "পয়েন্ট" এ রূপান্তর করতে আপনাকে ST_Dump ব্যবহার করতে হবে , উদাহরণস্বরূপ:

SELECT (ST_Dump(the_geom)).geom AS the_POINT_geom
  FROM MULTIPOINT_table;

"মাল্টি" বা একক জ্যামিতি ব্যবহার করার প্রশ্নে, আমি এই যুক্তিটি ব্যবহার করি:

  • যদি প্রতিটি জ্যামিতির আলাদা আলাদা বৈশিষ্ট্য থাকে -> একক
  • যদি জ্যামিতির একটি গ্রুপের একই বৈশিষ্ট্য থাকে -> "বহু"

9

একক-বিন্দু থেকে পয়েন্ট উত্তোলনের সহজ উপায় MULTIPOINTহ'ল ST_GeometryN:

SELECT ST_AsText(ST_GeometryN('MULTIPOINT ((1 1))', 1));
--POINT(1 1)

এটি এমন পরিস্থিতিতে সম্ভাব্য সমস্যাগুলি এড়ায় যেখানে কোনও সেট-রিটার্নিং ফাংশন ব্যবহার করা যায় না।

কিছু গুরুত্বপূর্ণ অপ্টিমাইজেশন রয়েছে যা কেবল POINTজ্যামিতি (বিশেষত পোস্টজিআইএস-এর পূর্ববর্তী সংস্করণগুলিতে) টাইপ করার জন্য উপলভ্য , তাই একক পয়েন্টগুলি সংরক্ষণ করা POINTযেমন ভাল অনুশীলন। এ POINTএছাড়াও একটি থেকে প্রায় 25% কম স্থান ব্যবহার করে MULTIPOINT

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