آموزش برنامه نویسی پایتون بخش نوزدهم


جدول تناوبی تحلیل های مکانی در GIS

معرفی هفت منبع داده اقلیمی رایگان جهانی

چرخش قطبی در مقابل چرخش خورشید آهنگ

آنالیز تصویر شئی گرا (OBIA)

تعامل انرژی در سنجش از دور : انعکاس، جذب و گسیل انرژی

معرفی 6 منبع رایگان داده های لیداری

آشنایی با SAR با استفاده از مثال

برنامه لندست : 50 سال آرشیو از تصاویر سطح زمین

دانلود رایگان نرم افزار ArcGIS Pro 2.8

ابر نقطه ای چیست ؟

انواع نقشه ها در سیستم اطلاعات جغرافیایی: 25 روش مختلف و جذاب برای نمایش داده های مکانی در GIS

تصحیحات اتمسفری در سنجش از دور چیست ؟

سیستم های تصویر نقشه چیست ؟ و چرا بعضا برای ما گمراه کننده هستند ؟

ژئودزی: ریاضیات مکان

گیرنده های GPS چگونه کار می کنند ؟ سه گانه سازی در مقابل مثلث بندی

مأموریت توپوگرافی رادار شاتل (SRTM)

چرا پنجره اتمسفری در علوم زمین دارای اهمیت است ؟

تصاویر ماهواره ای DigitalGlobe: وردویو(Worldview)، ژئوآی(GeoEye) و آیکونوس (IKONOS)

راهنمای طبقه بندی نزدیکترین همسایه در e-Cognition

نقشه های کروپلت – مقدمه ای بر طبقه بندی داده

تصاویر چند طیفی (Multi-spectral) در مقایسه با تصاویر ابر طیفی (Hyper-spectral)

فتوگرافی هوایی (Aerial Photography) در مقابل ارتوفوتوگرافی (Orthophotography)

راهنمای جامع لیدار (Light Detection and Ranging – LiDAR)

سنجش از دور چیست ؟

منابع داده GIS رایگان در سطح جهانی : داده های رستری و برداری

مقدمه ای بر سرویس های نقشه کشی تحت وب (WMS)

علم داده مکانی چیست ؟

تحلیل عوارض سه بعدی

ژئوانالیتیکس: آنالیز داده های مکانی حجیم

فرمت های داده در سیستم اطلاعات جغرافیایی بخش سوم

فرمت های داده در سیستم اطلاعات جغرافیایی بخش دوم

فرمت های GIS و پسوندهای داده مکانی بخش اول

آموزش برنامه نویسی پایتون بخش سی ام

انتشار نخستین تصاویر لندست 9 توسط سازمان هوا و فضای آمریکا (NASA)

آموزش برنامه نویسی پایتون بخش بیست و نهم

آموزش برنامه نویسی پایتون بخش بیست و هشتم

آموزش برنامه نویسی پایتون بخش بیست و هفتم

آموزش برنامه نویسی پایتون بخش بیست و ششم

آموزش برنامه نویسی پایتون بخش بیست و پنجم

معرفی سامانه WEB GIS


آموزش برنامه نویسی پایتون بخش نوزدهم
عبارات شرطی تو در تو (nested) و if elif else در پایتون
یک عبارت شرطی if را می توان درون یک عبارت شرطی دیگر if قرار داد که در این صورت عبارات شرطی تو در تو یا nested if statement ایجاد می شود. دستوراتی که در یک عبارت شرطی if و یا if else قرار می گیرند می توانند تمامی دستورات مورد قبول پایتون باشد که حتی خود نیز می تواند شامل یک if و یا if else دیگر نیز شود. عبارت شرطی داخلی را معمولاً به نام عبارت توکار درون عبارت شرطی if بیرونی می نامند. و همچنین عبارت شرطی if داخلی می تواند شامل یک if statement دیگر درون خود باشد. در حقیقت، هیچ محدودیتی برای تعریف عمق تو در تو بودن عبارات شرطی در پایتون وجود ندارد. برای مثال دستور شرطی زیر از نوع تو در تو یا nested if statement می باشد:
if i > k:
if j > k:
print(“i and j are greater than k”)
else:
print(“i is less than or equal to k”)
عبارت if j > k به صورت تو در تو، داخل دستور if i > k می باشد. دستورات شرطی تو در تو می توانند برای به کارگیری و پیاده سازی گزینه های چند حالتی مورد استفاده قرار بگیرند. دستوراتی که در شکل بعد نشان داده شده است به صورت نمونه، یک حرف لاتین را به متغیر grade اختصاص می دهد. بر اساس نمره ای که هر دانش آموز یا دانشجو کسب نموده و از این طریق گزینه های مختلفی را تعریف می کند.

