View a markdown version of this page

ST_ MakePolygon - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

ST_ MakePolygon

ST_ MakePolygon memiliki dua varian yang mengembalikan poligon. Satu mengambil satu geometri, dan yang lain mengambil dua geometri.

  • Input dari varian pertama adalah linestring yang mendefinisikan cincin luar dari poligon keluaran.

  • Input dari varian kedua adalah linestring dan multilinestring. Keduanya kosong atau tertutup.

    Batas cincin eksterior poligon keluaran adalah garis input, dan batas-batas cincin interior poligon adalah garis pada multilinestring input. Jika linestring input kosong, poligon kosong dikembalikan. Garis kosong di multilinestring diabaikan. Pengidentifikasi sistem referensi spasial (SRID) dari geometri yang dihasilkan adalah SRID umum dari dua geometri input.

Dimensi geometri yang dikembalikan sama dengan geometri input. Cincin eksterior dan cincin interior harus memiliki dimensi yang sama.

Sintaksis

ST_MakePolygon(geom1)
ST_MakePolygon(geom1, geom2)

Argumen

geom1

Nilai tipe data GEOMETRY atau ekspresi yang mengevaluasi ke GEOMETRY tipe. Subtipenya harus LINESTRING Nilai linestring harus ditutup atau kosong.

geom2

Nilai tipe data GEOMETRY atau ekspresi yang mengevaluasi ke GEOMETRY tipe. Subtipenya harus MULTILINESTRING

Jenis pengembalian

GEOMETRYdari subtipePOLYGON.

Pengidentifikasi sistem referensi spasial (SRID) dari geometri yang dikembalikan sama dengan SRID input.

Jika geom1, atau geom2 adalah null, maka null dikembalikan.

Jika geom1 bukan linestring, maka kesalahan dikembalikan.

Jika geom2 bukan multilinestring, maka kesalahan dikembalikan.

Jika geom1 tidak ditutup, maka kesalahan dikembalikan.

Jika geom1 adalah satu titik atau tidak ditutup, maka kesalahan dikembalikan.

Jika geom2 berisi setidaknya satu linestring yang memiliki satu titik atau tidak ditutup, maka kesalahan dikembalikan.

Jika geom1 dan geom2 memiliki nilai SRID yang berbeda, maka kesalahan dikembalikan.

Jika geom1 dan geom2 memiliki dimensi yang berbeda, maka kesalahan dikembalikan.

Contoh

SQL berikut mengembalikan poligon dari input linestring.

SELECT ST_AsText(ST_MakePolygon(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)')));
st_astext --------------- POLYGON((77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07))

SQL berikut membuat poligon dari linestring tertutup dan multilinestring tertutup. Linestring digunakan untuk cincin eksterior poligon. Garis pada multilinestring digunakan untuk cincin interior poligon.

SELECT ST_AsEWKT(ST_MakePolygon(ST_GeomFromText('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), ST_GeomFromText('MULTILINESTRING((1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))')));
st_astext ---------------------------------- POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))