Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
Gäller för:
Databricks
Databricks Runtime 17.1 och senare
Important
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Anmärkning
Den här funktionen är inte tillgänglig på de klassiska Databricks SQL-lagerhus. Mer information om Databricks SQL-lager finns i SQL-lagertyper.
Konstruerar ett polygonvärde GEOMETRY från den yttre indatagränsen och en valfri matris med inre gränser, som representeras som stängda linjer.
Syntax
st_makepolygon ( outer[, innerArray] )
Arguments
-
outer: EttGEOMETRYvärde. -
innerArray: En matris medGEOMETRYvärden.
Returns
Ett värde av typen GEOMETRY, som representerar en polygon.
Alla NULL värden i matrisen för inre gränser ignoreras.
SRID-värdet för utdatapolygonen är det gemensamma SRID-värdet för indatageometrierna.
Dimensionen för utdatapolygonen är den maximala gemensamma dimensionen för indatalinjerna.
Funktionen returnerar NULL om någon av indata är NULL.
Feltillstånd
- Om någon av indatageometrierna inte är en linjesträng returnerar funktionen ST_INVALID_ARGUMENT.INVALID_TYPE.
- Om indatageometrierna inte har samma SRID-värde returnerar funktionen ST_DIFFERENT_SRID_VALUES.
- Om den yttre gränsen är en tom linjedragning förväntas matrisen med inre gränser vara en tom matris. Annars returnerar funktionen ST_INVALID_ARGUMENT. EMPTY_OUTER_BOUNDARY.
- Om den yttre gränsen har mindre än fyra hörn returnerar funktionen ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_OUTER_BOUNDARY.
- Om den yttre gränsen inte är stängd returnerar funktionen ST_INVALID_ARGUMENT. OUTER_BOUNDARY_NOT_CLOSED.
- Om någon av de inre gränserna har mindre än fyra hörn returnerar funktionen ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_INNER_BOUNDARY.
- Om någon av de inre gränserna inte stängs returnerar funktionen 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))