نحوه اجرای این دستور شرطی در شکل بعدی نشان داده شده است. ابتدا شرط نخست بررسی می شود (score >= 90) در صورتی که این شرط درست ارزیابی شود، متغیر grade برابر با حرف لاتین A قرار خواهد گرفت. در صورتی که این عبارت نادرست یا False ارزیابی شود، شرط دوم (score >= 80) تست می شود. در صورتی که شرط دوم صحیح یا True باشد، متغیر grade برابر با رشته B قرار خواهد گرفت. در صورتی که این شرط نادرست باشد، شرط سوم و سایر شروط در صورت نیاز بررسی می شوند. تا زمانی که یکی از این شروط، صحیح ارزیابی شود یا آنکه همگی آنها False ارزیابی شود. در صورتی که همه شروط False ارزیابی شوند متغیر grade برابر با مقدار F قرار خواهد گرفت. توجه داشته باشید در صورتی یک شرط بررسی می شود که همه شروط پیش از آن False تلقی شده باشند و هر زمان هر یک از شروط True ارزیابی شود دیگر گزینه ها یا عبارت شرطی بعد از آن ارزیابی نخواهند شد.

دستورات شرطی شکل 1 (سمت چپ) معادل و برابر با دستورات شرطی شکل 1 (سمت راست) می باشند. در حقیقت فرم سمت راست ترجیح داده می شود و برنامه نویسان حرفه ای از این حالت استفاده می کنند. این استایل را دستورات شرطی چند گزینه ای می نامند، که از تورفتگی زیاد و عمیق کدها جلوگیری نموده و خوانایی برنامه را آسان می نماید. دستورات شرطی چند گزینه ای از سینتکس if-elif-else در زبان برنامه نویسی پایتون استفاده می کند. دستور elif معادل else if در سایر زبان های برنامه نویسی است. اکنون برنامه ای می نویسیم که بر اساس تقویم حیوانی چینی، نام حیوان هر سال را محاسبه کند. تقویم دوازدگانه حیوانی چینی دارای یک سیکل 12 ساله است و هر سال در این دوره توسط نام یک حیوان همچون میمون، خروس، سگ، خوک، موش، گاو، ببر، خرگوش، اژدها، مار، اسب و گوسفند، تعیین می شود که در شکل زیر نشان داده شده است.

نتیجه عبارت year % 12 تعیین کننده نام حیوان تقویم دوازده گانه حیوانی چینی است. به عنوان مثال سال 1900 سال موش است. به طوری که 1900 % 12 برابر با 4 می باشد، معادل سال موش می شود. برنامه زیر از کاربر می خواهد که یک سال را وارد نماید و سپس نام حیوانی آن سال را محاسبه و به او نمایش دهد.
year = eval(input(“Enter a year: “))
zodiacYear = year % 12
if zodiacYear == 0:
print(“monkey”)
elif zodiacYear == 1:
print(“rooster”)
elif zodiacYear == 2:
print(“dog”)
elif zodiacYear == 3:
print(“pig”)
elif zodiacYear == 4:
print(“rat”)
elif zodiacYear == 5:
print(“ox”)
elif zodiacYear == 6:
print(“tiger”)
elif zodiacYear == 7:
print(“rabbit”)
elif zodiacYear == 8:
print(“dragon”)
elif zodiacYear == 9:
print(“snake”)
elif zodiacYear == 10:
print(“horse”)
else:
print(“sheep”)
خطاهای رایج (Common Errors)
یکی از رایج ترین خطاهایی که در گزینه ها و عبارات شرطی چند گزینه ای یا تو در تو ایجاد می شود عمدتاً ناشی از تورفتگی نادرست و ناهماهنگ بین گزینه ها و عبارات می باشد. در شکل زیر نمونه ای از این خطای رایج نشان داده شده است. خطای دیگری که معمولاً اتفاق می افتد آن است که بعد از عبارت شرطی علامت : قرار داده نمی شود.

