اعلانات انجمن


ارسال پاسخ 
 
امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 3.5
  • 1
  • 2
  • 3
  • 4
  • 5
زبان برنامه نویسی پایتون
نویسنده پیام
بیژن آفلاین
کاربر عادی
*

ارسال‌ها: 3
تاریخ عضویت: آذر ۱۳۹۲
اعتبار: 10
ارسال: #1
زبان برنامه نویسی پایتون
پایتون چیست؟

      پایتون یک زبان برنامه نویسی رایگان بین سکویی، منبع باز است که هر دوی آنها برای یادگیری قدرتمند و ساده هستند. این زبان به طور گسترده‌ای مورد استفاده قرار گرفته و پشتیبانی شده است. برای یادگیری بیشتر درباره  پایتون، python.org را مشاهده کنید.
پایتون در نسخه 9.0 به جامعه نرم‌افزار ArcGIS معرفی شد. از آن زمان به عنوان زبان برنامه‌نویسی انتخابی برای کاربران پردازش جغرافیایی مورد قبول واقع شده و در حال رشد است. هر نسخه، خبرگی پایتون را تقویت کرده و برای شما با قابلیت های بیشتر و غنی‌تر، یک تجربه پایتون پسندتر را فراهم کرده‌است. 
ESRI  پایتون را به طور کامل برای زبان ArcGIS پذیرفته و پایتون را به عنوان زبانی که نیازهای جامعه کاربران ما را براورده می‌کند می‌بیند. اینها بخشی از مزایای پایتون هستند:
آسان برای یادگیری و بسیار عالی برای مبتدیان و در عین حال فوق العاده برای کارشناسان
بسیار مقیاس پذیر، مناسب برای پروژه های بزرگ و یا برنامه های یکی کردن کوچک به نام اسکریپت
  • قابل حمل، بین سکویی
  • پایدار و کامل
  • جامعه کاربران بزرگ
  • پایتون در سرتاسر ArcGIS گسترده شده و زبانی برای تجزیه و تحلیل داده‌ها، تبدیل داده‌ها، مدیریت داده‌ها و نقشه‌های اتوماسیون شده‌است که به افزایش بهره‌وری کمک می‌کند.

یادگیری پایتون

        اطلاعاتی که در اینجا موجود است مرجع زبان پایتون نیست. نحو و رفتار معین پایتون با توجه به نمونه‌ها و مفاهیم بکار برده شده برای نشان دادن چگونگی نوشتن یک اسکریپت پردازش جغرافیایی توضیح داده شده‌است.
یک کتاب مرجع پایتون مناسب برای افزایش اطلاعاتی که در اینجا پیدا می‌کنید به شدت سفارش می‌شود. برای مبتدیان پایتون، آموزش پایتون توسط  Mark Lutz and David Ascher منتشر شده توسط  O’Reilly & Associates و برنامه نویس هسته‌ای پایتون توسط Wesley J. Chun، منتشر شده توسط Wesley J. Chun، هر دو مقدمه‌های خوبی برای این زبان هستند. کتاب‌های زیاد دیگری در زمینه پایتون و کاربردهای خاص آن وجود دارد، با نسخه‌های جدیدی که به طور منظم منتشر می‌شود، بنابراین بررسی کنید که چه چیزی در دسترس است. وب سایت پایتون دارای مستندات کامل اما مختصر و توسعه‌گراست. انجمن‌های پایتون آنلاین زیادی با مراجع بسیار وجود دارد که در صفحه اصلی پایتون قابل دسترسی است. 

آموزش‌های پایتون

     اگر در پایتون تازه‌کار هستید آموزش‌های خارجی ذکر شده در اینجا را برای شما توصیه می شود.
  • Python Tutorial بخشی از مستندات خود پایتون است.
  • Python for Programmers آموزش‌هایی برای آنهایی که تجربه برنامه نویسی اندکی دارند فراهم می‌کند.
  • Python Language Reference نحو و ترکیب‌های پایتون را توصیف می‌کند.

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

        آموزش خارجی ذکر شده در اینجا برای کسانی است که تجربه قبلی با زبان های برنامه نویسی دیگر 
