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
GEOGRAPHY değerleri desteği Genel Önizleme aşamasındadır. GEOMETRY değerleri için destek genel kullanıma sunulmuştur.
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ş satır dizesindeki GEOGRAPHY veya GEOMETRY değerdeki n. konuma yeni bir nokta ekler.
Syntax
st_addpoint ( geo1Expr, geo2Expr[, indexExpr] )
Arguments
-
geo1Expr: Bir satır dizesini temsil eden birGEOGRAPHYveyaGEOMETRYdeğeri. -
geo2Expr: Bir nokta temsil eden birGEOGRAPHYveyaGEOMETRYdeğeri. -
indexExpr: Yeni noktanın eklenmesi gereken çizgi dizesinde 1 tabanlı konumu gösteren isteğe bağlıINTEGERbir değer. Varsayılan değer -1'dir.
Returns
- 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.geo2Expriçinde, boyutugeo1Expriçinde bulunmayan koordinatlar varsa, söz konusu 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
-
ST_INVALID_ARGUMENT.EMPTY_LINESTRING döndürür eğer
geo1Exprboş bir çizgi dizesiyse, işlev. - İşlev, değerinin boş bir nokta olması durumunda
geo2Exprdöndürür. - Eğer
indexExprdeğerinin mutlak değeri 0 veya çizgi dizisindeki nokta sayısından büyükse ve buna bir eklenirse, işlev ST_INVALID_ARGUMENT.INVALID_INDEX_VALUE döndürür.
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)