در شکل 4 در بخش (a) دستور print در بلوک if قرار ندارد. برای تصحیح آن و قرار دادن آن در بلوک if بایستی آن را Indent کنید به صورتی که در شکل 4 بخش (b) تصحیح شده است. مثال دیگری را در در کدهای زیر در نظر بگیرید. کدهای بخش a دارای 2 عبارت If می باشد یک else. کدام عبارت if با else مطابق یا match شده است؟ نوع تورفتگی یا indentation نشان می دهد که بخش else با اولین if در شکل a مطابق شده است و با دومین if در شکل b، تطبیق داده شده است.

اگر در کدهای بخش a عبارت i>j نادرست ارزیابی شود B نمایش داده می شود اما در کدهای بخش b در این حالت هیچ چیزی نمایش داده نمی شود.
اغلب برنامه نویسان تازه کار، کدهایی می نویسند که یک شرط را به یک متغیر بولینی انتساب می دهند. همچون کدهایی که در بخش a نشان داده شده است. اما این کدها را می توان مانند روشی که در بخش B مورد استفاده قرار داده شده است، ساده سازی و خلاصه نمود. البته فرم b مختصر تر و بهتر می باشد.


دانلود نرم افزار Arc GIS Pro 2.5 + روش نصب گام به گام

نرم افزار Terrain Morphometer V.1 برای اجرای آنالیز مورفومتری از مدل رقومی ارتفاعی

آموزش برنامه نویسی پایتون بخش شانزدهم

آموزش برنامه نویسی پایتون بخش دوازدهم (پروسه توسعه نرم افزار)

آموزش برنامه نویسی پایتون بخش اول

آموزش برنامه نویسی پایتون بخش نوزدهم

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه خاش به شماره NH-41-13

ابزارهای برنامه نویسی (Programming Tools)

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه چابهار به شماره NG-41-9

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه جازموریان به شماره NG-40-4

آموزش برنامه نویسی پایتون بخش نهم (نمادهای علمی، ارزیابی عبارات و اولویت اجرای اپراتورها)

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه تربت حیدریه به شماره NI-40-4

برنامه نویسی پایتون بخش هشتم (انتساب چندگانه، ثابت ها، نوع-داده های عددی و اپراتورها)

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش اول

آموزش برنامه نویسی پایتون بخش بیست و دوم

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش پنجم

نرم افزار Coordinate to Map V.1 برای ترسیم عوارض برداری نقطه ای، خطی و پلیگونی بر اساس اطلاعات نقطه ای برداشت شده در عملیات نقشه برداری

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه ایرانشهر به شماره NG-41-1

آموزش برنامه نویسی پایتون بخش پنجم

فیلم آموزشی زمین مرجع یا ژئورفرنس لایه ها و داده های مکانی در نرم افزار Arc GIS Pro

روش برش حواشی نقشه های اسکن شده در نرم افزار Global Mapper

دانلود نقشه راههای ایران استایل 1

برنامه نویسی پایتون بخش هفتم (متغیرها، دستور انتساب و عبارات)

آموزش برنامه نویسی پایتون بخش سیزدهم (توابع مرسوم پایتون)

نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه زابل به شماره NH-41-1

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه زاهدان به شماره NH-41-9

آموزش برنامه نویسی پایتون بخش یازدهم (تبدیل نوع و گرد کردن)

ترکیب باند: تبدیل تصاویر سیاه – سفید به تصاویر رنگی

نقشه های موقعیت سیاسی منطقه مطالعاتی بخش اول

دانلود نرم افزار ArcGIS Pro 3.0.2

نقشه تقسیمات سیاسی ایران

فیلم آموزشی زمین مرجع یا ژئورفرنس لایه ها و داده های مکانی در نرم افزار Surfer

آموزش برنامه نویسی پایتون بخش بیستم

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش ششم

نرم افزار Z-scale Estimator

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش هشتم

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه مشهد به شماره NJ-40-16

نقشه متوسط دمای سطح زمین ایران (LST)

معرفی و دانلود نرم افزار SAGA GIS

دیدگاهتان را بنویسید