Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
ST_ SetPoint
ST_ SetPoint mengembalikan linestring dengan koordinat diperbarui sehubungan dengan posisi input linestring seperti yang ditentukan oleh indeks. Koordinat baru adalah koordinat titik input.
Dimensi geometri yang dikembalikan sama dengan nilai geom1. Jika geom1 dan geom2 memiliki dimensi yang berbeda, geom2 diproyeksikan ke dimensi geom1.
Sintaks
ST_SetPoint(geom1, index, geom2)
Argumen
- geom1
-
Nilai tipe data
GEOMETRY
atau ekspresi yang mengevaluasiGEOMETRY
tipe. Subtipe harus.LINESTRING
- indeks
-
Nilai tipe data
INTEGER
yang mewakili posisi indeks. A0
mengacu pada titik pertama dari linestring dari kiri,1
mengacu pada titik kedua, dan seterusnya. Indeks bisa menjadi nilai negatif. A-1
mengacu pada titik pertama dari linestring dari kanan,-2
mengacu pada titik kedua dari linestring dari kanan, dan seterusnya. - geom2
-
Nilai tipe data
GEOMETRY
atau ekspresi yang mengevaluasiGEOMETRY
tipe. Subtipe harus.POINT
Jenis pengembalian
GEOMETRY
Jika geom2 adalah titik kosong, maka geom1 dikembalikan.
Jika geom1, geom2, atau indeks adalah nol, maka null dikembalikan.
Jika geom1 bukan linestring, maka kesalahan dikembalikan.
Jika indeks tidak berada dalam rentang indeks yang valid, maka kesalahan dikembalikan.
Jika geom2 bukan titik, maka kesalahan dikembalikan.
Jika geom1 dan geom2 tidak memiliki nilai yang sama untuk pengidentifikasi sistem referensi spasial (SRID), maka kesalahan dikembalikan.
Contoh
SQL berikut mengembalikan linestring baru di mana kita mengatur titik kedua dari linestring input dengan titik yang ditentukan.
SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), 2, ST_GeomFromText('POINT(7 9)')));
st_astext
-------------
LINESTRING(1 2,3 2,7 9,1 2)
Contoh SQL berikut mengembalikan linestring baru di mana kita mengatur titik ketiga dari kanan (indeks negatif) dari linestring dengan titik tertentu.
SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), -3, ST_GeomFromText('POINT(7 9)')));
st_astext
-------------
LINESTRING(1 2,7 9,5 2,1 2)