تحلیل های مکانی فضایی در در ArcGIS Pro -فصل 3
3.1معرفی
این فصل چارچوب تحلیل های مکانی فضایی را معرفی می کندArcGIS Pro، از جمله استفاده از ابزارها، مدل ها و اسکریپت ها. درک چارچوب geoprocessing در نوشتن اسکریپت های پایتون موثر مفید است. Python و ModelBuilder اغلب به صورت پشت سر هم مورد استفاده قرار می گیرند، بنابراین برای استفاده حداکثری از اسکریپت نویسی Python، دانش خوب ModelBuilder توصیه می شود.
3.2تحلیل های مکانی فضایی چیست؟
تحلیل های مکانی فضایی در ArcGIS Pro به شما امکان می دهد تحلیل و مدل سازی فضایی و همچنین خودکارسازی وظایف GIS را انجام دهید. یک ابزار ژئوپردازش معمولی داده های ورودی (یک کلاس ویژگی، رستر یا جدول) را می گیرد، یک وظیفه ژئوپردازش را انجام می دهد و در نتیجه داده های خروجی را تولید می کند. ArcGIS Pro حاوی بیش از هزار ابزار ژئوپردازش است. نمونههایی از ابزارهای پردازش جغرافیایی شامل ابزارهایی برای ایجاد بافر، افزودن فیلد به جدول و کدگذاری جغرافیایی جدول آدرسها است.
tabindex=”0″
Geoprocessing از اتوماسیون گردش کار با ایجاد یک توالی که مجموعه ای از ابزارها را ترکیب می کند، پشتیبانی می کند. خروجی یک ابزار به طور موثر به ورودی ابزار بعدی تبدیل می شود. ایجاد این گردش های کاری خودکار با ترکیب ابزارهای پردازش جغرافیایی را می توان در ArcGIS Pro با استفاده از مدل ها و اسکریپت ها انجام داد.
چارچوب geoprocessing در ArcGIS Pro از مجموعهای از پنجرهها و کادرهای محاورهای برای سازماندهی و اجرای ابزارها تشکیل شده است. این چارچوب ایجاد، اجرا، مدیریت، مستندسازی و اشتراکگذاری گردشهای کاری پردازش جغرافیایی را آسان میکند. ژئوپردازش شامل مجموعه ای از ابزارهایی است که بر روی داده ها عمل می کنند. چارچوب اصلی ژئوپردازش شامل موارد زیر است:
- مجموعه ای از ابزارها، سازماندهی شده در جعبه ابزار و مجموعه ابزار
- روشهای یافتن و اجرای ابزارها
- تنظیمات محیطی و سایر گزینه های پردازش جغرافیایی که نحوه اجرای ابزارها را کنترل می کنند
- جعبه های محاوره ای ابزار برای تعیین پارامترهای ابزار و کنترل اجرای ابزارها
- ModelBuilder، یک زبان برنامه نویسی بصری برای ایجاد مدل هایی که امکان توالی ابزارها را فراهم می کند
- پنجره پایتون برای اجرای ابزار با استفاده از پایتون
- تاریخچه ژئوپردازش که ابزارهای در حال اجرا را ثبت می کند
- روش هایی برای ایجاد اسکریپت های پایتون و استفاده از آنها به عنوان ابزار
بخش های بعدی این اجزا را با جزئیات بیشتری توضیح می دهند. چند ویژگی این چارچوب ژئوپردازش، کار با ابزارها را به شیوه ای سازگار و در عین حال انعطاف پذیر ممکن می سازد. این ویژگی ها شامل موارد زیر است:
- همه ابزارها را می توان از جعبه ابزار آنها در دسترس قرار داد، که یک رویه ثابت برای دسترسی به ابزارها، مدل ها و اسکریپت ها ایجاد می کند.
- همه ابزارها به شیوه ای مشابه مستند شده اند که امکان فهرست نویسی و جستجوی مداوم را فراهم می کند.
- همه ابزارها یک رابط کاربری مشابه (باکس محاوره ابزار) برای تعیین پارامترهای ابزار دارند.
3.3استفاده از جعبه ابزار و ابزار
ابزارهای ژئوپردازش عملیات را بر روی مجموعه داده ها انجام می دهند. اینکه دقیقاً چه ابزارهایی در دسترس دارید تا حدی به سطح مجوز شما بستگی دارد: پایه، استاندارد یا پیشرفته. با این حال، تقریباً تمام ابزارهای معمولی بخشی از مجوز پایه هستند. در دسترس بودن ابزارها همچنین به این بستگی دارد که آیا مجوز برای برنامه های افزودنی مانند ArcGIS® 3D Analyst دارید یا خیر.™، تحلیلگر شبکه ArcGIS™و تحلیلگر فضایی ArcGIS™. با این حال، سازماندهی ابزارها بدون توجه به سطح مجوز یا پسوندها، یکسان باقی می ماند.
ابزارهای Geoprocessing معمولاً با استفاده از صفحه Geoprocessing قابل دسترسی هستند. برای باز کردن این صفحه از داخل ArcGIS Pro، روی تب Analysis کلیک کنید و روی Tools کلیک کنید.
مکان یابی ابزارها با استفاده از این صفحه ژئوپردازش به روش های مختلفی انجام می شود:
- می توانید ابزارها را با نام جستجو کنید.
- ابزارها را می توان به لیست علاقه مندی ها اضافه کرد – یک لیست پیش فرض با ابزارهای رایج از قبل وجود دارد.
- ابزارهایی که اخیراً اجرا شده اند در زیر موارد دلخواه نشان داده می شوند.
- برای یافتن ابزارهای خاص می توانید به Toolboxes بروید.
- ابزارهای موجود از طریق پورتال برای ArcGIS به طور جداگانه فهرست شده اند.
ابزارهای پردازش جغرافیایی در جعبههای ابزار سازماندهی میشوند – به عنوان مثال، ابزارهای تجزیه و تحلیل، ابزارهای نقشهبرداری، و ابزارهای کدگذاری جغرافیایی، و غیره.
هر جعبه ابزار معمولاً شامل یک یا چند مجموعه ابزار است و هر مجموعه ابزار شامل یک یا چند ابزار است.
با توجه به تعداد ابزارهای موجود، اگر ندانید به کجا نگاه کنید، مرور می تواند دشوار باشد.
راه های مختلفی برای یافتن ابزار مورد نیاز وجود دارد. ابتدا، برخی از رایج ترین ابزارهای مورد استفاده را می توان مستقیماً از تب Analysis در ArcGIS Pro در دسترس قرار داد. با این حال، تنها تعداد انگشت شماری از ابزارها در زیر گالری تجزیه و تحلیل فهرست شده اند.
اگرچه تعداد ابزارها در اینجا محدود است، میتوانید گالری تجزیه و تحلیل را سفارشی کنید تا ابزارهایی را که اغلب استفاده میکنید نشان دهد.
دوم، شما می توانید ابزارها را جستجو کنید. صفحه Geoprocessing شامل یک نوار جستجو در بالا است. یک عبارت جستجو را در اینجا وارد کنید تا ابزارهای موجود را ببینید. جستجو ابزارهایی را با نام دقیق ابزار و همچنین ابزارهای دیگری را که عبارت در توضیحات ظاهر می شود یا عملکرد مشابهی ارائه می دهد، برمی گرداند.
جستجوی عبارت “بافر” ابزارهای Buffer، Buffer 3D، Graphic Buffer و غیره و همچنین ابزارهایی مانند Select Layer By Location را که شامل گزینه فاصله است، برمی گرداند. همچنین می توانید به جای نام ابزار واقعی، اصطلاحات مفهومی بیشتری را وارد کنید که ماهیت تجزیه و تحلیل را توصیف می کند. به عنوان مثال، عباراتی مانند «نزدیکی»، «همپوشانی»، «خلاصه» یا «رگرسیون» ابزارهایی را پیشنهاد میکنند که ممکن است در آن انواع کلی تحلیل مورد علاقه باشند.
در نتایج جستجو حرکت کنید و روی ابزار مورد نظر دوبار کلیک کنید تا کادر محاوره ای ابزار ظاهر شود.
3.4انواع و دسته های ابزار
چندین نوع ابزار در ArcGIS Pro وجود دارد و هر کدام با نماد متفاوتی مشخص می شوند.
ابزارهای داخلی: این ابزارها با استفاده از ArcObjects و یک زبان برنامه نویسی کامپایل شده مانند C++ ساخته شده اند. Esri این ابزارها را هنگام نوشتن نرم افزار خود ایجاد می کند و بیشتر ابزارهای ArcGIS Pro ابزارهای داخلی هستند.
ابزارهای اسکریپت: این ابزارها از اسکریپت های پایتون تشکیل شده اند که با استفاده از جعبه محاوره ای ابزار قابل دسترسی هستند. هنگامی که یک ابزار اجرا می شود، یک اسکریپت برای انجام عملیات ژئوپردازش اجرا می شود.
ابزار مدل: این ابزارها با استفاده از ModelBuilder ایجاد می شوند.
اگرچه این نوع ابزارها با استفاده از روشهای مختلفی ایجاد میشوند، جعبههای محاورهای ابزار برای همه ابزارها یکسان به نظر میرسند که یکی از نقاط قوت چارچوب ژئوپردازش در ArcGIS Pro است.
همچنین دو دسته از ابزارها وجود دارد:
- ابزارهای سیستم: این ابزارها توسط Esri ساخته شده و به عنوان بخشی از نرم افزار معمولی ArcGIS Pro نصب شده اند. اینکه دقیقاً کدام ابزار سیستم در دسترس است به سطح مجوز محصول و تعداد برنامه های افزودنی بستگی دارد. اکثر ابزارهای سیستم ابزارهای داخلی هستند، اما چندین ابزار اسکریپت نیز توسط Esri نوشته شدهاند.
- ابزارهای سفارشی: این ابزارها معمولاً از ابزارهای اسکریپت و مدل تشکیل شده اند. ابزارهای سفارشی را می توان توسط یک کاربر ایجاد کرد، اما همچنین می تواند از یک شخص ثالث دریافت و به ArcGIS Pro اضافه شود.
هنگام استفاده از ابزارهای پردازش جغرافیایی، ممکن است متوجه نشوید که کدام ابزارها ابزارهای سیستمی و کدام ابزارهای سفارشی هستند، زیرا آنها برای کارکرد یکسان طراحی شده اند. هنگامی که یک ابزار سفارشی ایجاد می شود، می توان آن را مانند هر یک از ابزارهای سیستم به یک گردش کار ژئوپردازش اضافه کرد.
3.5ابزارهای در حال اجرا با استفاده از جعبه های محاوره ای ابزار
وقتی ابزاری را پیدا کردید، میتوانید آن را با کلیک کردن روی آن باز کنید، که کادر محاورهای ابزار ظاهر میشود. هر ابزار دارای پارامترهایی است که قبل از اجرای ابزار باید مشخص شوند. پارامتر ابزار یک رشته متن، عدد یا ورودی دیگر است. جعبه محاوره ای ابزار یک رابط کاربری آسان برای تعیین این پارامترها ارائه می دهد. کادر محاورهای ابزار امکان مرور و انتخاب مجموعه دادهها، انتخاب گزینهها از یک لیست و وارد کردن مقادیر را فراهم میکند.
بیشتر ابزارها به یک یا چند مجموعه داده ورودی نیاز دارند. سایر پارامترهای رایج رشته های متنی از پیش تعیین شده به نام کلمات کلیدی هستند. اگرچه هر ابزار دارای یک یا چند پارامتر است، اما همه پارامترها مورد نیاز نیستند. پارامترهای اختیاری دارای مقادیر پیش فرض هستند که توسط ابزار تنظیم می شوند. شما می توانید مقدار پیش فرض را به سادگی با عدم تغییر پارامتر یا عدم تعیین مقدار بپذیرید. مقادیر پیشفرض برای کلمات کلیدی معمولاً در جعبه محاورهای ابزار زمانی که برای اولین بار باز میشود نشان داده میشوند.
نمونه ای از کادر محاوره ای ابزار برای ابزار Clip در شکل نشان داده شده است.
شما می توانید از یک ابزار به روش های مختلف کمک بگیرید. نگه داشتن مکان نما روی علامت سوال آبی رنگ در سمت راست بالا باعث می شود که یک پنجره پاپ آپ ظاهر شود که خلاصه ای سریع از ابزار را نشان می دهد. اگر با ابزار آشنا نیستید، این توضیحات برای اطمینان از داشتن ابزار صحیح مفید است.
با کلیک بر روی علامت علامت سوال آبی صفحه راهنمای آنلاین ابزار با استفاده از مرورگر پیش فرض شما ظاهر می شود. راهنما توضیحات کامل تری از ابزار را ارائه می دهد که شامل توضیحات دقیق پارامترهای ابزار می شود.
برای مثال هایی از نحوه استفاده از ابزار در اسکریپت پایتون، صفحات راهنما را با جزئیات بیشتری در فصل های بعدی مشاهده خواهید کرد.
از داخل کادر محاورهای ابزار، میتوانید با مکث کردن مکاننما روی نماد آبی آبی که در سمت چپ نام پارامتر ظاهر میشود، در مورد هر پارامتر کمک بگیرید.
کادر محاوره ای ابزار حاوی پارامترهایی است که باید برای اجرای ابزار مشخص شوند. توجه داشته باشید که در مجموع چهار پارامتر در مورد ابزار Clip وجود دارد. سه مورد از آنها با یک علامت ستاره قرمز کوچک علامت گذاری شده اند که نشان می دهد پارامتر مورد نیاز است و به یک مقدار نیاز دارد. پارامتر XY Tolerance اختیاری است، همانطور که با عدم وجود علامت ستاره مشخص می شود. برای اجرای ابزار نیازی به تعیین مقداری برای این پارامتر ندارید. یک مقدار پیش فرض استفاده خواهد شد.
جعبه محاوره ای ابزار مکانیسم های مختلفی برای اطمینان از ورودی های مناسب دارد. به عنوان مثال، به جای تایپ یک مسیر و نام فایل، میتوانید روی فلش کشویی کلیک کنید تا از لیست لایههای ویژگی در نقشه فعلی انتخاب کنید. فلش کشویی فقط زمانی ظاهر می شود که لایه های ویژگی قابل قبولی در نقشه شما وجود داشته باشد تا از بین آنها انتخاب کنید.
همچنین می توانید از دکمه Browse برای مرور داده های روی دیسک استفاده کنید. این گزینه ها نه تنها از اشتباهات تایپی جلوگیری می کنند، بلکه ورودی داده های معتبر را نیز بررسی می کنند. برای مثال، ویژگیهای ورودی ابزار Union باید از کلاسهای ویژگی چندضلعی تشکیل شده باشد، بنابراین گزینههای انتخاب و مرور فقط کلاسهای ویژگی چندضلعی را نشان میدهند.
همچنین می توانید با کشیدن لایه های داده از قسمت Contents یا Catalog پارامترها را مشخص کنید.
یک جعبه محاوره ای مثال را در نظر بگیرید که پارامترهای آن تکمیل شده است. ویژگی های ورودی شامل یک کلاس ویژگی به نام جاده ها است که توسط یک کلاس ویژگی به نام مناطق بریده می شود. کلاس ویژگی خروجی یک کلاس ویژگی به نام roads_clip است. تلورانس XY خالی می ماند، به این معنی که مقدار پیش فرض بر اساس تحمل XY مجموعه داده است.
توجه: مسیر کامل کلاس ویژگی نشان داده نمی شود. وقتی داخل پارامتر کلیک می کنید، اگر مجموعه داده ای از دیسک انتخاب شده باشد، مسیر کامل نشان داده می شود. هنگام استفاده از لایه ها در نقشه فعلی، فقط نام یک لایه ویژگی نشان داده می شود. پسوندهای فایل، مانند .shp، زمانی که پارامتر به عنوان یک لایه ویژگی در نقشه فعلی مشخص می شود، تنها زمانی که به عنوان یک کلاس ویژگی روی دیسک مشخص شده باشد، نشان داده نمی شوند.
وقتی روی Run کلیک می کنید، ابزار Clip اجرا می شود. نوار پیشرفت در پایین ظاهر می شود و اجرای ابزار را نشان می دهد. پس از تکمیل، یک پیام تأیید با یک علامت تیک و دو پیوند ظاهر می شود: مشاهده جزئیات و باز کردن تاریخچه.
پیوند View Details خلاصهای از اجرای ابزار شامل پارامترها و پیامهای geoprocessing را نشان میدهد. این خلاصه به ویژه در مواقعی که هشدارها یا خطاهایی وجود دارد مفید است.
صفحه History فهرست کاملی از تمام ابزارهای پردازش جغرافیایی که در جلسه جاری اجرا شده اند را نشان می دهد.
مکث کردن مکان نما روی یک ورودی در تاریخچه یا کلیک کردن بر روی آن، همان اطلاعاتی را برای یک ابزار جداگانه به عنوان پیوند مشاهده جزئیات نشان می دهد. با دوبار کلیک کردن روی یک ورودی، کادر محاورهای ابزار با پارامترهایی که از قبل پر شدهاند باز میشود. بررسی تاریخچه پردازش جغرافیایی می تواند از چندین جهت ارزشمند باشد. ابتدا میتوانید پارامترهایی را که برای اجرای یک ابزار استفاده شدهاند بررسی کنید. پس از اجرای بسیاری از ابزارها، به راحتی می توان تمام پارامترهایی را که استفاده کردید فراموش کرد. دوم، می توانید همان ابزار را دوباره مستقیماً از تاریخچه اجرا کنید. کادر محاوره ای ابزار با همان پارامترهای قبلی پر می شود و می توانید از همین پارامترها استفاده کنید یا آنها را تغییر دهید. در نهایت، می توانید هر پیام هشدار یا خطا را بررسی کنید. تاریخچه ژئوپردازش به عنوان بخشی از پروژه ذخیره می شود، بنابراین می توانید در آینده به آن بازگردید.
هنگامی که یک ابزار کار به پایان می رسد، کلاس ویژگی به دست آمده به طور پیش فرض به عنوان یک لایه ویژگی به محتوای نقشه فعلی اضافه می شود. با این حال، همه ابزارها خروجی هایی را ایجاد نمی کنند که بتوان آنها را به نقشه اضافه کرد. به عنوان مثال، ابزار Get Count تنها یک پارامتر ورودی دارد که یک کلاس ویژگی یا جدول است.
شرح
یک پارامتر ردیف ورودی است که جاده ها به عنوان کلاس ویژگی هستند.
خروجی تعداد سطرها در کلاس یا جدول ویژگی ورودی است.
در این حالت تنها راه دیدن نتیجه اجرای ابزار بررسی خلاصه اجرای ابزار است.
چند لحظه وقت بگذارید و دوباره پارامترهای ابزار را در کادر محاوره ای ابزار مرور کنید. هنگامی که یک پارامتر نادرست مشخص می شود، یک نماد خطا ظاهر می شود.
مکث مکان نما روی نماد، توضیح مختصری را نشان می دهد، در حالی که با کلیک بر روی نماد، پیام خطای دقیق تری ظاهر می شود. در این مورد، ویژگی های کلیپ وجود ندارد.
گاهی اوقات یک علامت هشدار ظاهر می شود که نشان می دهد اجرای ابزار ممکن است منجر به نتایج نامطلوب شود.
یک پیام هشدار مانع از اجرای ابزار نمی شود، اما ممکن است بخواهید قبل از اجرای ابزار، هشدار را مرور کنید. در این مورد، مجموعه داده خروجی از قبل وجود دارد و اگر ابزار اجرا شود، بازنویسی خواهد شد.
این پیام رایج است. هنگامی که یک ابزار اجرا می شود، کادر محاوره ای ابزار باز می ماند و پارامترهای ابزار همچنان با همان مقادیر پر می شوند. از آنجا که ابزار ویژگی های خروجی را ایجاد کرده است، کلاس ویژگی از قبل وجود دارد.
توجه داشته باشید:بازنویسی نتایج geoprocessing گزینه ای در زیر گزینه های Geoprocessing است. پیشفرض روشن است، به این معنی که تلاش برای بازنویسی مجموعه دادههای موجود منجر به هشدار میشود، اما ابزار اجرا میشود و مجموعه دادههای موجود را بازنویسی میکند. هنگامی که گزینه خاموش است، یک پیام خطا ارائه می شود و ابزار اجرا نمی شود.
3.6تعیین تنظیمات محیط
عملیات ژئوپردازش تحت تأثیر تنظیمات محیطی است. این تنظیمات مانند پارامترهای اضافی هستند که بر نحوه اجرای یک ابزار تأثیر می گذارند. می توانید Environments را از تب Analysis مشاهده کنید. کادر محاورهای Environments به شما امکان میدهد تا محیطها را برای تمام عملیاتهای پردازش جغرافیایی مشاهده و تنظیم کنید.
تنظیمات زیادی وجود دارد، اما یکی از مهمترین آنها فضای کاری فعلی است. اکثر ابزارهای پردازش جغرافیایی از مجموعه داده ها به عنوان ورودی استفاده می کنند و سپس مجموعه داده های جدید را خروجی می کنند. یک فضای کاری شامل مسیری است که این مجموعه داده ها در آن قرار دارند. نام مسیرها و فایلهای کامل مجموعه دادهها میتواند بسیار طولانی باشد – برای مثال، C:\Data\project_A12\water\final.gdb\roads. پس از تنظیم فضای کاری شما، باید فقط نام پایه را در کادر محاوره ای ابزار مشخص کنید. در مثال قبلی، فضای کاری را روی C:\Data\project_A12\water\final.gdb تنظیم میکنید، و سپس هنگام تعیین پارامترهای ابزار، فقط نام پایه «roads» را وارد میکنید. این میانبر باعث می شود که مجبور نباشید این مسیرهای طولانی را هر بار تایپ کنید (و احتمالاً اشتباهات تایپی را معرفی کنید). پس از اینکه فضای کاری فعلی خود را تنظیم کردید، زمانی که فایلی را روی دیسک جستجو می کنید، مکان پیش فرض است.
نمونه ای از یک فضای کاری فعلی در شکل نشان داده شده است.
پس از تنظیم فضای کاری، می توانید یک کلاس ویژگی را در داخل این فضای کاری با تایپ کردن نام پایه کلاس ویژگی مشخص کنید. پس از وارد کردن نام های پایه و قرار دادن مکان نما در داخل پارامتر، مسیر کامل ظاهر می شود.
فضای کاری فعلی برای مجموعه داده های ورودی و خروجی اعمال می شود. فضاهای کاری معتبر شامل پوشه ها (برای مجموعه داده های مستقل مانند فایل های شکل)، پایگاه های جغرافیایی، و مجموعه داده های ویژگی پایگاه داده جغرافیایی است. فضای کاری پیشفرض، پایگاه جغرافیایی پیشفرض پروژه است.
دو نوع فضای کاری وجود دارد: (1) فضای کاری فعلی، که به طور پیش فرض مشخص می کند که ورودی ها از کجا گرفته می شوند و خروجی ها در کجا قرار می گیرند. و (2) فضای کاری scratch که عمدتاً توسط ابزارهای مدل و اسکریپت برای نوشتن داده های میانی استفاده می شود.
همچنین تنظیماتی برای انواع داده های خاص (مانند پایگاه داده جغرافیایی، شطرنجی یا TIN [شبکه نامنظم مثلثی]) و انواع خاصی از توابع (مانند تجزیه و تحلیل زمین آماری) وجود دارد. به طور معمول، شما باید تنها تعداد کمی از این محیط ها را برای یک گردش کار تنظیم کنید، زیرا بسیاری از آنها برای داده ها و ابزارهایی که استفاده می کنید اعمال نمی شوند.
محیط ها همیشه در کار هستند. به عبارت دیگر، حتی اگر آنها را مشخص نکنید، مقادیر پیشفرضی دارند که هنگام اجرای یک ابزار استفاده میشوند. برای مثال سیستم مختصات خروجی پیش فرض همان ورودی است. بنابراین، هنگامی که یک ابزار را اجرا می کنید، سیستم مختصات تغییر نمی کند، مگر اینکه در کادر محاوره ای Environments چیز دیگری را مشخص کنید.
محیطها را میتوان در سطوح مختلفی مشخص کرد و این فرآیند دارای سلسله مراتب خاصی است:
- سطح اول برنامه است. در تب Analysis، روی Environments کلیک کنید تا کادر محاوره ای Environments ظاهر شود. هر گونه تنظیمات ایجاد شده در اینجا به ابزارهای پردازش جغرافیایی که توسط برنامه فراخوانی می شوند منتقل می شود.
- سطح دوم ابزار فردی است. هر جعبه محاوره ای ابزار دارای یک تب Environments است. وقتی روی این برگه کلیک میکنید، فقط محیطهایی که مربوط به ابزار هستند نشان داده میشوند. هر تنظیماتی که در اینجا ایجاد می شود فقط برای اجرای فعلی ابزار اعمال می شود و این تنظیمات به طور موقت تنظیمات ارسال شده توسط برنامه را از کادر محاوره ای Environments لغو می کند. این تنظیمات در ابزار ذخیره نمیشوند، بلکه فقط برای یک اجرای ابزار اعمال میشوند.
- سطح سوم یک مدل است. محیط ها را می توان به عنوان بخشی از ویژگی های مدل ایجاد کرد. هر تنظیماتی که در مدل ایجاد می شود، تنظیماتی را که توسط تنظیمات برنامه انجام می شود لغو می کند. محیط های مدل به عنوان بخشی از مدل ذخیره می شوند.
- سطح چهارم و آخر یک فیلمنامه است. تنظیمات محیط را میتوان در یک اسکریپت پایتون کدگذاری کرد و این تنظیمات تنظیماتی را که برنامه یا جعبه محاورهای ابزار ارسال میکند لغو میکند. این تنظیمات به عنوان بخشی از کد پایتون در فایل اسکریپت ذخیره می شوند.
به طور کلی، محیط ها در این سیستم سلسله مراتبی منتقل می شوند، اما شما می توانید این تنظیمات را در هر سطح لغو کنید. در عمل، شما معمولاً چند تنظیمات محیطی را در سطح برنامه تنظیم می کنید و تنها در صورتی از سطوح پایین تر استفاده می کنید که دلیل خاصی برای این کار وجود داشته باشد. به عنوان مثال، زمانی که شما نیاز دارید که سیستم مختصات خروجی فقط برای یک ابزار با بقیه تجزیه و تحلیل شما متفاوت باشد، می توانید محیط را در سطح آن ابزار تنظیم کنید.
ابزارهای اسکریپت پایتون و جعبه ابزار پایتون در برنامه ArcGIS Pro اجرا می شوند و در نتیجه تنظیمات محیط از برنامه به این ابزارها منتقل می شود. با این حال، اسکریپتهای پایتون مستقل که جدا از ArcGIS Pro اجرا میشوند، تنظیمات محیطی برنامه را تشخیص نمیدهند. در نتیجه، یک اسکریپت مستقل ممکن است به کد نیاز داشته باشد تا به طور خاص تنظیمات محیط مربوطه را مورد توجه قرار دهد.
3.7استفاده از پردازش دسته ای و نامگذاری پویا
بیشتر ابزارها از تعداد محدودی مجموعه داده ورودی استفاده می کنند. برای مثال، ابزار Clip تنها از یک کلاس ویژگی ورودی استفاده میکند و آن را با استفاده از یک کلاس ویژگی کلیپ تکی برش میدهد. اگر بخواهید همان ابزار را با استفاده از تنظیمات مشابه در مجموعه داده های ورودی مختلف اجرا کنید، چه؟ این جایی است که پردازش دسته ای وارد می شود. در زمینه ژئوپردازش در ArcGIS Pro، پردازش دسته ای به معنای اجرای یک ابزار واحد چندین بار با استفاده از پارامترهای مختلف بدون دخالت بیشتر است.
اکثر ابزارهای پردازش جغرافیایی می توانند در حالت دسته ای اجرا شوند. منطق پردازش دسته ای این است که یک ابزار چندین بار با تغییرات جزئی در پارامترها اجرا می شود. هر اجرا یک تکرار نامیده می شود. در مورد کلاسهای ویژگی ورودی چندگانه که هر کدام نیاز به پردازش دارند، ابزار دستهای روی همه این کلاسهای ویژگی ورودی تکرار میشود و کار یکسانی را روی هر یک انجام میدهد.
برای نمایش نسخه دسته ای یک ابزار geoprocessing، از لیست ابزارهای موجود در پنجره Geoprocessing، روی یک ابزار راست کلیک کرده و روی Batch کلیک کنید.
نام ابزار با نسخه دسته ای جایگزین می شود – به عنوان مثال، Batch Clip برای ابزار Clip.
برای ابزارهایی با پارامترهای ورودی چندگانه، باید انتخاب کنید که کدام پارامتر به عنوان پارامتر دسته ای استفاده شود. شما فقط می توانید یکی را انتخاب کنید. به عنوان مثال، در مورد ابزار Clip، میتوانید از چندین کلاس ویژگی ورودی برای کلیپ کردن با یک کلاس ویژگی کلیپ یا یک کلاس ویژگی ورودی برای کلیپ با کلاسهای ویژگی چندگانه کلیپ استفاده کنید، اما نه از هر دو.
میتوانید انتخاب کنید که یک ابزار دستهای موقت بسازید یا ابزار دستهای را در جعبه ابزار ذخیره کنید. اگر پیشبینی میکنید که یک نوع پردازش دستهای را چندین بار انجام دهید، دومی گزینه خوبی خواهد بود.
در پنل بعدی کادر محاوره ای، پارامترهای ابزار را وارد می کنید. جعبه محاوره ای ابزار دسته ای تقریباً شبیه نسخه معمولی همان ابزار است، اما اکنون چندین ورودی برای پارامتر دسته ای انتخاب شده وجود دارد. شکل نمونه ای از کادر محاوره ای ابزار دسته ای تکمیل شده را نشان می دهد.
ورودی های دسته ای یک به یک وارد می شوند. هر بار که مقداری را وارد می کنید، یک ردیف خالی جدید برای وارد کردن مقدار بعدی ایجاد می شود. برای پارامترهای دیگر، شما فقط یک مقدار را ارائه میدهید که مانند ابزار معمولی است. خروجی ها در این مورد نیاز به بررسی خاصی دارند. ابزار Batch Clip یک کلاس ویژگی خروجی برای هر کلاس ویژگی ورودی ایجاد می کند. برای جلوگیری از وارد کردن یک نام منحصر به فرد برای هر خروجی، از تکنیک نامگذاری خاصی به نام نامگذاری پویا استفاده می شود. این تکنیک از متغیر %Name% در نام کلاس ویژگی خروجی استفاده می کند. این تکنیک به این معنی است که قسمت اول نام از کلاس ویژگی ورودی و به دنبال آن بقیه نام – در این مثال، _clip به دست میآید. در مثال، کلاسهای ویژگی ورودی جادهها، رودخانهها و خاکها و کلاسهای ویژگی خروجی مربوطه roads_clip نامیده میشوند. رودخانه_گیره و خاک_گیره. اگر از متغیر %Name% استفاده نشود، ابزار با هر تکرار همان کلاس ویژگی خروجی را ایجاد میکند و به طور مؤثر نتایج قبلی را بازنویسی میکند.
نامگذاری پویا با استفاده از %Name% متکی به تکنیکی است که به عنوان جایگزینی متغیر درون خطی شناخته می شود. در واقع، مقدار متغیر با مقدار دیگری جایگزین می شود. این در ModelBuilder استفاده می شود و در اینجا برای ابزارهای پردازش دسته ای اعمال می شود.
نامگذاری پویا فقط برای نام کلاس های ویژگی یا مجموعه داده های شطرنجی اعمال نمی شود. همچنین می توانید سایر عناصر خروجی از جمله فضاهای کاری، مسیرهای کاتالوگ و پسوند فایل را مشخص کنید. متغیر %Workspace Name% به شما امکان می دهد فضای کاری یا نام پوشه را مشخص کنید. این بدان معناست که برای مثال، هر خروجی را می توان در پوشه خود ذخیره کرد. متغیر %Path% به شما امکان می دهد مکان کاتالوگ را مشخص کنید—یعنی هر بخشی از مسیر به غیر از نام مجموعه داده. متغیر %Extension% امکان تعیین پسوندهای مختلف فایل را فراهم می کند.
توجه داشته باشید:متغیر %Name% لازم نیست در ابتدای نام کلاس ویژگی باشد. به عنوان مثال، کلاس ویژگی خروجی را می توان output_%Name نامید.
همه ابزارهای دسته ای به نامگذاری پویا نیاز ندارند. برای مثال ابزار Add Field را در نظر بگیرید. اجرای این ابزار در حالت دسته ای به شما امکان می دهد همان فیلد جدید را به بسیاری از کلاس های ویژگی ورودی اضافه کنید. از آنجایی که ابزار هر کلاس ویژگی ورودی را به روز می کند، هیچ فایل خروجی برای نامگذاری وجود ندارد.
اجرای یک ابزار در حالت دسته ای می تواند برای راه اندازی بسیاری از وظایف پردازش جغرافیایی مفید باشد. اگرچه پر کردن ابزار دسته ای نیازمند تلاش است، پس از پر شدن مقادیر پارامتر دسته ای، ابزار چندین بار بدون ورودی اضافی کاربر در حالت دسته ای اجرا می شود. با این حال، اجرای یک ابزار در حالت دسته ای، زمان لازم برای اجرای یک ابزار را کاهش نمی دهد. به عنوان مثال، اجرای ابزار Clip در حالت دستهای با استفاده از 20 کلاس ویژگی ورودی، به همان اندازه زمان میبرد که 20 بار ابزار مستقل Clip را با پارامترهای یکسان اجرا کنید. زمان با راه اندازی سریعتر ذخیره می شود، نه با اجرای سریعتر ابزار.
حالت دسته ای برای همه ابزارهای پردازش جغرافیایی در دسترس نیست. مهمتر از همه، برخی از ابزارها در حال حاضر با مجموعه داده های ورودی متعدد کار می کنند – به عنوان مثال، Intersect و Union. برای این ابزارها، گزینه دسته ای کم رنگ است.
برخی از ابزارها به شما امکان می دهند چندین ورودی را پردازش کنید، اما همچنان می توان آنها را در حالت دسته ای اجرا کرد. ابزار Cell Statistics را در حوزه شطرنجی در نظر بگیرید. این ابزار به شما امکان می دهد چندین شطرنجی مختلف را وارد کنید و یک آمار همپوشانی خاص را بر اساس هر سلول محاسبه کنید.
در حالت دسته ای، رسترهای ورودی را نمی توان به عنوان پارامتر دسته ای استفاده کرد، اما در عوض می توان از آماره همپوشانی استفاده کرد. حالت دسته ای به شما امکان می دهد تا آمارهای متعددی را برای شطرنج های ورودی چندگانه تعیین کنید.
در اینجا از نامگذاری پویا برای ثبت نام آمار همپوشانی استفاده می شود. در مثال، پس از اجرای ابزار، رسترهای خروجی “statistics_MEAN”، “statistics_MAXIMUM” و “statistics_MINIMUM” نامیده می شوند.
به یاد داشته باشید که هنگام تنظیم یک ابزار برای اجرا در حالت دستهای، میتوانید یک ابزار دستهای موقت بسازید یا ابزار دستهای را در جعبه ابزار ذخیره کنید. ذخیره ابزار دسته ای امکان استفاده مجدد از همان ابزار را بعداً ممکن می سازد. همچنین این امکان را فراهم می کند تا نگاه دقیق تری به نحوه کار ابزارهای دسته ای بیندازید. مثال قبلی استفاده از ابزار Batch Clip برای پردازش سه کلاس ویژگی ورودی را در نظر بگیرید. ابزار دسته ای در یک فایل جعبه ابزار سفارشی ذخیره می شود.
پس از اجرای ابزار، ابزار به عنوان ابزار مدل به جعبه ابزار اضافه می شود. همه ابزارهای دسته ای در واقع به عنوان مدل ایجاد می شوند، صرف نظر از اینکه به عنوان یک ابزار موقت ایجاد شده باشند یا در جعبه ابزار ذخیره شوند. گزینه دوم مکان یابی ابزار مدل را پس از اجرای ابزار آسان تر می کند و می توان از آن در پروژه های دیگر استفاده کرد.
با دوبار کلیک کردن بر روی ابزار مدل، ابزار Batch Clip با پارامتر دسته ای انتخاب شده ظاهر می شود، اما مقادیر پارامتر حفظ نمی شوند.
ژئوپردازش دستهای خودکار کردن برخی وظایف را آسانتر میکند، اما محدودیتهایی وجود دارد. اول، تنها یک پارامتر ابزار را می توان به عنوان پارامتر دسته ای استفاده کرد. دوم، مقادیر پارامتر دسته ای باید یک به یک وارد شوند. بنابراین، پردازش دسته ای برای پردازش تعداد نسبتاً کمی از مجموعه داده ها مفید است، اما برای اعداد زیاد گزینه واقعی نیست. از طرف دیگر اسکریپت نویسی پایتون چنین محدودیتی ندارد.
علاوه بر اجرای ابزارهای geoprocessing معمولی در حالت دسته ای، تعداد انگشت شماری از ابزارهای سیستم دسته ای خاص وجود دارد. به عنوان مثال، جعبه ابزار مدیریت داده حاوی ابزار Project است که یک کلاس ویژگی جدید با یک سیستم مختصات متفاوت از کلاس ویژگی ورودی ایجاد می کند. ابزار Project تنها از یک کلاس ویژگی ورودی استفاده می کند. از سوی دیگر، ابزار Batch Project نسخه دستهای این ابزار است و امکان کلاسهای ویژگی ورودی متعدد را فراهم میکند. همین کار را می توان با اجرای ابزار Project در حالت دسته ای انجام داد، اما کنترل های پارامتر کمی متفاوت است.
از دیگر ابزارهای سیستم دسته ای می توان به اهرام ساخت دسته ای و آمار محاسبه دسته ای اشاره کرد. همه این ابزارهای سیستم دسته ای به عنوان ابزارهای اسکریپت نوشته شده اند.
3.8استفاده از مدل ها و ModelBuilder
اجرای ابزارهای منفرد یک راه عملی برای انجام برخی وظایف GIS است. با این حال، در یک گردش کار معمولی GIS، شما اغلب نیاز به اجرای دنباله ای از ابزارها برای به دست آوردن نتیجه دلخواه دارید. شما می توانید به سادگی با اجرای یک ابزار در یک زمان، دنباله را اجرا کنید، اما این فرآیند دارای محدودیت هایی است، به خصوص اگر گردش کار شما طولانی و تکراری باشد. ModelBuilder یک رویکرد برای ایجاد این دنباله از ابزارها است که به موجب آن خروجی یک ابزار به ورودی ابزار دیگر تبدیل می شود. ModelBuilder مانند یک زبان برنامه نویسی بصری است – به جای استفاده از دستورالعمل های متنی، از فلوچارت بصری برای توالی وظایف ژئوپردازش استفاده می کند. یک مدل در این زمینه، یک نمایش بصری از یک دنباله از وظایف ژئوپردازش است. در ArcGIS Pro، مدلها ابزار هستند و پس از ایجاد، مانند هر ابزار دیگری کار میکنند.
شما می توانید از هر سیستم یا ابزار سفارشی در مدل خود استفاده کنید و محدودیتی برای تعداد ابزارهایی که می توانید در یک مدل استفاده کنید وجود ندارد. مدلها میتوانند مدلهای دیگری را نیز شامل شوند (زیرا مدلها ابزار هستند)، و میتوانید از حلقههای تکرار و شرایط برای کنترل جریان یک مدل استفاده کنید.
قبل از اینکه به نحوه ایجاد و اجرای یک مدل نگاه کنید، ابتدا با عناصر اساسی یک مدل آشنا شوید. عناصر اجزای سازنده یک مدل هستند. چندین نوع عنصر وجود دارد: ابزارها، متغیرهای داده، متغیرهای ارزش و رابط.
ابزارهای ژئوپردازش بلوک های اصلی یک مدل هستند. ابزارها عملیات ژئوپردازش را بر روی داده های جغرافیایی انجام می دهند. متغیرهای داده به داده ها روی دیسک (یا یک لایه در نقشه) ارجاع می دهند. متغیرهای داده می توانند ورودی یا خروجی باشند. متغیرهای مقدار مواردی مانند رشته ها، اعداد، مقادیر بولی (درست یا نادرست)، ارجاعات فضایی، واحدهای خطی و وسعت هستند. به طور خلاصه، متغیرهای مقدار شامل هر چیزی جز ارجاع به داده های روی دیسک هستند. متغیرها را می توان هم به عنوان ورودی و هم به عنوان خروجی ابزار استفاده کرد. داده های مشتق شده یا خروجی یک ابزار، به ورودی ابزار دیگری تبدیل می شود.
داده ها و مقادیر توسط کانکتورها به ابزارها متصل می شوند. فلش های رابط جهت وظایف ژئوپردازش را نشان می دهد. چهار نوع کانکتور وجود دارد: (1) کانکتورهای داده، که داده ها و متغیرهای مقدار را به ابزار متصل می کنند. (2) کانکتورهای محیطی، که یک متغیر حاوی تنظیمات محیطی را به یک ابزار متصل می کنند. (3) اتصال دهنده های پیش شرط، که یک متغیر را به یک ابزار متصل می کند. و (4) اتصال دهنده های بازخورد، که خروجی یک ابزار را به همان ابزار یا ابزار قبلی به عنوان ورودی متصل می کند.
اتصال دهنده ها فرآیندهای مدل را ایجاد می کنند. یک فرآیند مدل شامل حداقل یک ابزار و متغیرهای متصل به ابزار است. فلش های رابط دنباله پردازش را مشخص می کند. یک مدل معمولی شامل چندین فرآیند متصل است. مدل های پیچیده می توانند شامل صدها فرآیند باشند.
ایجاد یک مدل و ابزارهای در حال اجرا در ModelBuilder شامل چندین مرحله است:
- یک مدل جدید ایجاد کنید.
- داده ها و ابزارها را به مدل اضافه کنید.
- اتصالات ایجاد کنید و پارامترهای ابزار را پر کنید.
- مدل را ذخیره کنید.
- مدل را اجرا کنید.
- نتایج مدل را بررسی کنید.
هر یک از این مراحل با جزئیات بیشتری توضیح داده شده است، از جمله مثالی به شرح زیر.
ایجاد یک مدل جدید:دو راه اصلی برای ایجاد یک مدل جدید وجود دارد: (1) از تب Analysis در ArcGIS Pro، میتوانید روی دکمه ModelBuilder کلیک کنید. یا (2) می توانید روی یک جعبه ابزار در صفحه کاتالوگ کلیک راست کنید و سپس روی New > Model کلیک کنید که یک مدل خالی جدید در ModelBuilder باز می شود.
داده ها و ابزارها را به مدل اضافه کنید:میتوانید با کشیدن لایهها از قسمت Contents یا مجموعههای داده روی دیسک از پنجره Catalog به پنجره Model، دادهها را به مدل اضافه کنید. می توانید با استفاده از پیکان کشویی Tools در تب ModelBuilder و جستجوی یک ابزار با نام، ابزارهایی را به مدل اضافه کنید. همچنین می توانید ابزارها را با کشیدن آنها از قسمت Geoprocessing اضافه کنید. در مدل شکل، یک کلاس ویژگی به نام جاده ها به عنوان عنصر داده و ابزار Buffer به عنوان ابزار اضافه شده است. از آنجا که خروجی ابزار Buffer یک کلاس ویژگی جدید است، به طور خودکار به عنوان یک عنصر داده مشتق شده اضافه می شود.
اتصالات ایجاد کنید و پارامترهای ابزار را پر کنید:هنگامی که در ابتدا ابزارها و داده ها را به یک مدل می کشید، فرآیند آماده اجرا نیست زیرا مقادیر پارامتر مورد نیاز مشخص نشده است. وقتی هر بخشی از یک فرآیند در مدل خاکستری به نظر می رسد، به این معنی است که پارامترها هنوز وجود ندارند. پارامترها را میتوان با باز کردن کادر محاورهای ابزار برای هر ابزار، و سپس تعیین پارامترهای ابزار مانند هر ابزاری مشخص کرد. تنظیم پارامترها، فلشهای اتصال یا رابطها را بین مجموعه دادهها و ابزارها ایجاد میکند. هنگامی که تمام پارامترهای مورد نیاز برای یک فرآیند تنظیم شدند، عناصر فرآیند مدل به رنگ خاصی تبدیل میشوند تا نشان دهند که آماده اجرا هستند.
ذخیره مدل:با کلیک بر روی Save در تب ModelBuilder می توانید مدل خود را ذخیره کنید. برای تغییر نام مدل و برچسب آن روی Properties کلیک کنید.
مدل را اجرا کنید:پس از مشخص شدن تمام پارامترها، مدل آماده اجرا است. با کلیک روی Run در تب ModelBuilder می توانید کل مدل را اجرا کنید. همچنین می توانید با کلیک راست بر روی یک ابزار و کلیک بر روی Run یک فرآیند را به تنهایی اجرا کنید. یک کادر محاوره ای پیشرفت مدل، پیشرفت انجام شده در اجرای ابزارهای موجود در مدل را نشان می دهد. هنگامی که اجرای مدل کامل شد، عناصر مدل (به غیر از ورودی داده ها) دارای سایه هایی هستند که نشان می دهد ابزارها اجرا شده اند و مجموعه داده های خروجی ایجاد شده اند.
نتایج مدل را بررسی کنید:به طور پیش فرض، مجموعه داده های خروجی ایجاد شده توسط یک مدل، متوسط در نظر گرفته می شوند، به این معنی که در دیسک ذخیره می شوند اما به طور خودکار به نقشه اضافه نمی شوند. برای بررسی نتیجه مدل، میتوانید روی عنصر مدل که حاوی مجموعه داده خروجی است کلیک راست کنید و روی Add To Display کلیک کنید، که مجموعه داده را به نقشه فعلی اضافه میکند تا بتوانید نتیجه را بررسی کنید.
ابزارها و داده های اضافی را می توان با استفاده از مراحل مشابه به مدل اضافه کرد. در مدل مثال در شکل، لایه جاده ها بافر شده است و سپس با لایه ای به نام floodzones تقاطع می یابد. سپس نتیجه تقاطع با استفاده از یک لایه حوضه بریده می شود.
یک مدل در ModelBuilder به عنوان فلوچارت بصری دنباله ای از ابزارهای پردازش جغرافیایی عمل می کند. رابط ModelBuilder یک راه بصری برای ایجاد این دنباله ارائه می دهد. نکته کلیدی این است که یک مدل ابزاری در جعبه ابزار است که امکان ذخیره مدل را برای استفاده در آینده و به اشتراک گذاری آن با دیگران فراهم می کند. مدل توسعه یافته تا کنون نسبتا ساده است. با این حال، محدودیتی برای تعداد مجموعه داده ها و ابزارهایی که می توان در یک مدل واحد استفاده کرد وجود ندارد. مدل های پیچیده می توانند شامل بسیاری از وظایف ژئوپردازش شوند.
از جمله مزایای استفاده از مدل ها برای ایجاد گردش کار ژئوپردازش:
- ModelBuilder یک رابط بصری برای ایجاد گردش کار فراهم می کند.
- مدلها مکانیزم کارآمدی برای مستندسازی گردشهای کاری ارائه میکنند.
- مدل ها را می توان در جعبه ابزار سازماندهی کرد و با دیگران به اشتراک گذاشت.
از آنجایی که یک مدل ابزاری در جعبه ابزار است، می توان آن را برای اجرا در یک زمان خاص برنامه ریزی کرد. هنگامی که روی Run در جعبه محاوره ای ابزار کلیک می کنید، به طور پیش فرض ابزار بلافاصله اجرا می شود. همچنین میتوانید برای برنامهریزی زمان اجرای ابزار، روی فلش کشویی سمت راست دکمه Run کلیک کنید.
زمانبندی شامل گزینههایی برای اجرای ابزار در یک فرکانس خاص است – به عنوان مثال، هر روز در یک زمان خاص. صفحه History تمام ابزارهایی را که برای اجرا برنامه ریزی شده اند فهرست می کند. این گزینههای زمانبندی برای هر ابزار پردازش جغرافیایی اعمال میشود، نه فقط ابزارهای مدل. همچنین میتوانید یک مدل را با نوشتن یک اسکریپت پایتون که جعبه ابزار حاوی مدل را وارد میکند، برنامهریزی کنید و سپس اسکریپت را برای اجرا در زمان خاصی برنامهریزی کنید تا مدل به عنوان بخشی از اسکریپت اجرا شود.
جزئیات بیشتری برای یادگیری در مورد ModelBuilder وجود دارد که از حوصله این کتاب خارج است. صفحات راهنمای ArcGIS Pro مستندات گسترده ای را در مورد ModelBuilder ارائه می کنند.
یک مدل را می توان با کلیک کردن بر روی Export در تب ModelBuilder به یک اسکریپت پایتون صادر کرد. یک مدل می تواند به یک فایل پایتون (.py) صادر شود، یا می توان آن را به پنجره پایتون فرستاد. صادرات یک مدل به کد پایتون میتواند برای یادگیری نحوه استفاده از ابزارها و محیطها در پایتون مفید باشد، اما محدودیتهایی وجود دارد زیرا همه عملکردها در ModelBuilder به طور کامل به پایتون ترجمه نمیشوند. به عنوان مثال، ابزارهای مدل خاص و جایگزینی متغیر درون خطی باید با عملکرد معادل پایتون جایگزین شوند. به دلیل این تفاوت ها در عملکرد، امکان صادرات کد پایتون به یک مدل وجود ندارد.
3.9با استفاده از اسکریپت نویسی
همانطور که از ModelBuilder می توان برای ایجاد مدل هایی استفاده کرد که دنباله ای از ابزارها را اجرا می کنند، یک زبان برنامه نویسی نیز می تواند برای ایجاد و اجرای این دنباله استفاده شود. یادگیری زبان های اسکریپت نسبتا آسان است و زبان برنامه نویسی مورد استفاده در ArcGIS Pro Python است.
اسکریپت ها مشابه مدل ها هستند: ModelBuilder برای ایجاد مدل ها و Python برای ایجاد اسکریپت ها استفاده می شود. ModelBuilder یک زبان برنامه نویسی بصری است و Python یک زبان برنامه نویسی مبتنی بر متن است. و همانطور که مدل ها ابزارهایی در ArcGIS Pro هستند، اسکریپت ها نیز می توانند ابزار باشند. هنگامی که یک اسکریپت ایجاد می شود، می تواند به ابزاری تبدیل شود که می توانید آن را به تنهایی اجرا کنید یا در یک مدل یا اسکریپت دیگر استفاده کنید. اسکریپت ها همچنین می توانند به عنوان اسکریپت های مستقل، خارج از ArcGIS Pro اجرا شوند. در این مورد، آنها ابزارهای پردازش جغرافیایی نیستند، اما اضافه کردن یک اسکریپت به عنوان ابزار اسکریپت در صورت نیاز به جعبه ابزار نسبتا آسان است.
اگر مدلها و اسکریپتها خیلی شبیه هم هستند، چرا به جای مدل از یک اسکریپت استفاده میکنیم؟ ModelBuilder روشی بصری برای ایجاد ابزار و یادگیری نسبتا آسان برای کاربر مبتدی ArcGIS Pro است. این نیاز به تجربه برنامه نویسی ندارد و نحو کمی برای یادگیری وجود دارد. با استفاده از مدلهایی که در ModelBuilder ایجاد شدهاند، میتوان بسیاری از گردشهای کاری geoprocessing را انجام داد. این مدل ها را می توان به اشتراک گذاشت و تغییر داد. با این حال، ModelBuilder دارای محدودیتهای خاصی است و برخی از عملیات پیچیدهتر ژئوپردازش را نمیتوان با یک مدل به تنهایی انجام داد. برخی از کارهای خاصی که می توانید با یک اسکریپت انجام دهید که با یک مدل امکان پذیر نیست شامل موارد زیر است:
- برخی از کارهای سطح پایین فقط در اسکریپت ها امکان پذیر است. به عنوان مثال، نشانگرها به شما اجازه میدهند تا رکوردهای یک جدول را حلقه بزنید، ردیفهای موجود را بخوانید و ردیفهای جدید را وارد کنید.
- اسکریپت به منطق برنامه نویسی پیشرفته تری مانند مدیریت خطای پیشرفته و استفاده از ساختارهای داده پیشرفته تر اجازه می دهد. بسیاری از زبانهای اسکریپتنویسی، از جمله پایتون، با بستههای اضافی که توابع پیشرفتهتری را ارائه میکنند، توسعه یافتهاند.
- از اسکریپت می توان برای بسته بندی نرم افزارهای دیگر – یعنی برای چسباندن برنامه ها به هم استفاده کرد. این قابلیت ادغام نرم افزارهای مختلف را تسهیل می کند. به عنوان مثال، پایتون را می توان برای دسترسی به عملکرد در مایکروسافت اکسل یا در محیط نرم افزار آماری R استفاده کرد.
- یک اسکریپت می تواند به عنوان یک اسکریپت مستقل روی دیسک خارج از ArcGIS Pro اجرا شود. در بیشتر موارد، شما هنوز باید ArcGIS Pro را روی رایانه خود نصب کرده باشید، اما ArcGIS Pro برای کار کردن اسکریپت نیازی به اجرا ندارد.
اسکریپت های پایتون را می توان با استفاده از ویرایشگر پایتون ایجاد و اجرا کرد. همچنین می توانید کد پایتون را در پنجره پایتون ArcGIS Pro اجرا کنید. پنجره پایتون مانند یک مفسر تعاملی عمل می کند و کد بلافاصله اجرا می شود.
برای اجرای یک ابزار در پایتون، نام ابزار و سپس پارامترهای آن را تایپ کنید. به عنوان مثال، کد پایتون نشان داده شده در شکل، ابزار Clip را اجرا می کند.
شرح
کد پایتون: arcpy.Clip_analysis(‘rivers’, ‘basin’, ‘rivers_clip’).
نتیجه در پنجره پایتون چاپ می شود و کلاس ویژگی حاصل به نقشه فعلی اضافه می شود.
توجه داشته باشید که کد پایتون استفاده می کندقوسی. این بسته ArcPy است که در فصل 5 به تفصیل توضیح داده شده است. در حال حاضر زیاد نگران نحو دقیق کد نباشید. ایده اصلی این است که شما می توانید یک ابزار را با تایپ نام ابزار و سپس پارامترهای آن اجرا کنید.
کد پایتون را می توان در پنجره پایتون وارد کرد و بلافاصله اجرا کرد. همچنین می توانید از یک ویرایشگر متن یا یک ویرایشگر پایتون برای ایجاد و اجرای فایل های پایتون روی دیسک استفاده کنید. فایل های پایتون دارای پسوند .py هستند و به عنوان اسکریپت شناخته می شوند. اسکریپت ها برنامه هایی هستند که می توانند از سیستم عامل، از ویرایشگر پایتون یا با استفاده از ابزار اسکریپت که اسکریپت را اجرا می کند، اجرا شوند. در زیر نمونه ای از هر کدام آورده شده است.
کد موجود در اسکریپت clip_example.py در IDLE در شکل نشان داده شده است. این کد یک نسخه اصلاح شده از اسکریپت است که در صفحه راهنمای ابزار Clip ارائه شده است. باز هم، فعلاً زیاد نگران نحو دقیق نباشید.
می توانید به محل این اسکریپت بروید و برای اجرای آن روی فایل دوبار کلیک کنید. برای اجرای اسکریپت نیازی نیست که ArcGIS Pro اسکریپت را در ویرایشگر پایتون باز یا باز کنید. با بررسی داده ها در ArcGIS Pro می توانید نتایج اجرای اسکریپت را تایید کنید. چندین مزیت برای اجرای مستقیم یک اسکریپت وجود دارد – مهمترین آنها این است که می توانید یک اسکریپت را تنظیم کنید تا در زمان خاصی بدون دخالت کاربر اجرا شود.
راه دیگر برای اجرای اسکریپت استفاده از ویرایشگر پایتون مانند IDLE، Spyder یا PyCharm است. می توانید یک اسکریپت را در ویرایشگر باز کنید، محتوای آن را تأیید کنید و سپس اسکریپت را اجرا کنید. مانند اجرای مستقیم یک اسکریپت از سیستم عامل، نیازی به باز کردن برنامه ArcGIS Pro برای اجرای اسکریپت ندارید، اگرچه برای استفاده از ابزارهای پردازش جغرافیایی باید ArcGIS Pro را روی رایانه خود نصب و مجوز داشته باشید. یکی از مزایای اجرای یک اسکریپت با استفاده از ویرایشگر پایتون این است که پیام ها در پنجره تعاملی چاپ می شوند، از جمله پیام های خطا.
راه سوم برای اجرای یک اسکریپت ایجاد یک ابزار اسکریپت است که اسکریپت را اجرا می کند. به عنوان مثال، شما می توانید جعبه ابزار خود را ایجاد کنید، یک ابزار اسکریپت جدید ایجاد کنید (به عنوان مثال، My Clip Tool)، و سپس اسکریپت clip_example.py را به این ابزار اضافه کنید.
شرح
MyAnalysis.tbx با ابزار اسکریپت My Clip Tool.
سپس میتوانید اسکریپت را مانند سایر ابزارهای پردازش جغرافیایی از داخل ArcGIS Pro اجرا کنید. مزیت اجرای یک اسکریپت به عنوان ابزار اسکریپت از داخل ArcGIS Pro این است که می توانید ابزار اسکریپت را با ابزارها و مدل های دیگر ادغام کنید. این ابزار کادر محاوره ای مخصوص به خود را دارد و ابزار را می توان به یک مدل در ModelBuilder اضافه کرد یا با اسکریپت دیگری فراخوانی کرد. اجرای یک اسکریپت به این روش نیز نیازی به دانش پایتون ندارد زیرا این ابزار شبیه یک ابزار ژئوپردازش معمولی به نظر می رسد. این شباهت ابزارهای اسکریپت را برای اشتراک گذاری با دیگران مناسب می کند.
اسکریپت مورد استفاده در اینجا تا کنون ابتدایی است و در واقع هیچ کاری جز ابزار معمولی کلیپ انجام نمی دهد. با این حال، ایجاد اسکریپت هایی که عملکرد آنها از ابزارهای موجود فراتر رود، نسبتاً آسان است – فصل های بعدی این اسکریپت ها را پوشش می دهند.
3.10اجرای اسکریپت ها به عنوان ابزار
همانطور که در بخش قبل بحث شد، اسکریپت ها را می توان به روش های مختلفی اجرا کرد. اجرای یک اسکریپت به عنوان یک ابزار یک راه عالی برای ادغام اسکریپتهای پایتون در گردشهای کاری ArcGIS Pro است. در واقع، بسیاری از ابزارهای استاندارد نوشته شده توسط Esri در پایتون نوشته شده اند. به عنوان مثال، مجموعه ابزار Extract را در جعبه ابزار Analysis در نظر بگیرید. توجه داشته باشید که ابزار Split By Attributes یک ابزار اسکریپت است، همانطور که در شکل نشان داده شده است.
وقتی کادر محاورهای ابزار را باز میکنید، مانند یک ابزار معمولی با چندین پارامتر مورد نیاز به نظر میرسد. بنابراین، از دیدگاه یک کاربر معمولی ArcGIS Pro، همه ابزارهای پردازش جغرافیایی، از جمله ابزارهای اسکریپت، یکسان به نظر می رسند.
برای اکثر ابزارهای سیستم در ArcGIS Pro، کد زیربنایی قابل مشاهده نیست. با این حال، برای ابزارهای اسکریپت، میتوانید با باز کردن اسکریپت به «زیر سرپوش» نگاه کنید. برای مشاهده محتویات یک اسکریپت، روی ابزار اسکریپت راست کلیک کرده و روی Edit کلیک کنید. ویرایش نشان می دهد که ابزار یک اسکریپت به نام splitbyattribute.py را فراخوانی می کند. این اسکریپت ها معمولاً در C:\Program Files\ArcGIS\Pro \Resources\ArcToolBox\Scripts قرار دارند. چندین ده از ابزارهای سیستمی که با ArcGIS Pro ارائه می شوند، ابزارهای اسکریپت هستند و محتویات آنها را می توان به این صورت مشاهده کرد.
اسکریپت splitbyattribute.py که به ابزار Split By Attributes متصل شده است در شکل نشان داده شده است.
خواندن این کد می تواند ایده هایی برای نوشتن کد خود به شما بدهد. فیلمنامه آنقدر طولانی است که نمی توان در اینجا به تفصیل در مورد آن صحبت کرد. با این حال، ایده اصلی این است که شما می توانید یک اسکریپت ایجاد کنید و آن را به عنوان ابزاری به جعبه ابزار اضافه کنید تا تبدیل به یک ابزار اسکریپت شود که کاربر دیگری بتواند بدون نیاز به کار مستقیم با کد پایتون از آن استفاده کند.
به خاطر داشته باشید که همه ابزارهای سیستم لزوماً به روز نمی شوند تا جدیدترین امکانات را در برنامه نویسی پایتون منعکس کنند. برای مثال، اسکریپت Batch Project همچنان ازarcgisscriptingماژول، سلف بسته ArcPy. Esri لزوماً همه کدهای خود را به روز نمی کند زیرا این ابزار با استفاده از کدهای قدیمی به خوبی کار می کند. با این حال، ابزارهایی که به طور قابل ملاحظه ای نسبت به نسخه های قبلی تغییر یافته اند، احتمالاً بازنویسی می شوند.
ابزارهای اسکریپت که بخشی از ابزارهای سیستم هستند فقط خواندنی هستند و قابل ویرایش نیستند. با این حال، میتوانید بخشهایی از کد را کپی کنید، یا میتوانید خود فایل اسکریپت را در مکان دیگری کپی کنید و اسکریپت را ویرایش کنید.
3.11برنامه ریزی یک اسکریپت پایتون برای اجرا در زمان های تعیین شده
اسکریپت های مستقل را می توان تنظیم کرد تا در زمان های تعیین شده اجرا شوند. زمانبندی میتواند برای مواردی مانند انجام کارهای معمول نگهداری داده مفید باشد. مراحل برنامه ریزی به شرح زیر است:
مرحله 1. در نوار جستجو، Task Scheduler را تایپ کنید. روی ورودی Task Scheduler در نتایج جستجو کلیک کنید.
مرحله 2. روی Add Scheduled Task (یا Create Basic Task) دوبار کلیک کنید.
مرحله 3. گزینه های موجود در ویزارد را تکمیل کنید.
زمان هایی که می خواهید اسکریپت اجرا شود را پیکربندی کنید. هنگامی که از شما خواسته شد روی برنامه ای که می خواهید ویندوز اجرا شود کلیک کنید، روی دکمه Browse کلیک کنید تا اسکریپت پایتون را انتخاب کنید.
بسیاری از اسکریپت های پایتون برای اجرا به آرگومان نیاز دارند. اینها را می توان به عنوان بخشی از کار برنامه ریزی شده تنظیم کرد. در آخرین کادر محاورهای جادوگر، روی کادر تیک بزنید «وقتی روی Finish کلیک میکنم، محاوره خصوصیات را برای این کار باز کنید».
در کادر محاوره ای که باز می شود، اسکریپت مورد نظر در زیر تب Actions نشان داده می شود. برای اجرای یک اسکریپت با آرگومانها، ممکن است نیاز باشد تنظیمات به رشتهای تغییر کنند که حاوی فایل اجرایی پایتون، اسکریپت و آرگومانهایی باشد که باید به اسکریپت ارسال شوند. ارسال آرگومان ها شبیه نحوه ارسال پارامترها به یک اسکریپت از ابزار اسکریپت است. اگر تمام اطلاعات مورد نیاز برای اجرای اسکریپت در خود اسکریپت کدگذاری شده باشد، هیچ آرگومان مورد نیاز نیست.
برنامه ریزی یک اسکریپت پایتون برای اجرا در زمان های تعیین شده نسبتاً ساده به نظر می رسد، اما برخی از موانع احتمالی وجود دارد. ابتدا کامپیوتر باید روشن شود تا یک کار برنامه ریزی شده اجرا شود. دوم، وظایف برنامهریزیشده معمولاً نیاز به دسترسی مدیریتی دارند و اطلاعات ورود باید هنگام تنظیم کار ارائه شود. در نهایت، بسیاری از رایانههای شخصی مبتنی بر ویندوز به گونهای پیکربندی شدهاند که پس از یک دوره عدم فعالیت، قفل شوند یا کاربران فعلی را از سیستم خارج کنند، که میتواند در اجرای وظایف برنامهریزیشده اختلال ایجاد کند. قبل از اینکه بتوانید به اسکریپتهایی که به این روش اجرا میشوند تکیه کنید، باید پیکربندی رایانه خود را برای اطمینان از اجرای صحیح وظایف برنامهریزی شده آزمایش کنید.
نکاتی که باید به خاطر بسپارید
- چارچوب geoprocessing در ArcGIS Pro یک سیستم قدرتمند و در عین حال انعطاف پذیر برای سازماندهی و اجرای ابزارها ارائه می کند.
- ArcGIS Pro دارای ابزارهای زیادی است که در جعبه ابزار و مجموعه ابزار به عنوان بخشی از چارچوب پردازش جغرافیایی سازماندهی شده اند. انواع مختلف ابزارها شامل ابزارهای داخلی، ابزارهای اسکریپت و ابزارهای مدل هستند.
- یک ابزار با تعیین پارامترهای ابزار، از جمله مجموعه داده های ورودی و خروجی و سایر پارامترهایی که نحوه اجرای یک ابزار را کنترل می کنند، اجرا می شود.
- محیط ها همچنین نحوه اجرای ابزارها را کنترل می کنند و می توانند در سطوح مختلف تنظیم شوند. مهمترین تنظیمات محیط، فضای کاری فعلی است.
- شما می توانید ابزارهای خود را با استفاده از مدل ها و اسکریپت ها ایجاد کنید. هنگامی که ابزارهای خود را ایجاد می کنید، دقیقاً مانند ابزارهای معمولی کار می کنند.
- ModelBuilder یک زبان برنامه نویسی بصری برای ایجاد دنباله ای از وظایف ژئوپردازش ارائه می دهد. مدل ها مانند یک نمودار جریان هستند.
- پایتون یک زبان برنامه نویسی مبتنی بر متن را برای ایجاد دنباله ای از پردازش جغرافیایی و سایر وظایف ارائه می دهد. کد پایتون را می توان در پنجره پایتون مستقیماً در ArcGIS Pro اجرا کرد. اسکریپتهای پایتون (فایلهای .py) معمولاً از کدهای پیچیدهتری تشکیل شدهاند و میتوانند به روشهای مختلف اجرا شوند: مستقیماً از داخل سیستم عامل، با استفاده از یک ویرایشگر پایتون مانند IDLE، یا از ابزار اسکریپت در ArcGIS Pro.
- هر دو مدل و ابزار اسکریپت مانند ابزارهایی در چارچوب ژئوپردازش ArcGIS Pro کار می کنند. مدل ها را می توان به یک اسکریپت تبدیل کرد، اما اسکریپت ها را نمی توان به یک مدل تبدیل کرد زیرا عملکرد آنها متفاوت است.
شرایط کلیدی
- حالت دسته ای
- پردازش دسته ای
- ابزار داخلی
- اتصال دهنده
- فضای کاری فعلی
- ابزار سفارشی
- نامگذاری پویا
- عنصر (یک مدل)
- تنظیم محیط
- ژئوپردازش
- چارچوب ژئوپردازش
- ابزار ژئوپردازش
- جایگزینی متغیر درون خطی
- تکرار
- کلمه کلیدی (برای پارامترهای ابزار)
- مدل
- مدل ساز
- فرآیند مدل
- ابزار مدل
- فضای کاری را خراش دهید
- اسکریپت
- ابزار اسکریپت
- ابزار سیستم
- جعبه ابزار
- جعبه محاوره ابزار
- پارامتر ابزار
- مجموعه ابزار
- متغیر
- فضای کار
سوالات را مرور کنید
- برخی از عناصر کلی چارچوب geoprocessing را در ArcGIS Pro توضیح دهید.
- سه نوع ابزار در ArcGIS Pro چیست؟
- تفاوت بین ابزارهای سیستمی و ابزارهای سفارشی را توضیح دهید.
- نمونههایی از محیطهای پرکاربرد و چگونگی تأثیر آنها بر ابزارهای پردازش جغرافیایی در حال اجرا را ارائه دهید.
- نقاط قوت و محدودیت های پردازش دسته ای در ArcGIS Pro چیست؟
- کاربرد نامگذاری پویا در پردازش دسته ای را توضیح دهید.
- برخی از شباهت ها و تفاوت های ابزارهای مدل و ابزارهای اسکریپت در ArcGIS Pro چیست؟
- چرا به دنبال توسعه یک اسکریپت برای خودکارسازی یک گردش کار خاص به جای یک مدل هستید؟
- راه های معمولی برای اجرای کد پایتون در زمینه خودکارسازی گردش کار در ArcGIS Pro چیست؟
بدون دیدگاه