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


هزار کاربرد و استفاده GIS

آنالیز رستری در سیستم اطلاعات جغرافیایی – مکانی (GIS)

تفاوت بین ژئوماتیک (Geomatics) و جی آی اس (GIS)

50 ماهواره تاثیر گذار در تاریخ سنجش از دور

جدول تناوبی تحلیل های مکانی در 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)

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

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


آموزش برنامه نویسی پایتون بخش هفدهم
مقدمه
یک برنامه می تواند تصمیم بگیرد که کدام دستورات بر اساس شرایط مختلف اجرا شود. اگر یک عدد منفی برای متغیر radius در کدهای زیر وارد کنید، برنامه مقدار نادرستی را نمایش خواهد داد. اگر radius مقداری منفی باشد، برنامه نمی تواند محاسبات را انجام دهد. در این شرایط چطور مشکل را مدیریت می کنید و با آن رو به رو می شوید:
همچون تمامی زبان های سطح بالا، پایتون دستوراتی را در اختیار شما قرار می دهد که می توانید از بین چندین گزینه راهکاری انتخاب کنید. می توانید دستورات زیر را مورد استفاده قرار دهید:
if radius < 0:
print(“Incorrect input”)
else:
area = radius * radius * math.pi
print(“Area is”, area)
دستورات فوق، از عبارات شرطی استفاده می کنند که عباراتی بولینی هستند. در ادامه در مورد نوع-داده بولین، مقادیر و اپراتورهای مقایسه ای و عبارات بیشتر صحبت می کنیم.
نوع بولینی مقادیر و عبارات
یک عبارت بولینی، عبارتی است که مقادیر بولینی True و False را ارزیابی می کند. شما چطور دو مقدار را با هم مقایسه می کنید، مثلاً اینکه آیا radius بزرگتر از 0 است یا برابر با 0 است و یا آنکه کمتر از 0 است ؟ زبان برنامه نویسی پایتون 6 اپراتور مقایسه ای را فراهم می آورد که می توانید از آنها در کدها و دستورات خود استفاده کنید. در جدول زیر لیستی از اپراتورهای مقایسه ای که در زبان برنامه نویسی پایتون وجود دارد نشان داده شده است:

