الاسم
ST_Node — تُنشئ العُقد لمجموعة من الخطوط.
المختصر
geometry ST_Node(geometry geom);
الوصف
تُعيد (Multi)LineString يمثّل النسخة المعقودة بالكامل من مجموعة خطوط. يحافظ العقد على جميع العُقد المُدخلة، ويُضيف أقل عدد ممكن من العُقد الجديدة. وتُذاب الخطوط الناتجة (تُزال الخطوط المكرّرة).
هذه طريقة جيدة لإنشاء شبكة خطوط معقودة بالكامل تصلح مُدخلاً لـ ST_Polygonize.
ST_UnaryUnion يمكن أيضاً استخدامها لعقد الخطوط وإذابتها. وهي توفّر خياراً لتحديد gridSize، مما قد يعطي ناتجاً أبسط وأكثر متانة. انظر أيضاً ST_Union للنسخة التجميعية.
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.
تُنفَّذ بواسطة وحدة GEOS.
متاحة منذ: 2.0.0
تغيّرت في: 2.4.0 تستخدم هذه الدالة GEOSNode داخلياً بدلاً من GEOSUnaryUnion. وقد يؤدي ذلك إلى اختلاف ترتيب الخطوط الناتجة واتجاهها مقارنة بإصدارات PostGIS < 2.4.
أمثلة
عقد LineString ثلاثي الأبعاد يتقاطع مع نفسه
SELECT ST_AsText(
ST_Node('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'::geometry)
) As output;
output
-----------
MULTILINESTRING Z ((0 0 0,5 5 4.5),(5 5 4.5,10 10 10,0 10 5,5 5 4.5),(5 5 4.5,10 0 3))
عقد خطّين (LineString) يشتركان في أجزاء خطية. لاحظ أن الخطوط الناتجة مُذابة.
SELECT ST_AsText(
ST_Node('MULTILINESTRING ((2 5, 2 1, 7 1), (6 1, 4 1, 2 3, 2 5))'::geometry)
) As output;
output
-----------
MULTILINESTRING((2 5,2 3),(2 3,2 1,4 1),(4 1,2 3),(4 1,6 1),(6 1,7 1))