全部产品
Search
文档中心

PolarDB:ST_Intersection

更新时间:Jul 02, 2025

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)

    Figure 1