st_addpoint fonksiyon

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi evet olarak işaretlendi 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 bir GEOGRAPHY veya GEOMETRY değeri.
  • geo2Expr: Bir nokta temsil eden bir GEOGRAPHY veya GEOMETRY değeri.
  • indexExpr: Yeni noktanın eklenmesi gereken çizgi dizesinde 1 tabanlı konumu gösteren isteğe bağlı INTEGER bir değer. Varsayılan değer -1'dir.

Returns

türünde bir değer veya her ikisi de türündeyse türünde bir değer. Eğer indexExpr pozitifse, döndürülen GEOGRAPHY veya GEOMETRY değeri, indexExpr-inci noktası geo2Expr olarak ayarlanmış yeni bir çizgi dizi olur. Negatifse indexExpr , noktanın eklendiği çizgi dizesinin 1 tabanlı konumu sağdan ölçülür.

  • Eğer girişlerden herhangi biri NULL ise, işlev NULL döndürür.
  • Çıkış çizgi dizesinin SRID değeri, girişin GEOGRAPHY veya GEOMETRY değerlerin ortak SRID değerine eşittir.
  • Çıktının GEOGRAPHY veya GEOMETRY çizgi dizesinin boyutu ile aynıdır geo1Expr. geo2Expr içinde, boyutu geo1Expr içinde bulunmayan koordinatlar varsa, söz konusu koordinatlar 0 olarak ayarlanır.

Hata koşulları

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)