الاسم
ST_IsClosed — تختبر ما إذا كانت نقطتا بداية الخط (LineString) ونهايته متطابقتين. وبالنسبة إلى السطح متعدد الوجوه (PolyhedralSurface) تختبر ما إذا كان مغلقًا (حجميًا).
المختصر
boolean ST_IsClosed(geometry g);
الوصف
تُعيد TRUE إذا كانت نقطتا بداية LINESTRING ونهايته متطابقتين. وبالنسبة إلى الأسطح متعددة الوجوه، تُبيّن ما إذا كان السطح مساحيًا (مفتوحًا) أو حجميًا (مغلقًا).
تطبّق هذه الدالة مواصفة OGC Simple Features Implementation Specification for SQL 1.1.
تطبّق هذه الدالة مواصفة SQL/MM. SQL-MM 3: 7.1.5, 9.3.3
|
|
|
يُعرّف SQL-MM ناتج |
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تدعم هذه الدالة الأقواس الدائرية (Circular Strings) والمنحنيات.
حُسّنت في: 2.0.0 أُضيف دعم الأسطح متعددة الوجوه.
تدعم هذه الدالة الأسطح متعددة الوجوه (Polyhedral surfaces).
أمثلة الخطوط والنقاط
postgis=# SELECT ST_IsClosed('LINESTRING(0 0, 1 1)'::geometry);
st_isclosed
-------------
f
(1 row)
postgis=# SELECT ST_IsClosed('LINESTRING(0 0, 0 1, 1 1, 0 0)'::geometry);
st_isclosed
-------------
t
(1 row)
postgis=# SELECT ST_IsClosed('MULTILINESTRING((0 0, 0 1, 1 1, 0 0),(0 0, 1 1))'::geometry);
st_isclosed
-------------
f
(1 row)
postgis=# SELECT ST_IsClosed('POINT(0 0)'::geometry);
st_isclosed
-------------
t
(1 row)
postgis=# SELECT ST_IsClosed('MULTIPOINT((0 0), (1 1))'::geometry);
st_isclosed
-------------
t
(1 row)
أمثلة الأسطح متعددة الوجوه
-- A cube --
SELECT ST_IsClosed(ST_GeomFromEWKT('POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),
((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)), ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) )'));
st_isclosed
-------------
t
-- Same as cube but missing a side --
SELECT ST_IsClosed(ST_GeomFromEWKT('POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),
((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)) )'));
st_isclosed
-------------
f