Topik ini menjelaskan fungsi ST_Intersection, yang mengembalikan objek geometri berdasarkan himpunan titik tempat objek geometri input saling berpotongan.
Sintaksis
geometry ST_Intersection(geometry geomA , geometry geomB);
geography ST_Intersection(geography geogA , geography geogB);
geometry ST_Intersection(geometry set gField);Parameter
Parameter | Deskripsi |
geomA/geomB | Dua objek geometri yang ingin Anda tentukan. |
geogA/geogB | Dua objek geografi yang ingin Anda tentukan. |
gField | Bidang geometri yang ingin Anda tentukan. |
Deskripsi
Jika dua objek geometri input tidak berpotongan, fungsi ini mengembalikan objek geometri kosong.
Jika Anda menentukan objek geografi, fungsi ini memprosesnya sebagai objek geometri. Fungsi ini pertama-tama mengonversi objek geografi menjadi objek geometri, menghitung perpotongan dalam referensi spasial planar, dan kemudian mentransformasikan hasilnya ke objek geografi berdasarkan sistem koordinat World Geodetic System 1984 (WGS 84).
Fungsi ini tidak mendukung objek GeometryCollection.
Fungsi ini menghapus koordinat m dari objek input.
Fungsi agregat melakukan operasi perpotongan pada semua objek geometri secara berurutan dan mengembalikan hasil perpotongan tersebut.
Contoh
Hasil yang dikembalikan menggunakan pengaturan parameter default:
SELECT ST_AsText(ST_Intersection('POLYGON((0 0,0 2,2 2,2 0,0 0))'::geometry,'POLYGON((0 0,3 0,3 1,0 1,0 0))'::geometry)); st_astext -------------------------------- POLYGON((0 1,2 1,2 0,0 0,0 1)) (1 row)Hasil yang dikembalikan setelah pemanggilan fungsi agregat:
create table agg_result(id integer, geom geometry); insert into agg_result values(0, ST_GeomFromText('POLYGON((0 0, 0 0.5, 0.5 0.5, 0.5 0, 0 0))')); insert into agg_result select i, st_buffer('POINT(0 0)', 0.8 + random()*0.1) from generate_series(1,100) as i; select st_astext(st_intersection(geom)) from agg_result; st_astext ---------------------------------------- POLYGON((0 0,0 0.5,0.5 0.5,0.5 0,0 0)) (1 row)