बहु बिंदु बिंदु PostGIS


12

क्या यह जानने के लिए कि मैं केवल एक बिंदु को संग्रहीत करने के लिए इसका उपयोग करता हूं, 'बिंदु' के बजाय ज्यामिति प्रकार 'मल्टीपॉइंट' का उपयोग करना सामान्य है?

मैं बहु बिंदु से बिंदु में कैसे परिवर्तित कर सकता हूं?


एक अच्छा जवाब है जो बताता है कि मल्टी-पार्ट जियोमेट्री की जांच कैसे करें और कॉलम प्रकारों को मल्टी- से सिंगल जियोमेट्री में परिवर्तित करें: gis.stackexchange.com/questions/28835/…
John

जवाबों:


16

"मल्टीपॉइंट" को "प्वाइंट" में बदलने के लिए, आपको एसटी_डम्प का उपयोग करना होगा , उदाहरण के लिए:

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.