Fungsi ST_MAKELINE membuat objek geografi LINESTRING dari titik akhir yang ditentukan.
Syntax
Fungsi ST_MAKELINE memiliki dua signature. Pilih salah satu yang sesuai dengan kasus penggunaan Anda.
Signature 1: Membuat objek geografi LINESTRING dari dua titik akhir.
GEOGRAPHY ST_MAKELINE(GEOGRAPHY <point1>, GEOGRAPHY <point2>)Signature 2: Membuat objek geografi LINESTRING dari sebuah ARRAY berisi satu atau lebih titik akhir.
GEOGRAPHY ST_MAKELINE(ARRAY<GEOGRAPHY> <points>)
Parameters
point1, point2: Wajib diisi. Objek geografi POINT. Gunakan fungsi ST_GEOGPOINT, ST_GEOGFROMWKB, atau ST_GEOGFROMTEXT untuk membuat objek tersebut.
points: Wajib diisi. ARRAY berisi objek geografi POINT. ARRAY tersebut harus memiliki setidaknya satu elemen. Gunakan fungsi ST_GEOGPOINT, ST_GEOGFROMWKB, atau ST_GEOGFROMTEXT untuk membuat objek tersebut.
Return value
Mengembalikan objek geografi LINESTRING. Aturan berikut berlaku:
Mengembalikan NULL jika parameter GEOGRAPHY input bernilai NULL, atau jika ARRAY input atau salah satu elemennya bernilai NULL.
Jika input terdiri dari dua titik identik atau ARRAY hanya berisi satu titik, hasilnya akan mengalami degenerasi menjadi objek geografi POINT.
Batasan presisi pada S2 Geography Library dapat menyebabkan sedikit perbedaan antara input dan output.
Examples
Contoh 1: Membuat objek geografi LINESTRING dari dua titik akhir.
-- Berikan dua titik akhir yang berbeda untuk membuat LINESTRING. SELECT ST_MAKELINE(ST_GEOGPOINT(270, 0), ST_GEOGPOINT(1, 1)); -- Result: +-------------------------+ | _c0 | +-------------------------+ | LINESTRING (-90 0, 1 1) | +-------------------------+ -- Berikan dua titik akhir yang identik. Hasilnya mengalami degenerasi menjadi POINT. SELECT ST_MAKELINE(ST_GEOGPOINT(1, 1), ST_GEOGPOINT(1, 1)); -- Result: +-------------+ | _c0 | +-------------+ | POINT (1 1) | +-------------+Contoh 2: Membuat objek geografi LINESTRING dari ARRAY berisi satu atau lebih titik akhir.
-- Berikan sebuah ARRAY berisi titik-titik untuk membuat LINESTRING. SELECT ST_MAKELINE(ARRAY(ST_GEOGPOINT(0, 0), ST_GEOGPOINT(1, 1), ST_GEOGPOINT(2, 2))); -- Result: +----------------------------+ | _c0 | +----------------------------+ | LINESTRING (0 0, 1 1, 2 2) | +----------------------------+ -- Berikan sebuah ARRAY dengan satu elemen saja. Hasilnya mengalami degenerasi menjadi POINT. SELECT ST_MAKELINE(ARRAY(ST_GEOGPOINT(0, 0))); -- Result: +-------------+ | _c0 | +-------------+ | POINT (0 0) | +-------------+