جلسه ۶: انتخاب (Selection)¶
۱. انواع انتخاب در ArcGIS Pro¶
در تب Map و بخش Select میتوان روی لایههای مختلف انتخاب انجام داد و این انتخابها مبنای تمام محاسبات بعدی هستند.
اگر از قبل انتخابی وجود داشته باشد، میتوان آن را با گزینه Clear پاک کرد تا انتخاب جدید بدون تداخل انجام شود.
- New: یک انتخاب کاملاً جدید میسازد و تمام انتخابهای قبلی را حذف میکند.
- Add: انتخابهای جدید را به انتخابهای قبلی اضافه میکند (اجتماع A ∪ B).
- Remove: عناصری را که در انتخاب جدید هستند از انتخاب قبلی حذف میکند (تفاضل A − B).
- From (Subset): فقط اشتراک انتخاب قبلی و انتخاب جدید را نگه میدارد (A ∩ B).
- Switch: انتخاب را وارونه میکند؛ همه انتخابهای قبلی لغو و باقی عوارض انتخاب میشوند.
- Clear: تمام انتخابهای فعلی را پاک میکند.
۲. Select By Attribute و نوشتن Query¶
در Select By Attributes میتوان براساس فیلدهای توصیفی و شرطهای منطقی، عوارض را انتخاب کرد.
برای ترکیب چند شرط، از Add Clause استفاده میشود و شروط با عملگرهای AND و OR ترکیب میشوند.
- AND: فقط عوارضی انتخاب میشوند که همه شرایط را همزمان برآورده کنند.
- OR: اگر عارضه هر کدام از شرایط را برآورده کند، انتخاب میشود.
نمونه کوئری:
انتخاب قطعات مسکونی با مساحت بیش از ۵۰۰ متر مربع:
Area > 500 AND LandUse = 'Residential'
Null و Zero در پایگاه داده¶
- Null یعنی مقدار برای آن رکورد محاسبه/ثبت نشده است.
- Zero (0) یعنی مقدار محاسبه شده و عدد صفر است، نه نامشخص.
برای فیلدهای متنی (Text) معمولاً از عملگرهای: مساوی، نامساوی، Null، شروع با، پایان با و Contains text استفاده میشود.
توجه به وضعیت انتخاب¶
تمام محاسبات (مانند Summarize یا Calculate Field) فقط روی رکوردهای انتخابشده انجام میشود.
اگر انتخاب قبلی فعال است و بخواهیم انتخاب تازهای از کل لایه بسازیم، ابتدا باید Clear را بزنیم.
۳. گزارشگیری و Summarize در ArcGIS¶
برای گزارشگیری از کاربریها با مساحت کمتر از ۲۰۰ متر:
- ابتدا با Select By Attribute، رکوردهای مورد نظر را انتخاب میکنیم.
- سپس روی فیلد (مثلاً Label) راستکلیک کرده و Summarize را اجرا میکنیم تا جدول خلاصه (مثلاً تعداد هر کاربری) ساخته شود.
- میتوان از New Report برای ساخت گزارش قالبدار استفاده کرد.
Definition Query فقط رکوردهایی را نشان میدهد که شرایط مشخصشده را داشته باشند و درواقع نوعی فیلتر نمایش است.
بهترین راه دائمی کردن انتخابها، اضافه کردن فیلد جدید و ثبت کد برای رکوردهای انتخابشده است؛ اکسپورت مکرر باعث تعدد لایهها میشود.
۴. Select By Location – انتخاب فضایی¶
در Select By Location عوارض یک لایه براساس موقعیت نسبی نسبت به لایه دیگر انتخاب میشوند.
مثال: انتخاب قطعات در فاصله ۱۵۰ متری از گسل با استفاده از لایه کاربریها و گسلها.
مراحل کلی:
- از منوی Select گزینه Select By Location را انتخاب میکنیم.
- در Input Features: لایهای که میخواهیم روی آن انتخاب انجام شود (مثلاً کاربریها).
- در Selecting Features: لایه مرجع انتخاب (مثلاً گسلها).
- در Relationship، گزینه Within a distance را انتخاب میکنیم و در Search Distance مقدار ۱۵۰ متر را وارد میکنیم.
گزینههای مهم Relationship¶
- Within a distance: عوارضی که در فاصله مشخص (مثلاً ۱۵۰ متر) از عوارض لایه دیگر قرار دارند انتخاب میشوند.
- Intersect: عوارضی انتخاب میشوند که گسل دقیقاً از روی آنها عبور کرده یا با آنها تداخل دارند.
- Contain: عوارضی را انتخاب میکند که کاملاً در محدوده انتخابی قرار گرفته باشند.
- Have their center in: عوارضی که مرکز هندسی آنها در محدوده مدنظر قرار گیرد انتخاب میشوند.
بررسی کاربری قطعات انتخابشده¶
- جدول کاربری را باز میکنیم.
- روی فیلد Label راستکلیک و Summarize را انتخاب میکنیم تا تعداد هر نوع کاربری (Count) به دست آید؛ مثلاً ۱۰۶ کاربری خدمات شهری روی گسل.
۵. انتخاب ترکیبی با Select By Location¶
هدف: انتخاب قطعاتی که در فاصله ۱۵۰ متری گسل هستند اما روی خود گسل قرار ندارند.
مراحل:
- مرحله ۱: با Select By Location و Within a distance = 150 m همه قطعات در فاصله ۱۵۰ متری گسل را انتخاب میکنیم (Selection Type: New).
- مرحله ۲: دوباره Select By Location اجرا میشود، اینبار با Relationship = Intersect تا قطعاتی که روی گسلاند انتخاب شوند و در Selection Type، گزینه Remove from the current selection انتخاب میشود تا این قطعات از مجموعه قبلی حذف شوند.
۶. دائمی کردن Selection در جدول (کدگذاری گسل)¶
برای نگهداری نتیجه انتخابها در جدول، یک فیلد جدید (مثلاً Gosal) اضافه میکنیم.
میخواهیم:
- عدد ۱ برای قطعاتی که گسل از روی آنها گذشته است.
- عدد ۲ برای قطعاتی که در فاصله ۱۵۰ متری گسلند اما روی گسل نیستند.
گامها:
- ابتدا با Select By Location و Intersect، قطعاتی را که روی گسل هستند با Selection Type: New انتخاب میکنیم.
- روی فیلد Gosal راستکلیک کرده و Calculate Field را میزنیم و مقدار ۱ را برای رکوردهای انتخابشده ثبت میکنیم.
- سپس قطعاتی که در فاصله ۱۵۰ متری هستند اما روی گسل نیستند (انتخاب ترکیبی توضیح دادهشده) را انتخاب کرده و دوباره Calculate Field را اجرا کرده و اینبار مقدار ۲ را ثبت میکنیم.
- در Symbology با Unique Values میتوان برای مقادیر ۰/Null، ۱ و ۲ رنگهای متفاوت اختصاص داد تا وضعیت هر دسته روی نقشه دیده شود.
۷. محاسبه تراکم جمعیت (Density)¶
برای محاسبه تراکم جمعیت:
- در جدول، Add Field را انتخاب کرده و فیلدی به نام مثلاً density با نوع Numeric / Long ایجاد و ذخیره میکنیم.
- روی فیلد density کلیک راست کرده و Calculate Field را میزنیم.
- در قسمت Expression، مقدار تراکم را به صورت تقسیم جمعیت بر مساحت و ضرب در ۱۰۰۰۰ مینویسیم:
density = population / shape_area * 10000
- نتیجه، تراکم جمعیت در هر ۱۰۰۰۰ متر مربع (یا واحد مساحت تنظیمشده) است.
۸. Select By Attributes – خلاصه گزینهها¶
ابزار Select By Attributes امکان انتخاب رکوردها را براساس مقدار فیلدهای جدول میدهد.
در بخش نوع انتخاب (Selection type)، گزینههای زیر وجود دارد:
- ساخت یک انتخاب جدید: New selection
- اضافه کردن به انتخاب قبلی: Add to the current selection
- حذف کردن از انتخاب قبلی: Remove from the current selection
- انتخاب زیرمجموعه از انتخاب فعلی: Select subset from the current selection (From)
- برعکس کردن انتخاب: Switch the current selection
- پاک کردن انتخاب: Clear the current selection
۹. انتخاب بر اساس آمار فیلد (Above/Below Average)¶
در بخش شرطها میتوان مشخص کرد انتخاب بر مبنای کدام فیلد و چه نوع مقایسهای باشد.
مثال: از ستون shape_area براساس بالاتر از میانگین بودن (Above average) انتخاب میکنیم، سپس OK را میزنیم و در صورت نیاز، لایه انتخابشده را Export میگیریم.
دستهبندیهای متداول شرطها:
- بیشتر از یک مقدار (Greater than)
- کمتر از یک مقدار (Less than)
- بالاتر از میانگین (Above average)
- پایینتر از میانگین (Below average)
- مقادیر تهی (Is null)
۱۰. Select By Location – تقاطع گسل و کاربریها¶
برای انتخاب تقاطع گسل با مناطق زیرساختی/کاربری:
- در Input Features، لایه کاربریها را انتخاب میکنیم.
- در Selecting Features، لایه گسلها را قرار میدهیم.
- در Relationship، گزینه Intersect را انتخاب میکنیم تا عوارضی که با گسلها تلاقی دارند، برگزیده شوند.
- در صورت نیاز، Search Distance را روی ۱۵۰ متر تنظیم میکنیم.
- با زدن OK، رکوردهای انتخابشده را میتوان با Export روی یک لایه جدید ذخیره و مشاهده کرد.
۱۱. Select By Location تلفیقی و Type¶
برای انتخاب چندمرحلهای (مثلاً کاربریهایی که در ۱۵۰ متری گسل هستند ولی روی گسل نیستند):
- ابتدا در Select By Location، فاصله را روی ۱۵۰ متر قرار میدهیم تا همه این قطعات انتخاب شوند.
- در اجرای دوم ابزار، فاصله را روی ۰ (یا بدون فاصله، فقط Intersect) تنظیم میکنیم تا فقط قطعات روی خود گسل مشخص شوند.
- در قسمت Selection Type از گزینه Remove from the current selection استفاده میکنیم تا این قطعات از انتخاب قبلی حذف شوند.
۱۲. کدگذاری دستهها در جدول و نمایش نمادین¶
برای دستهبندی در جدول:
- یک فیلد جدید (مثلاً Gosal) ایجاد میکنیم.
- با Select By Location و شرط Intersect و فاصله ۱۵۰ متر، قطعات اطراف گسل را انتخاب میکنیم.
- روی فیلد جدید، Calculate Field را اجرا کرده و برای این رکوردهای انتخابشده عدد ۱ را وارد میکنیم.
- سپس واحدهایی را که فاصله آنها ۰ است (در تقاطع مستقیم با گسل)، در انتخابی جدید مشخص میکنیم و اینبار عدد ۲ را در همان فیلد ثبت میکنیم.
- اکنون در ستون جدید، برخی سلولها Null، برخی ۱ و برخی ۲ هستند؛ با رفتن به Symbology و انتخاب Unique Values میتوان رنگ هر دسته را جداگانه تنظیم کرد (توجه شود انتخابها روی همان فیلد جدید اعمال شوند).
۱۳. محدود کردن نمایش با Definition Query¶
برای سادهسازی نمایش، میتوان روی لایه راستکلیک کرده و وارد Properties شد.
در بخش Definition Query شرطی مانند «مساحتهای بالای ۲۰۰ متر را نشان بده» تعریف میشود تا فقط همان رکوردها نمایش داده شوند.
۱۴. خلاصهسازی در GIS و Excel¶
برای خلاصهسازی دادهها:
- میتوان در خود ArcGIS Pro از منوی Statistics یا ابزارهای آماری برای خلاصهسازی روی فیلدهای عددی و انتخابشده استفاده کرد.
- یا دادهها را بهصورت CSV اکسپورت و در Excel باز کرد؛ به دلیل انعطافپذیری Excel، این روش برای ساخت جداول و گزارشهای خلاصه پیشنهاد میشود.
Pivot Table در Excel برای گزارش نهایی¶
پس از اکسپورت CSV و ساخت Pivot Table در Excel:
- فیلد کاربریها (Label) را به بخش Rows میکشیم.
- فیلد Gosal را به بخش Columns میفرستیم.
- فیلدی مانند Shape_Area را به بخش Values میکشیم و در Value Field Settings بهجای Sum، گزینه Count را انتخاب میکنیم تا تعداد قطعات هر دسته در جدول گزارش نمایش یابد.