PostGIS: समान गुण मान साझा करने वाली सन्निहित सुविधाओं को कैसे मर्ज किया जाए?


9

मेरे पास एक बड़ा PostGIS टेबल स्टोरेज लाइन फीचर है।

मैं उन विशेषताओं को मर्ज करना चाहूंगा जो दोनों एक दूसरे से जुड़ी हुई हैं और विशेषता मान समान हैं। यहाँ एक उदाहरण के नीचे है कि मैं क्या हासिल करना चाहता हूँ।

  • बाह्य विशेषताओं (काले और नीले रंग) को विलय नहीं किया जाता है क्योंकि उनके गुण मान समान होने पर भी सन्निहित नहीं होते हैं
  • हरे और लाल रंग को मर्ज किया जाता है क्योंकि वे दोनों स्थितियों से मेल खाते हैं
  • फीचर पीले को पहले की तरह छोड़ दिया गया है।

SQL क्वेरी के साथ आप इसे कैसे प्राप्त करेंगे? यहां छवि विवरण दर्ज करें

जवाबों:


7

आप इसे ST_ClusterIntersecting के साथ कर सकते हैं :

SELECT attr, unnest(ST_ClusterIntersecting(geom))
FROM lines
GROUP by attr;

धन्यवाद @dbaston! मैं आने वाले दिनों में इसकी कोशिश करूंगा और आपको बता दूंगा।
wiltomap

फ़ंक्शन ST_ClusterIntersecting()PostGIS 2.2 से उपलब्ध है ... क्या पुराने संस्करण के साथ कोई समाधान है? मैं PostGIS 2.1.8 पर हूं और मैं फिलहाल PostGIS को अपग्रेड नहीं कर सकता।
wiltomap

ऐसा कुछ भी नहीं जिसे मैं अच्छा मानूंगा .... यह वास्तव में ऐसी स्थिति है जिसने मुझे लिखने के लिए प्रेरित किया ST_ClusterIntersecting। कुछ पूर्व 2.2 विचार gis.stackexchange.com/q/94203/18189 पर हैं
dbaston
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.