All Products
Search
Document Center

MaxCompute:ST_MAKEPOLYGON

Last Updated:Aug 27, 2026

Fungsi ST_MAKEPOLYGON membuat objek geografi polygon dari shell yang ditentukan dan nol atau lebih lubang (holes).

Syntax

GEOGRAPHY ST_MAKEPOLYGON(GEOGRAPHY <shell>[, ARRAY<GEOGRAPHY> <holes>])

Parameters

  • shell: Wajib. Objek geografi linestring.

  • holes: Opsional. Sebuah ARRAY berisi objek geografi linestring.

Anda dapat menggunakan fungsi ST_MAKELINE untuk membuat objek geografi linestring. Perhatikan hal berikut:

  • linestring harus memiliki setidaknya tiga vertex berbeda.

  • linestring harus tertutup, artinya vertex pertama dan terakhir harus sama. Jika tidak, fungsi secara otomatis menutup linestring dengan menambahkan segmen dari vertex terakhir ke vertex pertama.

Return value

Mengembalikan objek geografi polygon. Aturan berikut berlaku:

  • Jika salah satu argumen input bernilai NULL atau array holes berisi elemen NULL, fungsi mengembalikan NULL.

  • Jika salah satu objek geografi input kosong, fungsi mengembalikan error.

  • Batasan presisi pada S2 Geometry Library dapat menyebabkan perbedaan kecil antara input dan output.

Examples

-- Buat polygon dari shell tanpa lubang
SELECT ST_MAKEPOLYGON(ST_GEOGFROMTEXT('LINESTRING(0 0, 1 0, 1 1)'));
-- Result:
+--------------------------------+
| _c0                            |
+--------------------------------+
| POLYGON ((0 0, 1 0, 1 1, 0 0)) |
+--------------------------------+


-- Buat polygon dengan shell dan satu lubang
SELECT ST_MAKEPOLYGON(ST_GEOGFROMTEXT('LINESTRING(0 0, 10 0, 10 10, 0 10, 0 0)'), ARRAY(ST_GEOGFROMTEXT('LINESTRING(2 2, 2 4, 4 4, 4 2, 2 2)')));
-- Result:
+--------------------------------------------------------------------+
| _c0                                                                |
+--------------------------------------------------------------------+
| POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0), (4 2, 4 4, 2 4, 2 2, 4 2)) |
+--------------------------------------------------------------------+

Related topics