ST_ConvexHull - Amazon Redshift

ST_ConvexHull

ST_ConvexHull devuelve una geometría que representa la envolvente convexa de los puntos no vacíos que se incluyen en la geometría de entrada.

En el caso de una entrada vacía, la geometría resultante es la misma que la geometría de entrada. Para todas las entradas no vacías, la función opera en la proyección 2D de la geometría de entrada. No obstante, la dimensión de la geometría de salida depende de la dimensión de la geometría de entrada. Más específicamente, cuando la geometría de entrada es una geometría 3DM o 3D no vacía, se eliminan las coordenadas m. Es decir, la dimensión de la geometría devuelta es 2D o 3DZ, respectivamente. Si la entrada es una geometría 2D o 3DZ no vacía, la geometría resultante tiene la misma dimensión.

Sintaxis

ST_ConvexHull(geom)

Argumentos

geom

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

Tipo de retorno

GEOMETRY

El valor del identificador de sistema de referencia espacial (SRID) de la geometría devuelta es el valor SRID de la geometría de entrada.

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

Los valores retornados son los siguientes.

Número de puntos en la envolvente convexa Subtipo de geometría.

0

Se devuelve una copia de geom.

1

Se devuelve un subtipo POINT.

2

Se devuelve un subtipo LINESTRING. Los dos puntos de la cadena de línea devuelta están ordenados lexicográficamente.

3 o mayor

Se devuelve un subtipo POLYGON sin anillos interiores. El polígono está orientado en sentido horario, y el primer punto del anillo exterior es el punto lexicográficamente más pequeño del anillo.

Ejemplos

El siguiente SQL devuelve la representación de texto conocida extendida (EWKT) de una cadena de línea. En este caso, la envolvente convexa devuelta es un polígono.

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('LINESTRING(0 0,1 0,0 1,1 1,0.5 0.5)'))) as output;
output ------------- POLYGON((0 0,0 1,1 1,1 0,0 0))

El siguiente SQL devuelve la representación EWKT de una linestring. En este caso, la envolvente convexa devuelta es una cadena de línea.

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('LINESTRING(0 0,1 1,0.2 0.2,0.6 0.6,0.5 0.5)'))) as output;
output ------------- LINESTRING(0 0,1 1)

El siguiente SQL devuelve la representación EWKT de un multipunto. En este caso, la envolvente convexa devuelta es un punto.

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('MULTIPOINT(0 0,0 0,0 0)'))) as output;
output ------------- POINT(0 0)