(پرل، ویژوال بیسیک، C) دارند.
Python Tutorial بخشی از مستندات خود پایتون است.
Python for Programmers آموزش‌هایی برای آنهایی که تجربه برنامه نویسی با زبان‌های دیگر دارند را فراهم می‌کند.


لینک منبع :http://resources.arcgis.com/en/help/main...001000000/
(آخرین ویرایش در این ارسال: ۲-۱۰-۱۳۹۲ ۰۸:۴۶ عصر، توسط بیژن.)
۶-۹-۱۳۹۲ ۱۲:۰۰ صبح
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 اعتبار داده شده توسط : mousavi(+1) ، ادمین(+2) ، علوی(+1) ، mkh.manesh(+1) ، paria(+1)
mkh.manesh آفلاین
کاربر عادی
*

ارسال‌ها: 2
تاریخ عضویت: آذر ۱۳۹۲
اعتبار: 4
ارسال: #2
RE: زبان برنامه نویسی پایتون
کتاب های انگلیسی زیادی در زمینه Python وجود دارند. ولی من به شخصه این روش رو برای تازه کارها بیشتر می پسندم:

1. مطالعه کتابچه ی زیر برای آشنایی با مفاهیم دستور ها(فارسی) 37 صفحه
http://www.mediafire.com/view/b3yzphv1hi...ir%5D.pdf 

2. مطالعه کتاب زیر برای آشنایی دقیق تر (فارسی) حدود 300 صفحه. ترجمه نه چندان روان
http://www.mediafire.com/view/yi7y36e9qo...ersian.pdf

3. مطالعه کتاب زیر (انگلیسی) در صورت آشنایی کامل با زبان انگلیسی حدود 700 صفحه (غیر ضروری)
http://www.mediafire.com/view/aocjrw0pw0...dition.pdf

4. مطالعه کتاب زیر که کاملا Spatial هست. (انگلیسی) حدود 300 صفحه
http://www.mediafire.com/view/e4eha9asmp...okbook.pdf

و از همه مهمتر:
5. خودتون بشینین اسکریپت ها رو بخونین و تفسیر کنین. با آشنایی نسبی با کدهای پایتون می تونین اسکریپت ها رو درک کنین و بهشون مسلط شین. یادتون باشه خوندن مهم نیست. فهمیدنه که خیلی می تونه کمکتون کنه. پس مطالعه کتاب ها را کم کنین و به تمرین بپردازین. 

 
۱۰-۹-۱۳۹۲ ۱۱:۵۳ صبح
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 اعتبار داده شده توسط : ادمین(+2) ، علوی(+1) ، paria(+1)
بیژن آفلاین
کاربر عادی
*

ارسال‌ها: 3
تاریخ عضویت: آذر ۱۳۹۲
اعتبار: 10
ارسال: #3
RE: زبان برنامه نویسی پایتون
 واژگان و اصطلاحات ضروری پایتون این سند,برخی از اصطلاحات ضروری پایتون را معرفی می‌کند که برای ژیوپروسسینگ (Geoprocessing)بکار می‌روند.