نکته
اپراتور مقایسه ای == که به معنای برابری اشیاء در پایتون می باشد را با اپراتور انتساب = اشتباه نگیرید.
نتیجه ای که از اپراتورهای مقایسه ای بازگردانده می شود، مقداری بولینی هستند: یعنی یا True و یا False خواهند بود. برای مثال دستورات زیر مقدار True را باز می گرداند.
radius = 1
print(radius > 0)
متغیری که مقدار بولینی را در خود نگه داری می کند را به عنوان یک متغیر بولینی می شناسیم. نوع-داده بولین برای نمایش مقادیر بولی مورد استفاده قرار می گیرد. یک متغیر بولینی می تواند یکی از دو مقدار True و یا False را در خود نگهداری کند. برای مثال دستورات زیر مقدار True را در متغیر LightsOn قرار می دهد.
lightsOn = True
True و False حروفی هستند که در زبان برنامه نویسی پایتون مورد استفاده قرار می گیرد و همچون عدد 10 یک نوع-داده محسوب می شوند. آنها کلمات رزرو شده ای هستند که به عنوان شناسه یا Identifier نمی توان از آنها استفاده نمود. برای تبدیل مقادیر بولی به مقدار صحیح بایستی از تابع ()int استفاده کنید. برای مثال به کدهای زیر توجه کنید :
print(int(True))
که مقدار 1 را نمایش می دهد.
print(int(False))
و کد فوق مقدار 0 را نمایش می دهد.
همچنین می توانید از تابع ()bool نیز برای تبدیل مقادیر عددی به مقادیر بولی نیز استفاده کنید. این تابع در صورتی که مقدار 0 را بپذیرد مقدار بولینی False را بازگردانده و در غیر این صورت مقدار True را برگشت می دهد. به مثال زیر توجه کنید:
print(bool(0))
دستورات فوق مقدار False را برگشت می دهد.
print(bool(4))
کد فوق مقدار True را برگشت می دهد.
ایجاد اعداد تصادفی در پایتون (Random number)
تابع (a,b)randint می تواند برای ایجاد اعداد تصادفی بین a و b مورد استفاده قرار گیرد. فرض کنید می خواهید برنامه ای را توسعه بدهید که به یک دانش آموز کلاس اولی کمک می کند که عملیات ریاضی جمع را تمرین کند. برنامه به صورت رندم دو عدد صحیح ایجاد می کند که شامل متغیرهای number1 و number2 است و سپس به دانش آموز سؤالی را نمایش می دهد، مثلاً جمع دو عدد 1 و 7 چقدر می شود؟ بعد از آنکه دانش آموز پاسخ را وارد نمود. برنامه پیغام را نمایش می دهد که نشان می دهد آیا پاسخ صحیح بوده و یا خیر. برای ایجاد اعداد تصادفی، می توانید از تابع (a,b) randint که در ماژول random قرار دارد استفاده کنید. فراموش نکنید که ابتدا بایستی ماژول random را فراخوانی یا import کنید. این تابع یک عدد صحیح تصادفی بین a و b ایجاد می کند. به عنوان مثال برای ایجاد یک عدد صحیح تصادفی بین 0 و 9 باید تابع (0,9) randint را به این صورت فراخوانی نمود.
1 import random
2
3 # Generate random numbers
4 number1 = random.randint(0, 9)
5 number2 = random.randint(0, 9)
6
7 # Prompt the user to enter an answer
8 answer = eval(input(“What is ” + + ” + “
9 + str(number2) + “? “))
10
11 # Display result
12 print(number1, “+”, number2, “=”, answer,
13 “is”, number1 + number2 == answer)
برنامه فوق از تابع (a,b) randint که در ماژول random قرار دارد استفاده می کند. در خط شماره 1، دستور import ماژول random را به برنامه اضافه می کند. خطوط 4 و 5، دو عدد تصادفی بین 0 تا 9 ایجاد نموده و در متغیرهای number1 و number2 قرار می دهد. خط 8، نتیجه جمع دو عدد تصادفی نمایش داده شده به کاربر را درخواست می کند. کاربر باید عددی وارد کند. پاسخی که توسط کاربر وارد می شود در خط 12 مورد ارزیابی قرار می گیرد و درستی و نادرستی آن به کاربر نمایش داده می شود. پایتون در ضمن تابع دیگری به نام (a,b)randrange دارد که برای ایجاد اعداد تصادفی در دامنه a تا b مورد استفاده قرار می گیرد . این تابع عملکردی مشابه تابع (a,b)randint دارد. در ضمن می توانید از تابع ()random نیز استفاده کنید که یک عدد اعشاری تصادفی بین 0 تا 1 ایجاد می کند به مثال زیر توجه کنید:
import random
>>> random.random()
3 0.34343
> random.random()
5 0.20119
>>> random.randint(0, 1)
0
>>> random.randint(0, 1)
1
>>> random.randrange(0, 1)
# This will always be 0
0
>>>
فراخوانی تابع ()random.random عدد تصادفی اعشاری بین 0.0 و 1.0 ایجاد می کند به استثنای عدد 1.0. فراخوانی تابع (0,1)random.randint عدد 0 یا 1 را برمی گرداند و فراخوانی تابع (0,1)random.randrange همیشه مقدار 0 را بازمی گرداند.

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

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

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

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

آموزش استخراج نقشه پوشش اراضی (Land-Cover) با استفاده از تصاویر ماهواره ای لندست 9 در نرم افزار ArcGIS

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

سیکل توسعه نرم افزار

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

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

آموزش صفر تا صد ترسیم نقشه های توپوگرافی حرفه ای در نرم افزار Arc GIS

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

تبدیل مختصات در نرم افزار Global Mapper

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

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

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

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

روش نصب نرم افزار Envi 5.6

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

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

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

دانلود رایگان تصاویر ماهواره ای ژئورفرنس شده با رزولوشن بالا

کارگاه آموزشی تحلیل داده های رستری با استفاده از زبان برنامه نویسی پایتون

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

دانلود رایگان نقشه های توپوگرافی ایران در مقیاس 1:500000

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

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

نرم افزار Coordinate Format Changer V.1 برای تبدیل فرمت مختصات

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

آموزش تحلیل های هیدرولوژی در نرم افزار Arc GIS Desktop

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

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

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

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

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

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

روش دانلود لایه های برداری لایه ها و عوارض شهری OSM

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

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

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

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