Topik ini menjelaskan fungsi ST_Union, yang membangun objek geometri yang mewakili gabungan dari beberapa objek geometri yang ditentukan.
Sintaksis
geometry ST_Union(geometry set g1Field);
geometry ST_Union(geometry g1 , geometry g2);
geometry ST_Union(geometry[] g1Array);
geometry ST_Union(geometry set g1Field, float8 gridsize);
geometry ST_Union(geometry set g1Field, cstring options);
geometry ST_Union(geometry set g1Field, float8 gridsize, cstring options);
geometry ST_Union(geometry[] g1Array, float8 gridsize);
geometry ST_Union(geometry[] g1Array, cstring options);
geometry ST_Union(geometry[] g1Array, float8 gridsize, cstring options);Parameter
| Parameter | Deskripsi |
| g1field | Bidang objek geometri yang ingin Anda tentukan dalam dataset. |
| g1 | Objek geometri pertama yang ingin Anda tentukan. |
| g2 | Objek geometri kedua yang ingin Anda tentukan. |
| g1Array | Sebuah array yang terdiri dari objek geometri. |
| gridsize | Ukuran grid yang ingin Anda tentukan. Parameter ini digunakan untuk menggabungkan simpul dalam grid yang sama saat Anda melakukan operasi penggabungan. Nilai default adalah -1.0, yang menunjukkan bahwa parameter ini dinonaktifkan. |
| options | Status fitur komputasi paralel dan derajat paralelisme yang ingin Anda tentukan. Parameter ini digunakan untuk mengaktifkan fitur komputasi paralel dan menentukan derajat paralelisme. Jika Anda mengaktifkan fitur ini, Anda harus menentukan nilai parameter ini sebagai string JSON, seperti |
Deskripsi
- Tipe keluaran fungsi ini adalah MULTI atau GeometryCollection. Fungsi ST_Union memiliki dua versi:
- Versi 1: Input fungsi ST_Union adalah dua objek geometri. Keluarannya berupa objek MULTI, NON-MULTI, atau GeometryCollection. Jika salah satu dari dua objek geometri adalah NULL, fungsi ST_Union mengembalikan NULL.
- Versi 2: Fungsi ST_Union bekerja sebagai fungsi agregat. Inputnya adalah kumpulan objek geometri, dan keluarannya dapat berupa objek MULTI atau NON-MULTI.
- Fungsi ST_Collect dan fungsi ST_Union dapat dipertukarkan. Fungsi ST_Union mencoba melarutkan batas-batas objek geometri yang ditentukan untuk memeriksa apakah objek MultiPolygon yang dibangun memiliki bagian yang berpotongan. Oleh karena itu, dalam banyak kasus, ST_Union berjalan lebih lambat daripada fungsi ST_Collect.
Contoh
- Contoh berikut menunjukkan perbedaan antara fungsi ST_Union dan fungsi ST_Collect:
SELECT ST_Union(g1,g2),ST_Collect(g1,g2) from (select 'POLYGON((0 0,1 0,1 2,0 2,0 0))'::geometry as g1,'POLYGON((1 0,3 0,3 1,1 1,1 0))'::geometry as g2) as t;

- Contoh berikut menunjukkan perhitungan dengan konfigurasi berbeda dari parameter gridsize dan options:
-- Tentukan parameter gridsize. select st_area(st_union(geom, 0.005)) from tableA; -- Tentukan parameter options. select st_area(st_union(geom, '{"parallel": 4}'::cstring)) from tableA; -- Tentukan parameter gridsize dan options sekaligus. select st_area(st_union(geom, 0.005, '{"parallel": 4}'::cstring)) from tableA;