Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Kontrola SQL Databricks
Databricks Runtime 17.1 a vyšší
Important
Tato funkce je ve verzi Public Preview.
Poznámka:
Tato funkce není k dispozici ve skladech Databricks SQL Classic. Další informace o službě Databricks SQL Warehouse najdete v tématu Typy SQL Warehouse.
Nastaví n-tý bod vstupního řetězce GEOGRAPHY nebo GEOMETRY hodnoty.
Syntax
st_setpoint ( geo1Expr, indexExpr, geo2Expr )
Arguments
-
geo1Expr: Hodnota typuGEOGRAPHYneboGEOMETRYpředstavující liniový řetězec. -
indexExprINTEGER: Hodnota označující pozici založenou na číslování od 1 v řetězci linií, kde má být nový bod umístěn. -
geo2Expr: HodnotaGEOGRAPHYneboGEOMETRYpředstavující bod.
Returns
Hodnota typu GEOGRAPHY , pokud jsou oba geo1Expr a geo2Expr jsou typu GEOGRAPHY, nebo hodnota typu GEOMETRY , pokud oba geo1Expr a geo2Expr jsou typu GEOMETRY.
Pokud indexExpr je kladný, vrácená GEOGRAPHY nebo GEOMETRY hodnota je nový linestring, jehož indexExpr-tý bod (počítáno od začátku) je nastaven na geo2Expr.
Pokud je indexExpr záporné, pozice 1 založená na umístění liniového objektu, kde se bod přidá, se měří zprava.
- Funkce vrátí
NULL, pokud je některý ze vstupůNULL. - Hodnota SRID výstupního řetězce řádku se rovná společné hodnotě SRID vstupu
GEOGRAPHYneboGEOMETRYhodnot. - Dimenze výstupního
GEOGRAPHYneboGEOMETRYspojnicového řetězce je stejná jako hodnotageo1Expr. Pokudgeo2Exprobsahuje souřadnice, jejichž rozměr neexistuje vgeo1Exprodpovídajících souřadnicích, jsou nastaveny na hodnotu 0.
Chybové podmínky
- Pokud
geo1Exprje typGEOGRAPHYageo2Exprje typuGEOMETRY, nebo naopak, vrátí funkce DATATYPE_MISMATCH. - Pokud hodnoty
geo1ExprSRID ageo2Exprliší se, vrátí funkce ST_DIFFERENT_SRID_VALUES. - Funkce vrátí ST_INVALID_ARGUMENT. INVALID_TYPE v některém z následujících případů:
- Hodnota
geo1Exprnení přímka. - Hodnota
geo2Exprnení bod.
- Hodnota
- Funkce vrátí ST_INVALID_ARGUMENT.EMPTY_LINESTRING, pokud je hodnota
geo1Exprprázdný linestring. - Funkce vrátí ST_INVALID_ARGUMENT.EMPTY_POINT, pokud je hodnota
geo2Exprprázdný bod. - Pokud je absolutní hodnota hodnoty
indexExpr0 nebo větší než počet bodů v řádku, vrátí funkce ST_INVALID_ARGUMENT. INVALID_INDEX_VALUE.
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)