اصطلاحتوصیف
پایتونپایتون یک زبان برنامه نویسی منبع باز است که در اواخر دهه 1980 توسط   Guido van Rossumتصور شده بود، و در سال 1991 معرفی شده است. این زبان برای اولین بار با نرم افزار ArcGIS 9.0 ثبت شد و از آن زمان به اولین انتخاب برای کاربران ایجاد کارهای پردازش جغرافیایی تبدیل شده است.
ArcPyArcPy (اغلب به عنوان بسته سایت ArcPy معرفی شده) دسترسی پایتون برای تمام ابزارهای پردازش جغرافیایی، از جمله پسوند و همچنین طیف گسترده ای از توابع مفید و کلاس‌ها برای کار و تحقیق داده های GIS فراهم می کند. با استفاده از پایتون و ArcPy، شما می توانید تعداد نامحدودی از برنامه های مفید که روی داده های جغرافیایی کار می‌کنند را توسعه دهید..
ArcPyماژول های ماژول، یک فایل پایتون است که به طور کلی شامل توابع و کلاس‌ها است. ArcPy  که توسط یک سری از ماژول‌ها از جمله ماژول دسترسی به داده‌ها (arcpy.da)، ماژول نقشه‌برداری (arcpy.mapping)، نرم افزار ArcGIS فضایی ماژول فرمت تحلیلگر (arcpy.sa)، و نرم افزار ArcGIS شبکه ماژول فرمت تحلیلگر (arcpy.na) پشتیبانی می‌شود.).
ArcPy کلاس هاییک کلاس، مشابه طرح معماری است. طرح، چارچوب برای ایجاد چیزی را فراهم می‌کند. کلاس‌هایی که  می‌توانند برای ایجاد اشیاء مورد استفاده قرار گیرند، اغلب به عنوان یک نمونه اشاره می‌شوند. کلاس‌های ArcPy، از جمله کلاس‌های SpatialReference و Extent، اغلب به عنوان کلید های میانبر برای تکمیل پارامترهای ابزار پردازش جغرافیایی استفاده می‌شوند که در غیر این صورت ممکن است یک رشته معادل پیچیده‌تر داشته باشد..
ArcPyتوابع یک تابع تعریفی از عملکرد است که کار مشخصی انجام می‌دهد و می‌تواند در یک برنامه بزرگتر گنجانده شود. در ArcPY تمام ابزارهای پردازش جغرافیایی به صورت تابع ارائه شده‌اند اما همه توابع ابزار پردازش جغرافیایی نیستند. ArcPy تعدادی توابع را برای پشتیبانی بهتر کارهای پردازش جغرافیایی پایتون فراهم می‌کند. توابع (اغلب به عنوان روش‌ها اشاره می‌شود) می‌توانند برای لیست کردن مجموعه داده خاص مورد استفاده قرار گیرند، خ،اص مجموعه داده را بازیابی کنند، نام یک جدول را قبل از اضافه شدن به پایگاه داده جغرافیایی معتبر کند یا بسیاری از وظایف برنامه نویسی دیگر را انجام کند..
اسکریپت های پایتون مستقل   یک اسکریپت پایتون مستقل یک فایل .py که می‌تواند از یک سیستم عامل بی‌درنگ، یک برنامه توسعه‌یافته مانند PythonWin یا با دو بار کلیک بر روی فایل .py در اینترنت اکسپلورر اجرا شود..
ابزار اسکریپت پایتون ابزار اسکریپت پایتون یک اسکریپت پایتون است که به یک جعبه ابزار پردازش جغرافیایی اضافه شده است. هنگامی که به عنوان یک ابزار اسکریپت اضافه شد ابزار اسکریپت مانند هر ابزار پردازش جغرافیایی دیگر می‌شود- می‌تواند از جعبه ابزار محاوره‌ای باز و اجرا شود، در پنجره Python و ModelBuilder استفاده شود و در اسکریپت‌های دیگر و ابزارهای اسکریپت فراخوانی شود..
 پنجره پایتون    پنجره Python یک محل سریع و آسان برای استفاده از پایتون از درون نرم‌افزار ArcGIS است تا به صورت تعاملی ابزارهای پردازش جغرافیایی اجرا شوند و همچنین از ماژول‌ها و کتابخانه‌های دیگر پایتون استفاده شود. این پنجره همچنین یک دروازه برای یادگیری پایتون برای شما فراهم می‌کند.
افزودنی‌های پایتونArcGIS 10.1 پایتون را به لیست زبان‌هایی برای نوشتن افزودنی‌های دسکتاپ، که راه حل ساده برای افزایش قابلیت‌های دسکتاپ شما فراهم می‌کند، معرفی می‌کند. برای سادگی توسعه افزودنی‌های پایتون، باید Python Add-In Wizard را برای اعلام نوع سفارشی‌سازی دانلود کرده و بکار ببرید. ویزارد تمام فایل‌های لازم مورد نیاز برای کار کردن add-in را فراهم می‌کند..
 جعبه ابزارهای پایتون   جعبه ابزارهای پایتون جعبه ابزارهای پردازش جغرافیایی هستند که به طور کامل در پایتون ایجاد شده‌اند. جعبه ابزارهای پایتون و ابزارهای موجود در آن درست مانند جعبه ابزارها و ابزارهایی که به هر روش دیگری تولید شده‌اند به نظر می‌آیند، عمل می‌کنند و کار می‌کنند.جعبه ابزار پایتون (.pyt) یک فایل مبتنی بر ASCII که یک جعبه ابزار و یک یا چند ابزار را تعریف می‌کند..
 لینک منبع :  http://resources.arcgis.com/en/help/main...022000000/
