fungsi st_setpoint

Berlaku untuk:check ditandai ya pemeriksaan Databricks SQL ditandai ya Databricks Runtime 17.1 ke atas

Important

Fitur ini ada di Pratinjau Publik.

Nota

Fitur ini tidak tersedia di gudang Databricks SQL Classic. Untuk mempelajari selengkapnya tentang gudang Databricks SQL, lihat Jenis gudang SQL.

Mengatur titik ke-n dari linestring input GEOGRAPHY atau nilai GEOMETRY.

Syntax

st_setpoint ( geo1Expr, indexExpr, geo2Expr )

Arguments

  • geo1Expr: Nilai GEOGRAPHY atau GEOMETRY yang mewakili linestring.
  • indexExpr: Nilai INTEGER yang menunjukkan posisi mulai dari 1 dalam linestring di mana titik baru harus ditempatkan.
  • geo2Expr: Nilai GEOGRAPHY atau GEOMETRY yang mewakili titik.

Returns

Nilai jenis GEOGRAPHY jika geo1Expr dan geo2Expr berjenis GEOGRAPHY, atau nilai jenis GEOMETRY jika geo1Expr dan geo2Expr berjenis GEOMETRY. Jika indexExpr positif, nilai GEOGRAPHY atau GEOMETRY yang dikembalikan adalah linestring baru yang titik ke-indexExpr-nya (dihitung dari kiri) diatur menjadi geo2Expr. Jika indexExpr negatif, posisi berbasis 1 linestring tempat titik ditambahkan diukur dari kanan.

  • Fungsi mengembalikan NULL jika salah satu input adalah NULL.
  • Nilai SRID dari linestring output sama dengan nilai SRID umum dari input GEOGRAPHY atau GEOMETRY nilai.
  • Dimensi output GEOGRAPHY atau GEOMETRY linestring sama dengan dimensi geo1Expr. Jika geo2Expr berisi koordinat yang dimensinya tidak ada dalam geo1Expr koordinat yang sesuai diatur ke 0.

Kondisi kesalahan

Examples

-- We set the first point of the linestring counting from the left.
> SELECT st_astext(st_setpoint(st_geomfromtext('LINESTRING(1 2,3 4)'), 1, st_geomfromtext('POINT(7 8)')));
  LINESTRING(7 8,3 4)

-- We set the first point of the linestring counting from the right.
-- The point is missing a Z coordinate. This is set to 0 when we update the linestring.
> SELECT st_asewkt(st_setpoint(st_geogfromtext('LINESTRING ZM (1 2 3 4,5 6 7 8)'), -1, st_geogfromtext('POINT M (0 9 99)')));
  SRID=4326;LINESTRING ZM (1 2 3 4,0 9 0 99)