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.
Přidá nový bod na n-tou pozici ve vstupním liniovém řetězci GEOGRAPHY nebo GEOMETRY hodnotě.
Syntax
st_addpoint ( geo1Expr, geo2Expr[, indexExpr] )
Arguments
-
geo1Expr: Hodnota typuGEOGRAPHYneboGEOMETRYpředstavující liniový řetězec. -
geo2Expr: HodnotaGEOGRAPHYneboGEOMETRYpředstavující bod. -
indexExpr: VolitelnáINTEGERhodnota označující pozici v polylinii, založenou na číslování začínajícím od 1, kde má být přidán nový bod. Výchozí hodnota je -1.
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 prázdný linestring.
- Funkce vrátí ST_INVALID_ARGUMENT. EMPTY_POINT , pokud je hodnota prázdného
geo2Exprbodu. - Pokud je absolutní hodnota hodnoty
indexExpr0 nebo větší než počet bodů v řádku plus jedna, vrátí funkce ST_INVALID_ARGUMENT. INVALID_INDEX_VALUE.
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)