Mengembalikan satu set catatan geometry_dump dari objek geometry dengan memperluas koleksi menjadi komponen-komponen individualnya.
Sintaksis
geometry_dump[] ST_Dump(geometry g1);Parameter
| Parameter | Deskripsi |
|---|---|
g1 | Objek geometry yang ingin Anda tentukan. |
Deskripsi
ST_Dump mengekstraksi komponen-komponen dari objek geometry. Setiap catatan geometry_dump yang dikembalikan berisi dua bidang:
geom: objek geometry komponenpath: larik integer yang menunjukkan posisi komponen dalam geometry aslinya
Perilaku fungsi ini bervariasi tergantung pada jenis input:
Input Point, LineString, atau Polygon — Mengembalikan satu catatan dengan larik
pathkosong dan geometry input sebagaigeom.Input Multi-geometry atau koleksi — Mengembalikan satu catatan untuk setiap komponen, dengan larik
pathyang menunjukkan posisi masing-masing komponen dalam koleksi tersebut.
ST_Dump merupakan kebalikan dari GROUP BY: jika GROUP BY menggabungkan beberapa baris menjadi satu geometry, maka ST_Dump memperluas satu geometry menjadi beberapa baris. Kasus penggunaan umumnya adalah memperluas MultiPolygon menjadi polygon-polygon individual.
Fungsi ini mendukung tipe-tipe geometry berikut: Circular String, Curve, Polyhedral Surface, Triangle, permukaan triangulated irregular network (TIN), dan objek 3D.
Contoh
Contoh berikut memperluas MULTILINESTRING menjadi geometri LINESTRING penyusunnya. Kolom path menunjukkan posisi masing-masing komponen.
SELECT (t.dump).path, ST_AsText((t.dump).geom)
FROM (
SELECT ST_Dump('MULTILINESTRING((0 0,0 2),(0 1,0 3))'::geometry) AS dump
) AS t;Output:
path | st_astext
------+---------------------
{1} | LINESTRING(0 0,0 2)
{2} | LINESTRING(0 1,0 3)
(2 rows)