الاسم
ST_UnaryUnion — تحسب اتحاد مكوّنات شكل هندسي واحد.
المختصر
geometry ST_UnaryUnion(geometry geom, float8 gridSize = -1);
الوصف
نسخة أحادية المُدخل من ST_Union. قد يكون المُدخل شكلاً هندسياً واحداً أو MultiGeometry أو GeometryCollection. ويُطبَّق الاتحاد على العناصر المنفردة للمُدخل.
يمكن استخدام هذه الدالة لإصلاح MultiPolygon غير صالحة بسبب تداخل مكوّناتها. لكن يجب أن يكون كل مكوّن من مكوّنات المُدخل صالحاً. فالمكوّن غير الصالح، كالمضلع على شكل ربطة العنق، قد يسبّب خطأً. لذلك قد يكون من الأفضل استخدام ST_MakeValid.
ومن استخدامات هذه الدالة أيضاً عقد مجموعة من الخطوط المتقاطعة أو المتداخلة وإذابتها لجعلها بسيطة. (تفعل ST_Node ذلك أيضاً، لكنها لا توفّر الخيار gridSize.)
يمكن الجمع بين ST_UnaryUnion وST_Collect لضبط عدد الأشكال التي يُحسب اتحادها دفعة واحدة. يتيح ذلك الموازنة بين استهلاك الذاكرة ووقت الحساب، وتحقيق توازن بين ST_Union وST_MemUnion.
إذا أُعطي المعامل الاختياري gridSize (يتطلب GEOS-3.9.0 أو أحدث)، فمن المضمون أن تقع جميع رؤوس النتيجة على شبكة بالحجم المحدد. ولكي تعطي العملية نتائج متوقعة يجب أن تقع جميع رؤوس المدخلات مسبقًا على الشبكة المحددة، انظر ST_ReducePrecision.
تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z. غير أن النتيجة تُحسب باستخدام XY فقط. وتُنسخ قيم Z في النتيجة أو يُحسب متوسطها أو تُستوفى.
حُسّنت في: 3.1.0 قبول المعامل gridSize.
تتطلب GEOS >= 3.9.0 لاستخدام المعامل gridSize
متاحة منذ: 2.0.0
انظر أيضًا
ST_Union, ST_MemUnion, ST_MakeValid, ST_Collect, ST_Node, ST_ReducePrecision