الاسم
ST_ClusterWithin — دالة تجميعية تُعنقد الأشكال الهندسية حسب مسافة الفصل.
المختصر
geometry[] ST_ClusterWithin(geometry set g, float8 distance);
الوصف
دالة تجميعية تُعيد مصفوفة من مجموعات الأشكال (GeometryCollections)، كل مجموعة منها عنقود يحتوي على بعض الأشكال الهندسية المُدخلة. تقسّم العنقدة الأشكال الهندسية المُدخلة إلى مجموعات يقع فيها كل شكل هندسي ضمن المسافة المحددة distance من شكل هندسي آخر واحد على الأقل في العنقود نفسه. والمسافات ديكارتية بوحدات SRID.
تكافئ ST_ClusterWithin تشغيل ST_ClusterDBSCAN مع minpoints => 0.
متاحة منذ: 2.2.0
تدعم هذه الدالة الأقواس الدائرية (Circular Strings) والمنحنيات.
أمثلة
WITH testdata AS
(SELECT unnest(ARRAY['LINESTRING (0 0, 1 1)'::geometry,
'LINESTRING (5 5, 4 4)'::geometry,
'LINESTRING (6 6, 7 7)'::geometry,
'LINESTRING (0 0, -1 -1)'::geometry,
'POLYGON ((0 0, 4 0, 4 4, 0 4, 0 0))'::geometry]) AS geom)
SELECT ST_AsText(unnest(ST_ClusterWithin(geom, 1.4))) FROM testdata;
--result
st_astext
---------
GEOMETRYCOLLECTION(LINESTRING(0 0,1 1),LINESTRING(5 5,4 4),LINESTRING(0 0,-1 -1),POLYGON((0 0,4 0,4 4,0 4,0 0)))
GEOMETRYCOLLECTION(LINESTRING(6 6,7 7))