

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

ST\$1MakePolygon tem duas variantes que retornam um polígono. Um leva uma única geometria, e outro leva duas geometrias. 
+ A entrada da primeira variante é uma linestring que define o anel externo do polígono de saída.
+ A entrada da segunda variante é uma linestring e uma multilinestring. Ambas estão vazias ou fechadas. 

  O limite do anel exterior do polígono de saída é a linestring de entrada, e os limites dos anéis interiores do polígono são as linestrings na entrada multilinestring. Se a linestring estiver vazia, um polígono vazio será retornado. Linestrings vazias na multilinestring são ignoradas. O valor do identificador do sistema de referência espacial (SRID - spatial reference system identifier) da geometria resultante é o SRID comum das duas geometrias de entrada.

A dimensão da geometria retornada é a mesma das geometrias de entrada. O anel exterior e os anéis interiores devem ter a mesma dimensão.

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

```
ST_MakePolygon(geom1)
```

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

## Argumentos
<a name="ST_MakePolygon-function-arguments"></a>

 *geom1*   
Um valor de tipo de dados `GEOMETRY` ou uma expressão que é avaliada como um tipo `GEOMETRY`. O subtipo deve ser `LINESTRING`. O valor de *linestring* deve ser fechado ou vazio.

 *geom2*   
Um valor de tipo de dados `GEOMETRY` ou uma expressão que é avaliada como um tipo `GEOMETRY`. O subtipo deve ser `MULTILINESTRING`. 

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

`GEOMETRY` de subtipo `POLYGON`. 

O identificador do sistema de referência espacial (SRID - spatial reference system identifier) da geometria retornada é igual ao SRID das entradas. 

Se *geom1* ou *geom2* for nulo, null será retornado. 

Se *geom1* não for uma linestring, será retornado um erro. 

Se *geom2* não for uma multilinestring, será retornado um erro. 

Se *geom1* não for fechado, será retornado um erro. 

Se *geom1* for um único ponto ou não estiver fechado, será retornado um erro. 

Se *geom2* contém pelo menos uma linestring com um único ponto ou não for fechada, será retornado um erro. 

Um erro será retornado se *geom1* e *geom2* tiverem valores de SRIDs diferentes. 

Se *geom1* e *geom2* tiverem dimensões diferentes, um erro será retornado. 

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

O SQL a seguir retorna um polígono de uma linestring de entrada. 

```
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))
```

O SQL a seguir cria um polígono a partir de uma linestring fechada e uma multilinestring fechada. O linestring é usado para o anel externo do polígono. As linestrings nas multilinestrings são usadas para os anéis interiores do polígono. 

```
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))
```