ST_ SetPoint - Amazon Redshift

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 mengevaluasi GEOMETRY tipe. Subtipe harus. LINESTRING

indeks

Nilai tipe data INTEGER yang mewakili posisi indeks. A 0 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 mengevaluasi GEOMETRY 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)