O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog
ST_Boundary
ST_Boundary retorna o limite de uma geometria de entrada da seguinte forma:
Se a geometria de entrada estiver vazia (isto é, ela não contém pontos), ela é retornada como está.
Se a geometria de entrada for um ponto ou um multiponto não vazio, uma coleção de geometria vazia será retornada.
Se a entrada for uma linestring ou uma multilinestring, então um multiponto contendo todos os pontos no limite é retornado. O multiponto pode estar vazio).
Se a entrada for um polígono que não possui anéis interiores, então uma linestring fechada representando seu limite é retornada.
Se a entrada é um polígono que tem anéis interiores, ou é um multipolígono, então uma multilinestring é retornada. A multilinestring contém todos os limites de todos os anéis na geometria de área como linhas fechadas.
Para determinar a igualdade de pontos, ST_Boundary opera na projeção 2D da geometria de entrada. Se a geometria de entrada estiver vazia, será retornado uma cópia na mesma dimensão da entrada. Para geometrias 3DM e 4D não vazias, suas coordenadas m são descartadas. No caso especial de 3DZ e 4D multilinestrings, as coordenadas z dos pontos de limite da multilinestring são calculadas como as médias dos valores z distintos dos pontos de limite de linestring com a mesma projeção 2D.
Sintaxe
ST_Boundary(geom)
Argumentos
- geom
-
Um valor de tipo de dados
GEOMETRYou uma expressão que é avaliada como um tipoGEOMETRY.
Tipo de retorno
GEOMETRY
Nulo será retornado se geom for nulo.
Se geom for uma GEOMETRYCOLLECTION, será retornado um erro.
Exemplos
O SQL a seguir retorna o limite do polígono de entrada como uma multilinestring.
SELECT ST_AsEWKT(ST_Boundary(ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1))')));
st_asewkt
--------------------
MULTILINESTRING((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1))