انجمن جی آی اس (GIS)

نسخه‌ی کامل: انتخاب کردن عوارض توی اتربیوت یکی درمیان
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام: من یک تبل اتربیوت دارم که توش میخواهم از طریق فیلد کلیکتور عوارضم را یکی درمیان انتخاب کنم میشه مثلا اگر توی جدول 1000 تا عارضه داشته باشم طوری انتخاب بشه اولی انتخاب بشه دومی نشه سومی بشه چهارمی انتخاب نشه اگر میشه راهنمایم کنید.
(۱۰-۰۸-۱۳۹۳، ۱۰:۴۰ ق.ظ)ghulamreza نوشته است: [ -> ]سلام: من یک تبل اتربیوت دارم که توش میخواهم از طریق فیلد کلیکتور عوارضم را یکی درمیان انتخاب کنم میشه مثلا اگر توی جدول 1000 تا عارضه داشته باشم طوری انتخاب بشه اولی انتخاب بشه دومی نشه سومی بشه چهارمی انتخاب نشه اگر میشه راهنمایم کنید.
به نام خدا

سلام دوست عزیز
بله از طریق شرط نویسی یک کد کوتاه پایتون در همان پنجره Field Calculator امکانپذیره.
دقت کنید که اینجا ابتدا لازمه یک فیلد داشته باشید که عوارضتون رو مثلا از 1 تا 1000 مشخص کرده باشه، مانند فیلد ObjectID در تصویر 1 ضمیمه.
با این فرض یک فیلد جدید ایجاد کنید (فیلد AAA) و برای پرکردن آن، محتویات پنجرهField Calculator را دقیقا مانند تصویر 2 پرنمایید.
به این ترتیب در فیلد AAA برای عوارض زوج مقدار 0 و برای عوارض فرد مقدار 1 پر خواهد شد.
مطابق تصویر2:
1. Python را انتخاب کنید
2.تیک Show Codeblock را فعال کنید
3. در جعبه باز شده عبارت مشخص شده را با رعایت فاصله ها و دقیقا مانند تصویر تایپ کنید. اینجا یک تابع تعریف می شود که یک ورودی میگیرد، بررسی میکند اگر ورودی زوج باشد مقدار 0 و اگر ورودی فرد باشد مقدار 1 را بر می گرداند

4. عبارت راتایپ کنید. با اینکار فیلد AAA با تابع myfunction که خروجی آن با توجه به شرط 0 یا 1 خواهد بود پر می شود
حالا به راحتی می توانید عوارض لایه را با فیلد AAA یکی در میان انتخاب نمایید

موفق باشید.
یاعلی
(۱۰-۰۸-۱۳۹۳، ۰۳:۲۶ ب.ظ)چاوشی نوشته است: [ -> ]
(۱۰-۰۸-۱۳۹۳، ۱۰:۴۰ ق.ظ)ghulamreza نوشته است: [ -> ]سلام: من یک تبل اتربیوت دارم که توش میخواهم از طریق فیلد کلیکتور عوارضم را یکی درمیان انتخاب کنم میشه مثلا اگر توی جدول 1000 تا عارضه داشته باشم طوری انتخاب بشه اولی انتخاب بشه دومی نشه سومی بشه چهارمی انتخاب نشه اگر میشه راهنمایم کنید.
به نام خدا

سلام دوست عزیز
بله از طریق شرط نویسی یک کد کوتاه پایتون در همان پنجره Field Calculator امکانپذیره.
دقت کنید که اینجا ابتدا لازمه یک فیلد داشته باشید که عوارضتون رو مثلا از 1 تا 1000 مشخص کرده باشه، مانند فیلد ObjectID در تصویر 1 ضمیمه.
با این فرض یک فیلد جدید ایجاد کنید (فیلد AAA) و برای پرکردن آن، محتویات پنجرهField Calculator را دقیقا مانند تصویر 2 پرنمایید.
به این ترتیب در فیلد AAA برای عوارض زوج مقدار 0 و برای عوارض فرد مقدار 1 پر خواهد شد.
مطابق تصویر2:
1. Python را انتخاب کنید
2.تیک Show Codeblock را فعال کنید
3. در جعبه باز شده عبارت مشخص شده را با رعایت فاصله ها و دقیقا مانند تصویر تایپ کنید. اینجا یک تابع تعریف می شود که یک ورودی میگیرد، بررسی میکند اگر ورودی زوج باشد مقدار 0 و اگر ورودی فرد باشد مقدار 1 را بر می گرداند

4. عبارت راتایپ کنید. با اینکار فیلد AAA با تابع myfunction که خروجی آن با توجه به شرط 0 یا 1 خواهد بود پر می شود
حالا به راحتی می توانید عوارض لایه را با فیلد AAA یکی در میان انتخاب نمایید

موفق باشید.
یاعلی

سلام آقای چاوشی دستتون درد نکنه میسی از رهنمایتون.
حالا چه نیاز به برنامه نویسی بود؟ شما یه فیلد ایجاد کردی یکی در میون صفر و یک دادی. خیلی ساده میشه رفت با select by attribute فیلد رو انتخاب کرد یه کوئری گرفت مثلا همه صفرها رو انتخاب کنه.نیاز به کد هم نیست
الان که اتربیوت داشتید وخیلی زیاد اطلاعات داشته مثلا 1000 تا عارضه کی حوصله دارد اون فیلد را پر کرد به برنامه نویسی خیلی زود میشه اون فیلد راپر کرد
(۱۰-۰۹-۱۳۹۳، ۱۲:۱۸ ب.ظ)behdad نوشته است: [ -> ]حالا چه نیاز به برنامه نویسی بود؟ شما یه فیلد ایجاد کردی یکی در میون صفر و یک دادی. خیلی ساده میشه رفت با select by attribute فیلد رو انتخاب کرد یه کوئری گرفت مثلا همه صفرها رو انتخاب کنه.نیاز به کد هم نیست
سلام
این فیلد قبلا وجود نداشت. ما اون رو ایجاد کردیم و با کد پرکردیم که بتونیم مثلا همه صفرها رو انتخاب کنیم