يتم تسوية حواف المنطقة باستخدام أداة تنظيف الحدود

تُستخدم وظيفة تنظيف الحدود لتعميمها على طول حواف المناطق في البيانات النقطية. يتم تسوية الحواف من خلال توسيع وتقليص الحدود بين المناطق.

تعميم الحواف

تعمل تقوم وظيفة تنظيف الحدود بتعميم، أو تبسيط، البيانات النقطية من خلال تسوية الحدود بين المناطق. تطبق أداة تنظيف الحدود طريقة التوسع والتقليص لتقييم كل خلية باستخدام محيطها المباشر. يوجد عدة خيارات متاحة للتحكم في كيفية تأثير خلايا المناطق على عملية التسوية. يمكن التحكم أيضًا في درجة التسوية.

فرز حسب الأولوية

تبدأ العملية بترتيب المناطق في البيانات النقطية المدخلة حسب أولوية معينة. بالنسبة لكل خلية في البيانات المدخلة، تُستخدم الأولوية لتحديد قيمة المنطقة المجاورة التي يمكن أن تحل محل قيمة الخلية الجاري معالجتها.

يمكن أن تستند أولوية الفرز إلى قيم المناطق أو أحجامها. تحدد معلمة نوع الفرز أولوية الفرز التي يجب استخدامها. عند استخدام الإعداد الافتراضي عدم الفرز، ستحظى الخلايا من المناطق ذات القيم الأعلى بأولوية أكبر للتوسع نحو المناطق ذات القيم الأدنى. عند استخدام الإعداد تنازلي، ستحظى المناطق الأكبر حجمًا بأولوية للتوسع نحو المناطق ذات المساحات الأصغر. عند استخدام الإعداد تصاعدي، ستحظى المناطق ذات المساحات الأصغر بأولوية للتوسع نحو المناطق ذات المساحات الأكبر.

مقدار التسوية

يتم التحكم في مقدار التسوية من خلال عدد مرات تنفيذ عملية التوسيع والتقليص: مرة واحدة أو مرتين. الإعداد الافتراضي هو مرتين، مما يؤدي إلى تحقيق مقدار تسوية أكبر.

عملية التوسيع والتقليص

تقوم عملية التوسيع والتقليص بتقييم الخلايا المجاورة المباشرة لكل خلية قيد المعالجة بناءً على نوع أولوية الفرز المحدد في معلمة نوع الفرز.

في هذه العملية، يتم تنفيذ التوسيع أولاً يليه التقليص. أما إذا لم يتم تحديد المعلمة تشغيل التوسيع والتقليص مرتين، فستُنفذ هذه العملية مرة واحدة. إذا تم تحديد المعلمة، فسيتم تنفيذ عملية التوسيع والتقليص مرتين.

التفاصيل الإضافية للخوارزميات المستخدمة في هذه العملية مُدرجة أدناه.

توسيع وتقليص في اتجاه واحد

عند استخدام الإعداد أحادي الاتجاه، تُنفذ عملية التوسيع والتقليص مرة واحدة.

في تمرير التوسيع، يحدث ما يلي:

  • بالنسبة لكل خلية قيد المعالجة في البيانات النقطية المدخلة، يتم تقييم كل خلية مجاورة.
  • بالنسبة لكل خلية مجاورة، يتم تقييم ما إذا كانت قيمة الأولوية لتلك الخلية أقل من قيمة الأولوية لخلية المعالجة. إذا كان الأمر كذلك، يتم تعيين أولوية الجوار الداخلي لتكون مساوية لأولوية خلية المعالجة في الإدخال. قم بتحديث البيانات النقطية الموسعة الداخلية بالقيمة الجديدة للأولوية، ثم انتقل إلى الخلية المجاورة التالية.

في تمرير التقليص، يحدث ما يلي:

  • بالنسبة لكل خلية قيد المعالجة في البيانات النقطية المدخلة، يتم تقييم كل خلية مجاورة باستخدام قيمة البيانات النقطية الموسعة الداخلية التي تم إنشاؤها في تمرير التوسيع.
  • إذا كانت أولوية الخلية المجاورة تساوي أولوية خلية المعالجة، فقم بنسخ قيمة الخلية من البيانات النقطية المدخلة الأصلية إلى المخرجات. إذا لم يُستوفَ الشرط لأي من الخلايا المجاورة، فقم بنسخ قيمة الخلية من البيانات النقطية الموسعة إلى المخرجات.

توسيع وتقليص في اتجاهين

