क्या यह जानने के लिए कि मैं केवल एक बिंदु को संग्रहीत करने के लिए इसका उपयोग करता हूं, 'बिंदु' के बजाय ज्यामिति प्रकार 'मल्टीपॉइंट' का उपयोग करना सामान्य है?
मैं बहु बिंदु से बिंदु में कैसे परिवर्तित कर सकता हूं?
क्या यह जानने के लिए कि मैं केवल एक बिंदु को संग्रहीत करने के लिए इसका उपयोग करता हूं, 'बिंदु' के बजाय ज्यामिति प्रकार 'मल्टीपॉइंट' का उपयोग करना सामान्य है?
मैं बहु बिंदु से बिंदु में कैसे परिवर्तित कर सकता हूं?
जवाबों:
"मल्टीपॉइंट" को "प्वाइंट" में बदलने के लिए, आपको एसटी_डम्प का उपयोग करना होगा , उदाहरण के लिए:
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
।