ST_Perimeter - Amazon Redshift

ST_Perimeter

Con respecto a una geometría de área de entrada, ST_Perimeter devuelve el perímetro cartesiano (longitud del límite) de la proyección 2D. Las unidades perimetrales son las mismas que las unidades en las que se expresan las coordenadas de la geometría de entrada. La función devuelve cero (0) para geometrías de puntos, multipuntos y lineales. Cuando la entrada es una colección de geometría, la función devuelve la suma de los perímetros de las geometrías de la colección.

Con respecto a una geografía de entrada, ST_Perimeter devuelve el perímetro geodésico (longitud del límite) de la proyección 2D de una geografía de área de entrada calculada sobre el esferoide que determina el SRID. La unidad de perímetro se expresa en metros. La función devuelve un valor cero (0) para las geografías de puntos, multipuntos y lineales. Cuando la entrada es una colección de geometría, la función devuelve la suma de los perímetros de las geografías de la colección.

Sintaxis

ST_Perimeter(geo)

Argumentos

geo

Un valor de tipo de datos GEOMETRY o GEOGRAPHY, o una expresión que toma el valor de un tipo GEOMETRY o GEOGRAPHY.

Tipo de retorno

DOUBLE PRECISION

Si geo es nulo, entonces se devuelve el valor nulo.

Si no se encuentra el valor del SRID, se devuelve un error.

Ejemplos

El siguiente SQL devuelve el perímetro cartesiano de un 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

El siguiente SQL devuelve el perímetro cartesiano de un 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

El siguiente SQL devuelve el perímetro de un polígono en una geografía.

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

El siguiente SQL devuelve el perímetro de una cadena de líneas en una geografía.

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