Megosztás a következőn keresztül:


st_setpoint függvény

A következőre vonatkozik:yes Databricks SQL check mark yes Databricks Runtime 17.1 és újabb

Important

Ez a funkció nyilvános előzetes verzióban van.

Megjegyzés:

Ez a funkció nem érhető el a Databricks SQL Klasszikus raktárakban. A Databricks SQL Warehouse-okkal kapcsolatos további információkért tekintse meg az SQL Warehouse típusait.

Az n-edik pontot állítja be a bemeneti vonalláncon az GEOGRAPHY vagy GEOMETRY értéknél.

Syntax

st_setpoint ( geo1Expr, indexExpr, geo2Expr )

Arguments

  • hu-HU: geo1Expr: Egy vonalláncot jelképező GEOGRAPHY vagy GEOMETRY érték.
  • indexExpr: Az INTEGER 1-alapú pozíciót jelző érték abban a sorokban, ahol az új pontot be kell állítani.
  • geo2Expr: Egy pontot vagy GEOGRAPHY vagy GEOMETRY értéket képviselő érték.

Returns

A(z) GEOGRAPHY típusú érték, ha mindkettő geo1Expr, geo2Expr és GEOGRAPHY típusú, vagy egy GEOMETRY típusú érték, ha mindkettő geo1Expr és geo2ExprGEOMETRY típusú. Ha indexExpr pozitív, a visszaadott GEOGRAPHY vagy GEOMETRY érték egy új vonallánc, amelynek indexExpr-ik pontját (balról számolva) geo2Expr-re állítjuk be. Ha indexExpr negatív, a vonalvezetés 1-alapú pozícióját, ahol a pontot hozzáadják, jobbról mérik.

  • A függvény akkor ad NULL vissza, ha a bemenetek bármelyike .NULL
  • A kimeneti sorok SRID értéke megegyezik a bemenet GEOGRAPHY vagy GEOMETRY értékek közös SRID-értékével.
  • A kimenet GEOGRAPHY vagy GEOMETRY vonalának a mérete megegyezik a geo1Expr-éval. Ha geo2Expr olyan koordinátákat tartalmaz, amelyek dimenziója nem létezik a megfelelő koordinátákban geo1Expr , akkor a 0 érték van beállítva.

Hibafeltételek

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)