

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# ST\$1 MakePolygon
<a name="ST_MakePolygon-function"></a>

ST\$1 ha due varianti MakePolygon che restituiscono un poligono. Una variante utilizza una singola geometria mentre l'altra ne utilizza due. 
+ L'input della prima variante è una linestring che definisce l'anello esterno del poligono di output.
+ L'input della seconda variante è una linestring e un multilinestring. Entrambi sono vuoti o chiusi. 

  Il limite dell'anello esterno del poligono di output è la linestring di ingresso, mentre i confini degli anelli interni del poligono sono le linestring nel multilinestring di input. Se la linestring di input è vuota, viene restituito un poligono vuoto. Le linestring vuote nel multilinestring non vengono prese in considerazione. Il valore dell'identificatore del sistema di riferimento spaziale (SRID) della geometria risultante è il valore SRID comune delle due geometrie di input.

La dimensione della geometria restituita è la stessa delle geometrie di input. L'anello esterno e gli anelli interni devono avere la stessa dimensione.

## Sintassi
<a name="ST_MakePolygon-function-syntax"></a>

```
ST_MakePolygon(geom1)
```

```
ST_MakePolygon(geom1, geom2)
```

## Arguments (Argomenti)
<a name="ST_MakePolygon-function-arguments"></a>

 *geom1*   
Un valore di tipo `GEOMETRY` o un'espressione che restituisce un valore di tipo `GEOMETRY`. Questo sottotipo deve essere `LINESTRING`. Il valore di tipo *linestring* deve essere chiuso o vuoto.

 *geom2*   
Un valore di tipo `GEOMETRY` o un'espressione che restituisce un valore di tipo `GEOMETRY`. Questo sottotipo deve essere `MULTILINESTRING`. 

## Tipo restituito
<a name="ST_MakePolygon-function-return"></a>

`GEOMETRY` di sottotipo `POLYGON`. 

L'identificatore del sistema di riferimento spaziale (SRID) della geometria restituita è uguale allo SRID degli input. 

Se *geom1* o *geom2* sono null, allora viene restituito il valore null. 

Se *geom1* non è una linestring, allora viene restituito un errore. 

Se *geom2* non è un multilinestring, allora viene restituito un errore. 

Se *geom1* non è chiuso, allora viene restituito un errore. 

Se *geom1* è un singolo punto o non è chiuso, allora viene restituito un errore. 

Se *geom2* contiene almeno una linestring con un singolo punto o non è chiusa, allora viene restituito un errore. 

Se *geom1* e *geom2* presentano valori SRID diversi, allora viene restituito un errore. 

Se *geom1* e *geom2* hanno dimensioni diverse, allora viene restituito un errore. 

## Esempi
<a name="ST_MakePolygon-function-examples"></a>

Il seguente comando SQL restituisce un poligono a partire da una linestring in input 

```
SELECT ST_AsText(ST_MakePolygon(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)')));
```

```
 st_astext
---------------
POLYGON((77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07))
```

Il seguente SQL crea un poligono da una linestring chiusa e un multilinestring chiuso. La linestring viene utilizzata per l'anello esterno del poligono. I linestring nei multilinestring sono utilizzati per gli anelli interni del poligono. 

```
SELECT ST_AsEWKT(ST_MakePolygon(ST_GeomFromText('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), ST_GeomFromText('MULTILINESTRING((1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))')));
```

```
 st_astext
----------------------------------
POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))
```