Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
fungsi
Berlaku untuk:
pemeriksaan Databricks SQL
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: NilaiGEOGRAPHYatauGEOMETRYyang mewakili linestring. -
geo2Expr: NilaiGEOGRAPHYatauGEOMETRYyang mewakili titik. -
indexExpr: Nilai opsionalINTEGER, 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
NULLjika salah satu input adalahNULL. - Nilai SRID dari linestring output sama dengan nilai SRID umum dari input
GEOGRAPHYatauGEOMETRYnilai. - Dimensi output
GEOGRAPHYatauGEOMETRYlinestring sama dengan dimensigeo1Expr. Jikageo2Exprberisi koordinat yang dimensinya tidak ada dalamgeo1Exprkoordinat yang sesuai diatur ke 0.
Kondisi kesalahan
- Jika
geo1ExprberjenisGEOGRAPHYdangeo2ExprberjenisGEOMETRY, atau sebaliknya, fungsi mengembalikan DATATYPE_MISMATCH. - Jika nilai
geo1ExprSRID dangeo2Exprberbeda, fungsi mengembalikan ST_DIFFERENT_SRID_VALUES. - Fungsi mengembalikan ST_INVALID_ARGUMENT. INVALID_TYPE dalam salah satu kasus berikut:
- Nilai
geo1Exprbukan linestring. - Nilai
geo2Exprbukan titik.
- Nilai
- Fungsi mengembalikan ST_INVALID_ARGUMENT. EMPTY_LINESTRING jika nilai
geo1Expradalah linestring kosong. - Fungsi mengembalikan ST_INVALID_ARGUMENT. EMPTY_POINT jika nilai
geo2Expradalah titik kosong. - Jika nilai absolut dari nilai
indexExpradalah 0 atau lebih besar dari jumlah titik dalam linestring ditambah satu, fungsi mengembalikan ST_INVALID_ARGUMENT. INVALID_INDEX_VALUE.
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)