(آخرین ویرایش در این ارسال: ۲-۱۰-۱۳۹۲ ۰۹:۰۱ عصر، توسط بیژن.)
۲-۱۰-۱۳۹۲ ۰۷:۵۱ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 اعتبار داده شده توسط : علوی(+1) ، paria(+1)
بیژن آفلاین
کاربر عادی
*

ارسال‌ها: 3
تاریخ عضویت: آذر ۱۳۹۲
اعتبار: 10
ارسال: #4
RE: زبان برنامه نویسی پایتون
گشت سریع درباره پایتون
پایتون یک زبان برنامه نویسی متن باز، همه منظوره می باشد که به عنوان یک زبان پردازه نویسی در پردازش اطلاعات جغرافیایی ArcGIS استفاده می شود. قابلیت پردازش اطلاعات جغرافیایی از طریق پایتون با استفاده از بسته سایتی ArcPy نرم افزار ArcGIS قابل دستیابی می باشد. ArcPy دسترسی به ابزار پردازش اطلاعات جغرافیایی و همچنین قابلیت های دیگر ، کلاس ها، ماژول ها را فراهم می کند که به شما امکان ایجاد سریع و آسان جریان های کاری ساده یا پیچیده می دهد. 

متقاضیان ArcGIS و اسکریپت های نوشته شده با استفاده از ArcPy از دسترسی و کار با ماژول های بیشمار پایتون ایجاد شده توسط متخصصان و برنامه نویسان GIS از ترتیب ها ی مختلف بسیار بهره می برند. قدرت دیگر استفاده از ArcPy در پایتون این است که پایتون یک زبان برنامه نویسی چندمنظوره است که یادگیری و استفاده ی آن آسان می باشد. این برنامه تفسیر و به طور پویا نوشته شد، که برای شما این قابلیت را فراهم می کند تا به سرعت در یک محیط فعل و انفعالی اسکریپت ها را نمونه سازی و تست کنند درحالیکه هنوز به اندازه  کافی برای پشتیبانی از نوشتن برنامه های بزرگ قدرتمند هستند.

