ST_Perimeter - Amazon Redshift

ST_Perimeter

Para uma geometria plana de entrada, ST_Perimeter retorna o perímetro cartesiano (comprimento do limite) da projeção 2D. As unidades de perímetro são as mesmas unidades em que as coordenadas da geometria de entrada são expressas. A função retorna zero (0) para pontos, multipontos e geometrias lineares. Quando a entrada for uma coleção de geometrias, a função retornará a soma dos perímetros das geometrias na coleção.

Para uma geografia de entrada, o ST_Perimeter retorna a área geodésica (comprimento do limite) da projeção 2D de uma geografia plana de entrada computada no esferoide determinado pelo SRID. A unidade de perímetro é o metro. A função retorna zero (0) para pontos, multipontos e geografias lineares. Quando a entrada for uma coleção de geometrias, a função retornará a soma dos perímetros das geografias da coleção.

Sintaxe

ST_Perimeter(geo)

Argumentos

geo

Um valor de tipo de dados GEOMETRY ou GEOGRAPHY ou uma expressão que é avaliada como tipo GEOMETRY ou GEOGRAPHY.

Tipo de retorno

DOUBLE PRECISION

Será retornado null, se geo for nulo.

Se o valor de SRID não for encontrado, será retornado um erro.

Exemplos

O SQL a seguir retorna o perímetro cartesiano de um multipolígono.

SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter -------------------------------- 68.2842712474619

O SQL a seguir retorna o perímetro cartesiano de um multipolígono.

SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter -------------------------------- 68.2842712474619

O SQL a seguir retorna o perímetro de um polígono em uma geografia.

SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;POLYGON((0 0,1 0,0 1,0 0))'));
st_perimeter ------------------ 378790.428393693

O SQL a seguir retorna o perímetro de uma linestring em uma geografia.

SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;LINESTRING(5 0,10 0)'));
st_perimeter -------------- 0