Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Funzione
Si applica a:
controllo SQL di Databricks
Databricks Runtime 17.1 e versioni successive
Important
Questa funzionalità è in Anteprima Pubblica.
Annotazioni
Questa funzionalità non è disponibile in Databricks SQL Classic Warehouses. Per altre informazioni sui databricks SQL Warehouse, vedere Tipi di SQL Warehouse.
Costruisce un valore poligono GEOMETRY dal limite esterno di input e dalla matrice facoltativa di limiti interni, rappresentati come stringhe di riga chiuse.
Syntax
st_makepolygon ( outer[, innerArray] )
Arguments
-
outer: un valoreGEOMETRY. -
innerArray: matrice diGEOMETRYvalori.
Returns
Valore di tipo GEOMETRY, che rappresenta un poligono.
Tutti NULL i valori nella matrice di limiti interni vengono ignorati.
Il valore SRID del poligono di output è il valore SRID comune delle geometrie di input.
La dimensione del poligono di output è la dimensione massima comune delle stringhe di input.
La funzione restituisce NULL se uno degli input è NULL.
Condizioni di errore
- Se una delle geometrie di input non è lineare, la funzione restituisce ST_INVALID_ARGUMENT. INVALID_TYPE.
- Se le geometrie di input non hanno lo stesso valore SRID, la funzione restituisce ST_DIFFERENT_SRID_VALUES.
- Se il limite esterno è una stringa di riga vuota, la matrice di limiti interni dovrebbe essere una matrice vuota. In caso contrario, la funzione restituisce ST_INVALID_ARGUMENT. EMPTY_OUTER_BOUNDARY.
- Se il limite esterno ha meno di quattro vertici, la funzione restituisce ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_OUTER_BOUNDARY.
- Se il limite esterno non è chiuso, la funzione restituisce ST_INVALID_ARGUMENT. OUTER_BOUNDARY_NOT_CLOSED.
- Se uno dei limiti interni ha meno di quattro vertici, la funzione restituisce ST_INVALID_ARGUMENT. TOO_FEW_VERTICES_IN_INNER_BOUNDARY.
- Se uno dei limiti interni non è chiuso, la funzione restituisce 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))