ST_IsClosed

Definición

ST_IsClosed toma un ST_LineString o ST_MultiLineString y devuelve 1 (Oracle) o t (PostgreSQL) si está cerrado; de lo contrario, devuelve 0 (Oracle) o f (PostgreSQL).

Sintaxis

sde.st_isclosed (ln1 sde.st_geometry) sde.st_isclosed (mln1 sde.st_geometry)

Tipo de devolución

Booleano

Ejemplos

Pruebas de una línea de cadena de texto

La tabla closed_linestring se crea con una columna de línea de cadena de texto única.

CREATE TABLE closed_linestring (ln1 sde.st_geometry);

Las declaraciones INSERT insertan dos registros en la tabla closed_linestring. El primer registro no es una línea de cadena de texto cerrada, mientras que la segunda lo es.

Oracle

INSERT INTO CLOSED_LINESTRING VALUES ( sde.st_linefromtext ('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0) );  INSERT INTO CLOSED_LINESTRING VALUES ( sde.st_linefromtext ('linestring (10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01)', 0) );

PostgreSQL

INSERT INTO closed_linestring VALUES ( sde.st_linestring ('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0) );  INSERT INTO closed_linestring VALUES ( sde.st_linestring ('linestring (10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01)', 0) );

La consulta devuelve los resultados de la función ST_IsClosed. La primera fila devuelve un 0 porque la línea de cadena de texto no está cerrada, mientras que la segunda fila devuelve un 1 porque la línea de cadena de texto está cerrada.

Oracle

SELECT sde.st_isclosed (ln1) Is_it_closed FROM CLOSED_LINESTRING;  Is_it_closed  0 1

PostgreSQL

SELECT sde.st_isclosed (ln1) AS Is_it_closed FROM closed_linestring;  is_it_closed  f t

Pruebas de cadena de texto multilínea

La tabla closed_mlinestring se crea con una columna ST_MultiLineString única.

CREATE TABLE closed_mlinestring (mln1 sde.st_geometry);

Las declaraciones INSERT insertan un registro ST_MultiLineString que no está cerrado y otro que sí.

INSERT INTO closed_mlinestring VALUES ( sde.st_mlinefromtext ('multilinestring ((10.02 20.01, 10.32 23.98, 11.92 25.64), (9.55 23.75, 15.36 30.11))', 0) );  INSERT INTO closed_mlinestring VALUES ( sde.st_mlinefromtext ('multilinestring ((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01), (51.71 21.73, 73.36 27.04, 71.52 32.87, 52.43 31.90, 51.71 21.73))', 0) );

La consulta enumera los resultados de la función ST_IsClosed. La primera fila devuelve 0 porque la cadena de texto multilínea no está cerrada. La segunda fila devuelve 1 porque la cadena de texto multilínea almacenada en la columna ln1 está cerrada. Una cadena de texto multilínea está cerrada si todos sus elementos de línea de cadena de texto están cerrados.

Oracle

SELECT sde.st_isclosed (mln1) Is_it_closed FROM CLOSED_MLINESTRING;  Is_it_closed  0 1

PostgreSQL

SELECT st_isclosed (mln1) AS Is_it_closed FROM closed_mlinestring;  is_it_closed  f t
9/11/2013