به طور کل، ArcPy در ابزار، محیط ها، قابلیت ها، کلاس ها و ماژول ها دسته بندی می شود.    اجرای ابزار مثالی که در ادامه می آید چگونگی اجرای ابزار بافر را نشان می دهد. وقتی ابزار اجرا می شود، این پیغام به طور پیش فرض در سمت راست پنجره پایتون در بخش help ظاهر می شود.  
کد php:
[code]
>>> 
arcpy.Buffer_analysis("c:/data/Portland.gdb/streets""c:/data/Portland.gdb/steets_buffer""500 METERS")
[/
code
 در اینجا نمونه دیگری از اجرای ابزار وجود دارد. این نمونه از ابزار موجود در مدیریت داده و جعبه ابزار محاوره ای استفاده می کند. فیلدی به طبقه مشخصه ورودی خیابان افزوده می شود، این فیلد محاسبه می شود و سپس این طبقه ویژگی در پایگاه داده جغرافیایی سیستم ArcSDE بارگذاری می شود. 
کد php:
[code]
>>> 
import arcpy 
>>> arcpy.AddField_management("c:/data/Portland.gdb/streets""LENGTH_MILES""TEXT")
>>> 
arcpy.CalculateField_management("c:/data/Portland.gdb/streets""LENGTH_MILES""!shape.length@miles!""PYTHON_9.3")
>>> 
arcpy.FeatureClassToFeatureClass_conversion("c:/data/Portland.gdb/streets""Database Connections/MySDE.sde/PortlandDataset""streets")
[/
code
به دست آوردن نتایج از یک ابزار 
وقتی ابزار پردازش اطلاعات جغرافیایی اجرا می شود، نتایج ابزار به صورت شی result بازگردانده می شوند. معمولا، این شی مسیری به مجموعه داده خروجی تولید شده یا آپدیت شده توسط ابزار می باشد. در موارد دیگر، ممکن است شامل انواع مقداری دیگر، مانند عدد یا عملگر بولی باشد. اگر خروجی یک ابزار یک پارامتر چندمقداری باشد، مقادیر به صورت لیستی درون لیست دیگر بازگردانده می شوند.

مثال های کد زیر چگونگی به دست آوردن کد های بازگشتی و اینکه مقدار آنها چه می تواند باشد را نشان می دهند:

 مسیر طبقه ویژگی خروجی را بازگشت دهید. نتیجه می تواند به صورت ورودی برای تابع دیگر باشد.   
کد php:
[code]
>>> 
result arcpy.Buffer_analysis("rivers""riverBuf""50 METERS")
>>> print 
result
C
:\Portland\Portland_OR.gdb\riverBuf
>>> arcpy.Clip_analysis("streets"result"streets_50m_of_rivers")
[/
code
 تعداد ویژگی ها را بازگشت دهید. 
کد php:
[code]
>>> 
result arcpy.GetCount_management("streets_50m_of_rivers")
>>> print 
result.getOutput(0)
54
[/code
لیستی از شاخص های شبکه ای فضایی پیش فرض را برای طبقه ویژگی بازگشت دهید. 
کد php:
[code]
>>> 
result arcpy.CalculateDefaultGridIndex_management("streets_50m_of_rivers")
>>> for 
i in range(0result.outputCount):
...     print 
result.getOutput(i)
...
560
200
0
[/code
 استفاده از تنظیمات محیطی

تنظیمات محیطی پردازش اطلاعات جغرافیایی می تواند به عنوان پارامترهای دیگری در نظر گرفته شوند که بر نتایج ابزار تاثیر می گذارند. آنها با پارامترهای ابزاری نرمال تفاوت دارند از این جهت آنها به طور جداگانه از ابزار تنظیم و تحقیق می شوند و وقتی اجرا می شوند با ابزار استفاده می شوند. تنظیمات محیطی، از قبیل حوزه مورد توجه، سیستم مختصاتی مجموعه داده خروجی، و اندازه خانه یک مجموعه داده شبکه ای ، می تواند توسط ابزار مشخص و پذیرفته شود. 

تنظیمات محیطی از کلاس env به صورت ویژگی ها قابل دسترسی می باشند. این ویژگی ها برای بازیابی مقادیر فعلی محیط و تنظیم آنها استفاده می شوند. در زیر نمونه هایی از چگونگی استفاده از مقادیر محیطی آورده شده است:

محیط فضای کاری را تنظیم کنید.
کد php:
[code]
>>> 
arcpy.env.workspace "c:/data/Portland.gdb"
>>> arcpy.Buffer_analysis("streets""streetBuf""500 METERS")
[/
code
شاخص شبکه ای فضایی را برای بازگرداند مقدار از یک ابزار تنظیم کنید.
کد php:
[code]
>>> 
arcpy.env.spatialGrid1 arcpy.CalculateDefaultSpatialGridIndex_management("streets").getOutput(0)
[/
code
اندازه خانه شبکه ای فعلی را بگیرید و مطمئن شوید که اندازه ی ثابتی برای خروجی استاندارد می باشد.
درباره استفاده از تنظیمات محیطی در پایتون بیشتر بدانید


استفاده از توابع

یک تابع مقداری تعریف شده از قابلیتی است که یک وظیفه خاصی را انجام می دهد و می تواند در برنامه بزرگتر تلفیق شود. علاوه بر ابزار، ArcOy تعدادی از توابع را برای پشتیبانی بهتر جریان های کاری پردازش جغرافیایی مشخص می کند. توابع برای لیست کردن مجموعه داده های معین ، ویژگی های مجموعه داده ، بررسی وجود داده، معتبر سازی نام جدول قبل از افزودن آن به پایگاه داده جغرافیایی، یا انجام بسیاری از وظیفه های پردازه نویسی دیگر استفاده می شوند. 

کد نمونه زیر گرفتن ویژگی از داده و بررسی گسترش را نشان می دهد.
کد php:
[code]
[
color=#0000ff]import[/color] arcpy

[color=#008000]# prints True[/color]
[color=#0000ff]print[/color] arcpy.Exists([color=#a31515]"c:/data/Portland.gdb/streets"[/color]) 

[color=#008000]# prints NAD_1983_StatePlane_Oregon_North_FIPS_3601_Feet[/color]
sr arcpy.Describe([color=#a31515]"c:/data/Portland.gdb/streets"[/color]).spatialReference
[color=#0000ff]print[/color] sr.name 

[color=#008000]# prints Available[/color]
[color=#0000ff]print[/color] arcpy.CheckExtension([color=#a31515]"spatial"[/color]) 

arcpy.CheckOutExtension([color=#a31515]"spatial"[/color])
[/code

استفاده از کلاس ها 

کلاس های ArcPy مانند کلاس های SpatialReference و Extent ، اغلب به عنوان میانبرهایی برای کامل کردن پارامترهای ابزار پردازش اطلاعات جغرافیایی استفاده می شوند که در غیر اینصورت رشته معادل پیچیده تری می داشت. یک کلاس شبیه به طرح معماری می باشد. طرح اولیه چارچوبی را برای چگونگب ایجاد چیزی فراهم می کند. کلاس ها برای ایجاد اشیا استفاده می شوند؛ این قضیه اغلب به صورت نمونه ارجاع داده می شود.
کد php:
[code]
[
color=#0000ff]import[/color] arcpy

spatial_ref arcpy.SpatialReference([color=#a31515]"Hawaii Albers Equal Area C[/color]
[/code


کار با ماژول ها 

ArcPy شامل ماژول هایی است که نواحی دیگر ArcPy را پوشش می دهند. ArcPy توسط مجموعه از ماژول ها شامل ماژول دسترسی داده (arcpy.da)، ماژول نگاشت (arcpy.mapping)، ماژول بسط تحلیلگر فضایی (ArcGIS arcpy.sa) و ماژول بسط تحلیلگر شبکه (ArcPy arcpy.na) پشتیبانی می شود.
برای مثال، ابزار ماژول arcpy.sa از ابزار موجود در جعبه ابزار تحلیلگر فضایی استفاده می کنند اما برای پشتیبانی از جبد نقشه ای پیکربندی می شوند. بنابراین، اجرای arc.sa.slope مانند اجرای ابزار slope از جعبه ابزار تحلیلگر فضایی می باشد.

لینک منبع:
http://resources.arcgis.com/en/help/main...023000000/

 
(آخرین ویرایش در این ارسال: ۲-۱۰-۱۳۹۲ ۰۹:۱۹ عصر، توسط بیژن.)
۲-۱۰-۱۳۹۲ ۰۹:۱۴ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 اعتبار داده شده توسط : ادمین(+2)
mortezaomidi آفلاین
کاربر عادی
*

ارسال‌ها: 1
تاریخ عضویت: شهر ۱۳۹۲
اعتبار: 0
ارسال: #5
RE: زبان برنامه نویسی پایتون
ba tashokor , vali mitonest tarjome behtari bashe
 
۴-۵-۱۳۹۳ ۰۷:۲۴ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
seapca2 آفلاین
کاربر عادی
*

ارسال‌ها: 46
تاریخ عضویت: دي ۱۳۹۲
اعتبار: 19
ارسال: #6
RE: زبان برنامه نویسی پایتون
با سلام خدمت دوستان
اقای بیزن عزیز با تشکر از مطلبتون در خصوص arcpy من با پیتون کار نکردم ولی فکر کنمsyntax ان شبیه به html باشه لذا باید خیلی زود جایگاه خودشو باز کنه
با تشکر

 
۱۶-۶-۱۳۹۳ ۰۵:۲۰ عصر
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان