GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.5. دوال تحرير الأشكال الهندسية
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_ForceCollection

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

ST_ForceCollection — تحويل الشكل الهندسي إلى GEOMETRYCOLLECTION.

المختصر

geometry ST_ForceCollection(geometry geomA);

الوصف

تحوّل الشكل الهندسي إلى GEOMETRYCOLLECTION. وهذا مفيد لتبسيط تمثيل WKB.

حُسّنت في: 2.0.0 أُضيف دعم الأسطح متعددة الوجوه.

متاحة منذ: 1.2.2، وقبل 1.3.4 كانت هذه الدالة تنهار مع المنحنيات. وقد أُصلح ذلك في 1.3.4 وما بعده

تغيّرت في: 2.1.0. حتى الإصدار 2.0.x كانت تُسمّى ST_Force_Collection.

تدعم هذه الدالة الأسطح متعددة الوجوه (Polyhedral surfaces).

تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.

تدعم هذه الدالة الأقواس الدائرية (Circular Strings) والمنحنيات.

أمثلة

SELECT  ST_AsEWKT(ST_ForceCollection('POLYGON((0 0 1,0 5 1,5 0 1,0 0 1),(1 1 1,3 1 1,1 3 1,1 1 1))'));

                                                                   st_asewkt
----------------------------------------------------------------------------------
 GEOMETRYCOLLECTION(POLYGON((0 0 1,0 5 1,5 0 1,0 0 1),(1 1 1,3 1 1,1 3 1,1 1 1)))


  SELECT ST_AsText(ST_ForceCollection('CIRCULARSTRING(220227 150406,2220227 150407,220227 150406)'));
                                                                   st_astext
--------------------------------------------------------------------------------
 GEOMETRYCOLLECTION(CIRCULARSTRING(220227 150406,2220227 150407,220227 150406))
(1 row)

                
-- POLYHEDRAL example --
SELECT ST_AsEWKT(ST_ForceCollection('POLYHEDRALSURFACE(((0 0 0,0 0 1,0 1 1,0 1 0,0 0 0)),
 ((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)),
 ((0 0 0,1 0 0,1 0 1,0 0 1,0 0 0)),
 ((1 1 0,1 1 1,1 0 1,1 0 0,1 1 0)),
 ((0 1 0,0 1 1,1 1 1,1 1 0,0 1 0)),
 ((0 0 1,1 0 1,1 1 1,0 1 1,0 0 1)))'))

                                                                   st_asewkt
----------------------------------------------------------------------------------
GEOMETRYCOLLECTION(
  POLYGON((0 0 0,0 0 1,0 1 1,0 1 0,0 0 0)),
  POLYGON((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)),
  POLYGON((0 0 0,1 0 0,1 0 1,0 0 1,0 0 0)),
  POLYGON((1 1 0,1 1 1,1 0 1,1 0 0,1 1 0)),
  POLYGON((0 1 0,0 1 1,1 1 1,1 1 0,0 1 0)),
  POLYGON((0 0 1,1 0 1,1 1 1,0 1 1,0 0 1))
)