31.5. ဆက်စပ်တည်ရှိမှုကိုစစ်ဆေးသည့် Plugin (Topology Checker Plugin)

Fig. 31.11 Topology Checker Plugin
ဆက်စပ်တည်ရှိမှုအရ ဖွဲ့စည်းပုံ (topology) သည် ပထဝီဝင်ဆိုင်ရာ ဒေသတစ်ခုအတွင်းရှိ အသွင်သဏ္ဍာန်များကို ကိုယ်စားပြုသည့် point များ၊ line များနှင့် polygon များအကြားရှိ ဆက်နွယ်မှုကို ဖော်ပြပါသည်။ Topology Checker plugin ဖြင့် vector ဖိုင်များကို ဖွဲ့စည်းပုံစည်းမျဉ်းများ (topology rule) နှင့် ကိုက်ညီမှု ရှိ/မရှိ ကြည့်ရှုစစ်ဆေးနိုင်ပါသည်။ အဆိုပါ စည်းမျဉ်းများသည် feature များ၏ ဆက်နွယ်မှုများဖြစ်သော ‘Equal’ (ညီမျှသည်)၊ ‘Contain’(ပါဝင်သည်)၊ ‘Cover’ (ဖုံးအုပ်သည်)၊ ‘CoveredBy’ (ဖုံးအုပ်ခြင်းခံထားရသည်)၊ ‘Cross’ (တစ်ခုနှင့်တစ်ခုဖြတ်သွားသည်)၊ ‘Disjoint’ (အဆက်ပြတ်သည်)၊ ‘Intersect’ (ဆုံသည်)၊ ‘Overlap’ (ထပ်သည်) ‘Touch’ (ထိစပ်သည်) သို့မဟုတ် ‘Within’ each other (တစ်ခုအတွင်း တစ်ခု ပါဝင်နေသည်) စသဖြင့် မည်သည့် ဆက်နွယ်မှုဖြစ်သည်ကို စစ်ဆေးပေးနိုင်ပါသည်။ ၎င်းသည် vector data တွင် မည်သည့် ဆက်စပ်တည်ရှိမှုအရဖွဲ့စည်းပုံစည်းမျဉ်း (topology rule) ကို အသုံးပြုမည်ဆိုသည့် မေးခွန်းတစ်ခုချင်းစီအပေါ်တွင် မူတည်နေပါသည်။ (ဥပမာ- သာမန်အားဖြင့် line layer များတွင် ဆွဲသားချက်အမှားများကို လက်ခံနိုင်မည် မဟုတ်သော်လည်း ၎င်းတို့သည် အဆုံးသတ် လမ်းပိုင်းများ ဖြစ်နေလျှင် ထိုဆွဲသားချက်အမှားများကို vector layer မှ ဖယ်ရှားလိမ့်မည် မဟုတ်ပါ။)
QGIS တွင် ဆက်စပ်တည်ရှိမှုအရ ဖွဲ့စည်းပုံဆိုင်ရာ ပြင်ဆင်တည်းဖြတ်သည့် feature တစ်ခုသည် မူရင်းပါရှိပြီးဖြစ်ပြီး ၎င်းသည် feature အသစ်များကို မှားယွင်းမှုများ မပါရှိစေဘဲ ဖန်တီးရာတွင် အလွန်ကောင်းမွန်ပါသည်။ သို့သော် ရှိနေပြီးသော data မှားယွင်းမှုများနှင့် အသုံးပြုသူကြောင့် ဖြစ်ပေါ်လာသော မှားယွင်းမှုများမှာမူ ရှာဖွေတွေ့ရှိရန် ခက်ခဲပါသည်။ ဤ plugin သည် အဆိုပါမှားယွင်းမှုများကို စည်းမျဉ်းများဖြင့် ကူညီရှာဖွေပေးမည် ဖြစ်ပါသည်။
Topology Checker plugin ဖြင့် ဖွဲ့စည်းပုံစည်းမျဉ်း (topology rule) များကို ဖန်တီးရန် အလွန်ရိုးရှင်းလွယ်ကူပါသည်။
Point layer များတွင် အောက်ပါ စည်းမျဉ်းများကို ရရှိနိုင်ပါသည်-
Must be covered by (ဖုံးအုပ်ခံထားရမည်) - Project မှ vector layer တစ်ခုကို ရွေးချယ်နိုင်ပါသည်။ ပေးထားသော vector layer ဖြင့် ဖုံးကာထားခြင်းမရှိသော point များကို ‘Error’ (မှားယွင်းမှု) field တွင် တွေ့မြင်ရပါမည်။
Must be covered by endpoints of (ဆုံးမှတ်များဖြင့် ဖုံးအုပ်ရမည်) - Project မှ line layer တစ်ခုကို ရွေးချယ်နိုင်ပါသည်။
Must be inside (အထဲတွင် ရှိရမည်) - Project မှ polygon layer တစ်ခုကို ရွေးချယ်နိုင်ပါသည်။ Point များသည် polygon တစ်ခုအတွင်းရှိရမည်ဖြစ်ပြီး ယင်းသို့မဟုတ်ပါက အဆိုပါ point ကို QGIS မှ ‘Error’ (မှားယွင်းမှု) ဟုရေးသားဖော်ပြမည်ဖြစ်ပါသည်။
Must not have duplicates (ပုံတူများ မရှိရပါ) - Point တစ်ခုကို နှစ်ကြိမ် သို့မဟုတ် နှစ်ကြိမ်ထပ်ပို၍ ဖော်ပြသည့်အခါတိုင်းတွင် ၎င်းကို ‘Error’ field ထဲတွင် တွေ့မြင်ရပါမည်။
Must not have invalid geometries (မမှန်ကန်သော ဂျီဩမေတြီများ မရှိရပါ) - ဂျီဩမေတြီများ မှန်ကန်မှု ရှိ/မရှိ စစ်ဆေးပေးပါသည်။
Must not have multi-part-geometries (အစိတ်အပိုင်းများစွာပါဝင်သော ဂျီဩမေတြီများ မရှိရပါ) - အစိတ်အပိုင်းများစွာပါဝင်သော point များအားလုံးကို ‘Error’ field ၌ ရေးသားဖော်ပြမည်ဖြစ်ပါသည်။
Line layer များတွင် အောက်ပါ စည်းမျဉ်းများကို ရရှိနိုင်ပါသည်-
End points must be covered by (ဆုံးမှတ်များကို ဖုံးအုပ်ရမည်) - Project မှ point layer တစ်ခုကို ရွေးချယ်နိုင်ပါသည်။
Must not have dangles (မျဉ်းပြတ်များ မရှိရပါ) - Line layer ထဲရှိ မှားယွင်းမှုများကို ပြသမည်ဖြစ်ပါသည်။
Must not have duplicates (ပုံတူများ မရှိရပါ) - Line feature တစ်ခုကို နှစ်ကြိမ် သို့မဟုတ် နှစ်ကြိမ်ထပ်ပို၍ ဖော်ပြသည့်အခါတိုင်းတွင် ၎င်းကို ‘Error’ field ၌ တွေ့မြင်ရပါမည်။
Must not have invalid geometries (မမှန်ကန်သော ဂျီဩမေတြီများ မရှိရပါ) - ဂျီဩမေတြီများ မှန်ကန်မှု ရှိ/မရှိ စစ်ဆေးပေးပါသည်။
Must not have multi-part geometries (အစိတ်အပိုင်းများစွာပါဝင်သော ဂျီဩမေတြီများမရှိရပါ) တစ်ခါတစ်ရံ ဂျီဩမေတြီတစ်ခုသည် ရိုးရှင်းသော (single-part) geometry (အစိတ်အပိုင်းတစ်ခုစီပါဝင်သော ဂျီဩမေတြီများ) ကို စုစည်းထားခြင်းဖြစ်ပါသည်။ အဆိုပါ ဂျီဩမေတြီကို multi-part geometry (အစိတ်အပိုင်းများစွာပါဝင်သော ဂျီဩမေတြီ) ဟုခေါ်ပါသည်။ အကယ်၍ ၎င်းတွင် ရိုးရှင်းသော ဂျီဩမေတြီအမျိုးအစား တစ်ခုသာပါဝင်နေပါက ၎င်းကို multi-point(အမှတ်များစွာ)၊ multi-linestring (လိုင်းများစွာ) သို့မဟုတ် multi-polygon (ဗဟုဂံများစွာ) ဟုခေါ်ဆိုပါသည်။ Multi-part lines (အစိတ်အပိုင်းများစွာပါဝင်သော မျဉ်းများ) အားလုံးကို ‘Error’ field ၌ ရေးသားဖော်ပြမည်ဖြစ်ပါသည်။
Must not have pseudos (အတုယောင်များ မရှိရပါ) - Line ဂျီဩမေတြီတစ်ခု၏ ဆုံးမှတ်သည် အခြားဂျီဩမေတြီနှစ်ခု၏ ဆုံးမှတ်များနှင့် ချိတ်ဆက်ရမည်ဖြစ်ပါမည်။ အကယ်၍ ဆုံးမှတ်သည် အခြားဂျီဩမေတြီတစ်ခု၏ ဆုံးမှတ်နှင့်သာလျှင် ချိတ်ဆက်နေမည်ဆိုလျှင် ထိုဆုံးမှတ်ကို ဆုံမှတ်တု (pseudo node) ဟု ခေါ်ပါသည်။
Polygon layer များတွင် အောက်ပါ စည်းမျဉ်းများ ရရှိနိုင်ပါသည်-
Must contain (ပါဝင်ရမည်) - Polygon layer တွင် ဒုတိယ layer မှ point ဂျီဩမေတြီတစ်ခု အနည်းဆုံး ပါဝင်ရမည်ဖြစ်ပါသည်။
Must not have duplicates (ပုံတူများ မရှိရပါ) - Layer တစ်ခုတည်းမှ polygon များတွင် တထပ်တည်းတူညီနေသော ဂျီဩမေတြီများ မပါရှိရပါ။ အကယ်၍ polygon feature တစ်ခုကို နှစ်ကြိမ် သို့မဟုတ် နှစ်ကြိမ်ထပ်ပို၍ ဖော်ပြသည့်အခါတိုင်းတွင် ၎င်းကို ‘Error’ field ၌ တွေ့မြင်ရပါမည်။
Must not have gaps (ကွက်လပ်များ မရှိရပါ) - ကပ်လျက် ရှိသော polygon များသည် ၎င်းတို့ကြားတွင် ကွက်လပ်များ မရှိသင့်ပေ။ အုပ်ချုပ်မှုပြနယ်နိမိတ်များကို ဥပမာအဖြစ် ဖော်ပြနိုင်ပါသည် (အမေရိကန်ပြည်ထောင်စု ပြည်နယ် polygon များအကြားတွင် မည်သည့်ကွက်လပ်မျှ မရှိပါ)။
Must not have invalid geometries (မမှန်ကန်သော ဂျီဩမေတြီများ မရှိရပါ) - ဂျီဩမေတြီများ မှန်ကန်မှု ရှိ/မရှိ စစ်ဆေးပေးပါသည်။ ဂျီဩမေတြီများ မှန်ကန်မှု ရှိ/မရှိ သတ်မှတ်သော စည်းမျဉ်းအချို့မှာ - * Polygon ကွင်းများမှာ အပိတ်ဖြစ်ရမည်။ * အပေါက်များကို သတ်မှတ်သော အကွင်းများသည် အပြင်နယ်နိမိတ်ကို သတ်မှတ်သော အကွင်းများအတွင်း ရှိရမည်။ * အကွင်းများသည် တစ်ခုနှင့်တစ်ခုပြန်လည်ဆုံဖြတ်ခြင်းမျိုးမရှိရပါ (တစ်ခုနှင့်တစ်ခု ထိစပ်ခြင်း၊ ဖြတ်ခြင်း မရှိရပါ)။ * အကွင်းများသည် point တစ်နေရာမှ လွဲ၍ အခြားကွင်းများနှင့် မထိရပါ။
Must not have multi-part geometries (အစိတ်အပိုင်းများစွာပါဝင်သော ဂျီဩမေတြီများ မရှိရပါ) - တစ်ခါတစ်ရံတွင် ဂျီဩမေတြီတစ်ခုသည် ရိုးရှင်းသော (single-part) geometry (အစိတ်အပိုင်းတစ်ခုစီပါဝင်သောဂျီဩမေတြီများ) ကို စုစည်းထားခြင်းဖြစ်ပါသည်။ အဆိုပါဂျီဩမေတြီကို multi-part geometry (အစိတ်အပိုင်းများစွာပါဝင်သော ဂျီဩမေတြီ) ဟုခေါ်ပါသည်။ အကယ်၍ ၎င်းတွင် ရိုးရှင်းသော ဂျီဩမေတြီအမျိုးအစား တစ်ခုပါဝင်နေပါက multi-point (အမှတ်များစွာ)၊ multi-linestring (လိုင်းများစွာ) သို့မဟုတ် multi-polygon (ဗဟုဂံများစွာ) ဟုခေါ်ဆိုပါသည်။ ဥပမာ- ကျွန်းများစွာဖြင့် ပါရှိသော နိုင်ငံတစ်ခုကို multi-polygon (ဗဟုဂံများစွာ) တစ်ခုအဖြစ် ကိုယ်စားပြုဖော်ပြမည်ဖြစ်ပါသည်။
Must not overlap (မထပ်ရပါ) - ကပ်လျက်ရှိသော polygon များသည် ဘုံတူညီသော ဧရိယာကို မျှဝေခြင်းမျိုးမရှိသင့်ပေ။
Must not overlap with (….နှင့်မထပ်ရပါ) - Layer တစ်ခုတည်းမှ ကပ်လျက်ရှိသော polygon များသည် အခြား layer မှ polygon များနှင့် ဘုံတူညီသော ဧရိယာကို မျှဝေခြင်းမျိုးမရှိသင့်ပါ။