Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 17.1 ve üzeri
Important
Bu özellik Genel Önizleme aşamasındadır.
Uyarı
Bu özellik Databricks SQL Klasik ambarlarında kullanılamaz. Databricks SQL ambarları hakkında daha fazla bilgi edinmek için bkz. SQL ambar türleri.
Giriş çizgi dizesinin GEOGRAPHY veya GEOMETRY değerin n. noktasını ayarlar.
Syntax
st_setpoint ( geo1Expr, indexExpr, geo2Expr )
Arguments
-
geo1Expr: Bir satır dizesini temsil eden birGEOGRAPHYveyaGEOMETRYdeğeri. -
indexExpr: Yeni noktanın ayarlanması gerektiği çizgi dizisindeki 1 tabanlı konumu belirten birINTEGERdeğeri. -
geo2Expr: BirGEOGRAPHYveyaGEOMETRYdeğeri bir noktayı temsil eder.
Returns
Eğer GEOGRAPHY ve geo1Expr her ikisi de geo2Expr türündeyse GEOGRAPHY türünde bir değer veya GEOMETRY ve geo1Expr her ikisi de geo2Expr türündeyse GEOMETRY türünde bir değer.
Pozitifse indexExpr, döndürülen GEOGRAPHY veya GEOMETRY değeri, indexExpr 'üncü noktası (soldan sayılan) geo2Expr olarak ayarlanmış yeni bir çizgi dizesidir.
Negatifse indexExpr , noktanın eklendiği çizgi dizesinin 1 tabanlı konumu sağdan ölçülür.
- Eğer girişlerden herhangi biri
NULLise, işlevNULLdöndürür. - Çıkış çizgi dizesinin SRID değeri, girişin
GEOGRAPHYveyaGEOMETRYdeğerlerin ortak SRID değerine eşittir. - Çıktının
GEOGRAPHYveyaGEOMETRYçizgi dizesinin boyutu ile aynıdırgeo1Expr. Eğergeo2Expr, boyutugeo1Expriçinde bulunmayan koordinatlar içeriyorsa, bu karşılık gelen koordinatlar 0 olarak ayarlanır.
Hata koşulları
- türündeyse
geo1ExprveGEOGRAPHYtüründeysegeo2ExprGEOMETRYveya tam tersiyse işlev DATATYPE_MISMATCH döndürür. - ve SRID değerleri
geo1Exprfarklıysa işlevgeo2Exprdöndürür. - işlev, aşağıdaki durumlardan herhangi birinde ST_INVALID_ARGUMENT.INVALID_TYPE döndürür:
- değeri
geo1Exprbir çizgi dizesi değildir. - değeri
geo2Exprbir nokta değildir.
- değeri
- Fonksiyon, değerinin boş bir çizgi dizesi olması durumunda,
geo1Exprdöndürür. - İşlev, ST_INVALID_ARGUMENT.EMPTY_POINT değerini geri döner eğer
geo2Exprboş bir nokta ise. -
indexExprdeğerinin mutlak değeri 0 veya çizgi dizisindeki nokta sayısından büyük ya da eşitse, işlev ST_INVALID_ARGUMENT.INVALID_INDEX_VALUE döndürür.
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)