PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostGIS का उपयोग करके बहुभुज डेटा को लाइन सेगमेंट में कैसे बदलें

आम तौर पर, पॉलीगॉन को लाइन में बदलना आसान नहीं हो सकता है क्योंकि है कोई एक-से-एक मैपिंग नहीं और बहुभुज के विभिन्न तत्व अलग-अलग लिनेस्ट्रिंग (बाहरी रिंग, आंतरिक रिंग, आदि) के लिए मैप करते हैं।

इसे ध्यान में रखते हुए, आपको उनमें से प्रत्येक को इस तरह संभावित दृष्टिकोण का पालन करते हुए अलग-अलग विभाजित करने की आवश्यकता होगी:

SELECT ST_AsText( ST_MakeLine(sp,ep) )
FROM
   -- extract the endpoints for every 2-point line segment for each linestring
   (SELECT
      ST_PointN(geom, generate_series(1, ST_NPoints(geom)-1)) as sp,
      ST_PointN(geom, generate_series(2, ST_NPoints(geom)  )) as ep
    FROM
       -- extract the individual linestrings
      (SELECT (ST_Dump(ST_Boundary(geom))).geom
       FROM mypolygontable
       ) AS linestrings
    ) AS segments;

इस पर निर्भर करता है कि mypolygontable . में कौन सा बहुभुज डेटा संग्रहीत है , आप न केवल सीमा को डंप करना चाह सकते हैं (जैसा कि ऊपर ST_Boundary . का उपयोग करके किया गया है) ) लेकिन अन्य तत्व भी। अधिक विस्तृत अवलोकन के साथ उपरोक्त कोड पोस्टगिस-उपयोगकर्ता सूची से लिया गया है:बहुभुज को N लिनेस्ट्रिंग में विभाजित करें

PostGIS में अलग-अलग वैक्टर में लिनेस्ट्रिंग या पॉलीगॉन का विस्फोट करना



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql में ऑटो आईडी जनरेट करें

  2. डेटाबेस.yml फ़ाइल को OSX पर रेल में काम करना

  3. भूले हुए असाइनमेंट ऑपरेटर =और सामान्य :=

  4. डॉकर का उपयोग करते हुए, पैनिक को किसने ट्रिगर किया:एक वैध चेकपॉइंट रिकॉर्ड का पता नहीं लगा सका

  5. PostgreSQL तालिका में प्राथमिक कुंजी बदलें