إذا تم تحديد معلمة تشغيل التوسيع والتقليص مرتين (حيث تم تعيين المعلمة number_of_runs إلى TWO_WAY في Python)، فسيتم تنفيذ عملية التوسيع والتقليص للمرة الثانية، ولكن هذه المرة ستكون الأولويات معكوسة. يتم استخدام ناتج التمريرة الأولى للعملية كمدخل للتمرير الثاني.

في تمرير التوسيع الثانية، يتم استخدام نفس المنطق الذي تم تطبيقه في تمرير التوسيع أحادي الاتجاه.

في تمرير التقليص الثانية، يتم استخدام نفس المنطق الذي تم تطبيقه في تمرير التقليص أحادي الاتجاه.

في تمرير التوسيع الثاني، يحدث ما يلي:

  • بالنسبة لكل خلية قيد المعالجة في البيانات النقطية الداخلية الناتجة عن عملية التوسيع والتقليص الأولى، يتم تقييم كل خلية مجاورة.
  • بالنسبة لكل خلية مجاورة، يتم تقييم ما إذا كانت قيمة الأولوية لتلك الخلية المجاورة أكبر من قيمة أولوية خلية المعالجة. إذا كان الأمر كذلك، يتم تعيين أولوية الجوار الداخلي لتكون مساوية لأولوية خلية المعالجة في الإدخال. قم بتحديث البيانات النقطية الموسعة الداخلية بالقيمة الجديدة للأولوية، ثم انتقل إلى الخلية المجاورة التالية.

في تمرير التقليص الثاني، يحدث ما يلي:

  • بالنسبة لكل خلية قيد المعالجة في البيانات النقطية الموسعة الداخلية الناتجة عن الخطوة السابقة، يتم تقييم كل خلية مجاورة.
  • بالنسبة لكل خلية مجاورة، إذا كانت قيمة الأولوية للخلية المجاورة أقل من أو أكبر من قيمة خلية المعالجة في البيانات النقطية الموسعة، فقم بنسخ قيمة خلية المعالجة من البيانات النقطية الأصلية إلى المخرجات.
  • إذا كانت قيمة الأولوية للخلية المجاورة تساوي قيمة خلية المعالجة في البيانات النقطية الموسعة، فقم بنسخ قيمة خلية المعالجة من البيانات النقطية الموسعة إلى المخرجات.

التعامل مع NoData

تتمتع خلايا الإدخال التي تحتوي على قيمة NoData بأولوية أدنى عند تنفيذ عملية التوسيع والتقليص مرة واحدة، أو في التمرير الثاني إذا تم تنفيذ العملية مرتين. في التمريرة الثانية من الفرز ثنائي الاتجاه، ستتمتع خلايا NoData بأعلى أولوية.

مثال

لإظهار تأثير المعلمات المختلفة على المخرجات، يُرجى النظر في البيانات النقطية المدخلة أدناه.

مثال على إدخال البيانات النقطية لوظيفة تنظيف الحدود

يتم عرض البيانات النقطية المُدخلة لوظيفة تنظيف الحدود. خلايا NoData باللون الرمادي.

سيتم عرض مخرجات جميع إعدادات معلمة نوع الفرز، بالإضافة إلى إعدادات معلمة تشغيل التوسيع والتقليص مرتين (سواء كانت غير محددة أو محددة).

عندما تكون معلمة نوع الفرز مُعينة على عدم الفرز، تكون البيانات النقطية الناتجة كما يلي:

مثال على المخرجات لإعدادات "عدم الفرز" وإعدادات الاتجاه الواحد (غير محددة)
اتجاه واحد (غير محددة)
مثال على المخرجات لإعدادات "عدم الفرز" و"ثنائية الاتجاه" (محدد)
اتجاهين (محدد)

عندما تكون معلمة نوع الفرز مُعينة على تنازلي، تكون البيانات النقطية الناتجة كما يلي:

مثال على المخرجات لإعدادات "الفرز التنازلي" وإعدادات الاتجاه الواحد (غير محددة)
اتجاه واحد (غير محددة)
مثال على المخرجات لإعدادات "الفرز التنازلي" و"ثنائية الاتجاه" (محدد)
اتجاهين (محدد)

عندما تكون معلمة نوع الفرز مُعينة على تصاعدي، تكون البيانات النقطية الناتجة كما يلي:

مثال على المخرجات لإعدادات "الفرز التصاعدي" وإعدادات الاتجاه الواحد (غير محددة)
اتجاه واحد (غير محددة)
مثال على المخرجات لإعدادات "الفرز التصاعدي" و"ثنائية الاتجاه" (محدد)
اتجاهين (محدد)

في هذا الموضوع
  1. تعميم الحواف