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šší
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.
Vytvoří mnohoúhelníkovou GEOMETRY hodnotu ze vstupní vnější hranice a volitelného pole vnitřních hranic, které jsou reprezentované jako uzavřené liniové řetězce.
Syntax
st_makepolygon ( outer[, innerArray] )
Arguments
-
outer: HodnotaGEOMETRY. -
innerArray: PoleGEOMETRYhodnot.
Returns
Hodnota typu GEOMETRYpředstavující mnohoúhelník.
Všechny NULL hodnoty v poli vnitřních hranic se ignorují.
Hodnota SRID výstupního polygonu je společná hodnota SRID vstupních geometrií.
Rozměr výstupního mnohoúhelníku je největší společný rozměr vstupních linií.
Funkce vrátí NULL , pokud je některý ze vstupů NULL.
Chybové podmínky
- Pokud některá ze vstupních geometrií není linestring, vrátí funkce ST_INVALID_ARGUMENT. INVALID_TYPE.
- Pokud vstupní geometrie nemají stejnou hodnotu SRID, vrátí funkce ST_DIFFERENT_SRID_VALUES.
- Pokud je vnější hranice prázdným řádkovým řetězcem, očekává se, že pole vnitřních hranic bude prázdné pole. V opačném případě vrátí funkce ST_INVALID_ARGUMENT. EMPTY_OUTER_BOUNDARY.
- Pokud vnější obvod má méně než čtyři vrcholy, vrátí funkce ST_INVALID_ARGUMENT.TOO_FEW_VERTICES_IN_OUTER_BOUNDARY.
- Pokud vnější hranice není uzavřena, vrátí funkce ST_INVALID_ARGUMENT. OUTER_BOUNDARY_NOT_CLOSED.
- Pokud má některá z vnitřních hranic méně než čtyři vrcholy, vrátí funkce ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_INNER_BOUNDARY.
- Pokud některá z vnitřních hranic není uzavřená, vrátí funkce ST_INVALID_ARGUMENT. INNER_BOUNDARY_NOT_CLOSED.
Examples
-- Returns a polygon constructed from the outer boundary.
> SELECT st_astext(st_makepolygon(st_geomfromtext('LINESTRING(0 0,10 0,10 10,0 10,0 0)')));
POLYGON((0 0,10 0,10 10,0 10,0 0))
-- Returns a polygon constructed from the outer boundary and an inner boundary.
> SELECT st_astext(st_makepolygon(st_geomfromtext('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), array(st_geomfromtext('LINESTRING(1 1,2 1,1 2,1 1)'))));
POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,2 1,1 2,1 1))