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
ARRAYberisi objek geografilinestring.
Anda dapat menggunakan fungsi ST_MAKELINE untuk membuat objek geografi linestring. Perhatikan hal berikut:
linestringharus memiliki setidaknya tiga vertex berbeda.linestringharus tertutup, artinya vertex pertama dan terakhir harus sama. Jika tidak, fungsi secara otomatis menutuplinestringdengan 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
holesberisi elemenNULL, fungsi mengembalikanNULL.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)) |
+--------------------------------------------------------------------+