fungsi st_addpoint

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.

Menambahkan titik baru ke posisi ke-n dalam linestring dari nilai input GEOGRAPHY atau GEOMETRY.

Syntax

st_addpoint ( geo1Expr, geo2Expr[, indexExpr] )

Arguments

  • geo1Expr: Nilai GEOGRAPHY atau GEOMETRY yang mewakili linestring.
  • geo2Expr: Nilai GEOGRAPHY atau GEOMETRY yang mewakili titik.
  • indexExpr: Nilai opsional INTEGER , menunjukkan posisi berbasis 1 di linestring tempat titik baru harus ditambahkan. Nilai defaultnya adalah -1.

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 do not specify a position; the point is appended at the end (right) of the linestring.
> SELECT st_asewkt(st_addpoint(st_geomfromtext('LINESTRING(1 2,3 4)', 4326), st_geomfromtext('POINT(7 8)', 4326)));
  SRID=4326;LINESTRING(1 2,3 4,7 8)

-- A positive index indicates the position. We add the point at that position in the linestring.
> SELECT st_astext(st_addpoint(st_geomfromtext('LINESTRING(1 2,3 4)'), st_geomfromtext('POINT(7 8)'), 3));
  LINESTRING(1 2,3 4,7 8)

-- The position is specified as a negative index. The point is added at that position counting from the right.
-- The point is missing a Z coordinate. This is set to 0 when the point is added in the linestring.
> SELECT st_asewkt(st_addpoint(st_geogfromtext('LINESTRING ZM (1 2 3 4,5 6 7 8)'), st_geogfromtext('POINT M (0 9 99)'), -1));
  SRID=4326;LINESTRING ZM (1 2 3 4,5 6 7 8,0 9 0 99)