ST_IsSimple
定义
如果 ST_Geometry 对象是简单对象,则 ST_IsSimple 返回 1 (Oracle) 或 t (PostgreSQL);否则返回 0 (Oracle) 或 f (PostgreSQL)。
语法
sde.st_issimple (g1 sde.st_geometry)
返回类型
布尔型
示例
创建一个包含两列的表 issimple_test。pid 列是 smallint 数据类型,包含每行的唯一标识符。g1 的 ST_Geometry 列存储的是简单和非简单的几何示例。
CREATE TABLE issimple_test (pid smallint, g1 sde.st_geometry);
此 INSERT 语句用于向 issimple_test 表中插入两条记录。第一条记录是一个简单线串,因为它不与内部相交。第二条是非简单线串,因为它与内部相交。
Oracle
INSERT INTO ISSIMPLE_TEST VALUES ( 1, sde.st_linefromtext ('linestring (10 10, 20 20, 30 30)', 0) ); INSERT INTO ISSIMPLE_TEST VALUES ( 2, sde.st_linefromtext ('linestring (10 10, 20 20, 20 30, 10 30, 10 20, 20 10)', 0) );
PostgreSQL
INSERT INTO issimple_test VALUES ( 1, sde.st_linestring ('linestring (10 10, 20 20, 30 30)', 0) ); INSERT INTO issimple_test VALUES ( 2, sde.st_linestring ('linestring (10 10, 20 20, 20 30, 10 30, 10 20, 20 10)', 0) );
此查询将返回 ST_IsSimple 函数的结果。因为第一条记录的线串是简单线串,所以返回 1;而第二条记录的线串是非简单线串,所以返回 0。
Oracle
SELECT pid, sde.st_issimple (g1) Is_it_simple FROM ISSIMPLE_TEST; PID Is_it_simple 1 1 2 0
PostgreSQL
SELECT pid, sde.st_issimple (g1) AS Is_it_simple FROM issimple_test; pid is_it_simple 1 t 2 f
7/10/2012