مدلسازی رشد شهری
کادر ۹-۴ مدلسازی رشد شهری با استفاده از Agent Analyst با ArcGIS |
کاربردی |
برای پیروی از این مثال، Agent Analyst را از |
http://resources.arcgis.com/en/help/agent-analyst/ دانلود کنید، فایل اجرایی دانلود شده را اجرا کنید، و Agent Analyst را به دنبال جادوگر راه اندازی نصب کنید. سپس ArcMap را راه اندازی کنید و شکل فایل های mytown، ugmout و myroads را از مسیر C:\databases\GIS4EnvSci\VirtualCity\ بارگذاری کنید. لایه mytown نشان دهنده قطعات زمین با مرکز شهر و روستایی نزدیک به یک شهر بزرگ فرضی است. ویژگی های آن عبارت از PARCELID، STATUS (وضعیت توسعه، توسعه یافته یا توسعه نیافته) و OWNERSHIP (مالکیت زمین، دولتی یا خصوصی) می باشد. لایه myroads نشان دهنده شبکه جاده در همان منطقه است. ugmout به عنوان لایه خروجی از مدل استفاده می شود. این مثال شامل شبیه سازی رشد شهری در اطراف مراکز شهر و روستا با این انتظار است که جمعیت شهر در طول سال ها افزایش یابد. به طور کلی، فرآیند ساخت و اجرای یک ABM شامل هفت مرحله است: |
۱) تعریف سوالات تحقیق |
۲) تعیین عوامل شامل ویژگی ها ، اهداف (خواسته ها) ، مقاصد (اقداماتی که قصد دارند برای تحقق اهداف آن انجام دهند) و محیطی که عوامل در آن اقامت دارند و عمل می کنند. |
۳) تعریف تعامل بین عامل و عامل و محیط |
۴) تدوین قوانین حاکم بر اقدامات نماینده |
۵) تعیین تعداد مراحل زمانی و مدت زمان یک گام |
۶) اجرای مدل |
۷) بررسی و اعتبارسنجی مدل |
سوال تحقیق را مشخص کنید |
سوالات تحقیقاتی که باید به آن پرداخته شود این است: “کدام الگوهای رشد شهری آینده می تواند در منطقه مطالعه فرضی تکامل یابد؟” هدف از این مثال نشان دادن عناصر اصلی مدل سازی مبتنی بر عامل با استفاده از قوانین ساده بر اساس شرایط محیطی و محله است. قصد تولید سناریوهای واقع بینانه رشد شهری را ندارد. |
استارت عامل تحلیلگر |
۱) با کلیک بر روی نوار ابزار ArcMap ، پنجره کاتالوگ را باز کنید. |
۲) در پنجره کاتالوگ، به پوشه یا پایگاه جغرافیایی که می خواهید جعبه ابزار در آن ایجاد شود، بروید. |
۳) روی پوشه یا پایگاه جغرافیایی کلیک راست کرده و روی New > Toolbox کلیک کنید. نام پیشفرض جعبه ابزار Toolbox.tbx یا Toolbox ظاهر میشود و در پوشه یا پایگاه جغرافیایی برجسته میشود. نام جعبه ابزار را به رشد شهری تغییر دهید. اگر نام جعبه ابزار برجسته نشده است، روی جعبه ابزار راست کلیک کرده و روی تغییر نام کلیک کنید. |
۴) روی جعبه ابزار Urban growth کلیک راست کرده، به New اشاره کرده و Agent Analyst را کلیک کنید. صبر کنید تا پنجره Agent Analyst باز شود. اگر به طور خودکار باز نشد، بر روی ابزار جدید کلیک راست کرده و Edit را انتخاب کنید و پنجره Agent Analyst ظاهر می شود (شکل ۹-۱۲). |
شکل ۹-۱۲ تحلیل گر عامل
تعریف و ایجاد عامل |
قطعات زمین (معمولاً از داده های کاداستر) به عنوان عامل مدل سازی می شوند. به خاطر سادگی ، وضعیت عامل بسته یا توسعه یافته است یا توسعه نیافته است. به عبارت دیگر، ویژگی اصلی نمایندگان بسته، وضعیت توسعه آنهاست. همه نمایندگان بسته ها ویژگی های یکسانی دارند و از قوانین یکسانی برای اقدامات پیروی می کنند. اینشهر منلایه اطلاعات مربوط به مکان (هندسه) و ویژگی های هر عامل بسته را ارائه می دهد. عوامل بسته در دو مرحله بعدی در Agent Analyst تعریف و ایجاد می شوند : |
۵) در پنل Environment در سمت چپ، روی GIS Model کلیک کنید. در پانل Property-Value سمت راست: |
الف) مطمئن شوید که ArcGIS به عنوان بسته GIS انتخاب شده است. |
ب) روی کادر Value ویژگی Model Name کلیک کنید و آن را به UrbanGrowthModel تغییر دهید. |
ج) به همین ترتیب، مقدار ویژگی Display Name را به Urban Growth Model تغییر دهید. |
۶) در پنل Environment، روی VectorAgent کلیک کنید. در پنل Property- Value : |
الف) روی کادر Value از ویژگی Name کلیک کنید و Parcel را تایپ کنید. |
ب) روی کادر Value از ویژگی Group Name کلیک کنید و Parcels را تایپ کنید. این همه بسته ها را به عنوان گروه عامل به نام Parcels تعریف می کند که ویژگی ها و رفتار یکسانی دارند. |
ج) روی دکمه Edit در سمت راست ویژگی Data Source کلیک کنید. در گفتگوی ویرایشگر منبع داده، روی Browse کلیک کنید، به پوشه ای که mytown در آن ذخیره شده است بروید و mytown.shp را انتخاب کنید. روی Open کلیک کنید. فیلدهای منبع داده به طور خودکار با ویژگی ها (فیلدها) از شکل فایل mytown، از جمله PARCELID، STATUS، OWNERSHIP و the_geom (هندسه یک عامل) پر می شوند. اینها ویژگیهای عوامل بسته هستند که در مدل مورد استفاده قرار می گیرند. روی OK کلیک کنید. مجموعه ای از نمایندگان بسته ایجاد می شود. |
۴) روی دکمه Edit در سمت راست ویژگی Fields کلیک کنید. در گفتگوی ویرایشگر فیلدها، دو ویژگی (فیلد) اضافی را برای عوامل بسته تعریف کنید (: NeighbourList لیستی از همسایگان) و NumNeighbours تعداد همسایگان). ابتدا NumNeighbours را در کادر نام، int را در کادر type (به این معنی است که داده های ویژگی عدد صحیح هستند) و ۰ را به عنوان مقدار پیش فرض کلید کنید. گزینه Accessible را علامت بزنید تا سایر اجزای مدل به این ویژگی دسترسی داشته باشند. روی افزودن کلیک کنید. دوم، NeighbourList را در کادر نام تایپ کنید، java.util.ArrayList را در کادر تایپ تایپ کنید (یعنی NeighbourList لیست آرایه ای از بسته های همسایه است؛ همانطور که Agent Analyst با استفاده از زبان برنامه نویسی جاوا توسعه داده شده است، این لیست آرایه به عنوان جاوا تعریف می شود. کلاس ArrayList و Accessible را علامت بزنید. روی Add کلیک کنید. روی OK کلیک کنید. |
تعریف محیط و ایجاد لایه ها یا داده های محیطی محیط شهری یک سیستم پیچیده است. محیط عوامل بسته را می توان با تعدادی از عوامل فیزیکی و اجتماعی، مانند زمین، زمین شناسی، خطرات طبیعی (به عنوان مثال، سیل و رانش زمین)، آسیب پذیری، دسترسی، ارزش زمین، سیاست های کاربری زمین و مقررات برنامه ریزی مشخص کرد. نماینده بسته تصمیم می گیرد که آیا وضعیت توسعه خود را با ارزیابی شرایط محیطی و محله فعلی خود تغییر دهد یا خیر. برای نشان دادن مفاهیم اساسی ABM، این مثال فقط دسترسی عوامل بسته بندی به جاده ها و وضعیت توسعه همسایگان آنها را در نظر می گیرد. فرض بر این است که هیچ محدودیت فیزیکی برای توسعه در منطقه وجود ندارد. دسترسی به جاده ها به عنوان فاصله خط مستقیم از بسته ها تا جاده ها با استفاده از ابزار Near در ArcGIS اندازه گیری می شود. بسته های همسایه را می توان با استفاده از ابزار Polygon Neighbors در ArcGIS شناسایی کرد. دو شرایط محیطی به شرح زیر استخراج می شوند. |
اندازه گیری دسترسی به جاده ها |
۷) در ArcMap، ArcToolBox را باز کنید. به ابزار Analysis > Proximity بروید و روی Near دوبار کلیک کنید. |
۸) در گفتگوی Near : |
الف) mytown را به عنوان ویژگی های ورودی و myroads را به عنوان ویژگی های نزدیک انتخاب کنید. |
ب) روی OK کلیک کنید. پس از اتمام عملیات، دو فیلد زیر به جدول ویژگی mytown اضافه میشود: NEAR_FID که شناسه ویژگی نزدیکترین بخش جاده را ذخیره میکند و NEAR_DIST که فاصله هر قطعه زمین تا نزدیکترین بخش جاده را ذخیره میکند. NEAR_DIST نشان دهنده دسترسی نمایندگان بسته به جاده ها است. |
۹) به پنجره Agent Analyst برگردید. روی عامل Parcel در پانل Environment کلیک کنید، سپس روی دکمه Edit در کنار ویژگی Data Source کلیک کنید تا شکل فایل mytown بارگیری مجدد شود NEAR_FID و NEAR_DIST به عنوان دو ویژگی جدید به لیست فیلدهای منبع داده اضافه می شوند. |
جدولی از همسایگان بسته ایجاد کنید |
۱۰) در ArcToolBox در ArcMap، به Analysis Tools > Proximity بروید و روی Polygon Neighbors دوبار کلیک کنید. |
۱۱) در گفتگوی Polygon Neighbors : |
الف) mytown را به عنوان ویژگی های ورودی تنظیم کنید. |
ب) parcel_nbrs را به عنوان نام جدول خروجی مشخص کنید و آن را به عنوان Default.gdb در ArcGIS خود ذخیره کنید. |
ج) تیک PARCELID را به عنوان فیلد گزارش کنید. |
د) تیک شامل هر دو طرف رابطه همسایگی را بزنید. |
ه) ۵۰ متر را به عنوان تلرانس XY وارد کنید (دو بسته اگر در فاصله ۵۰ متری از هم باشند همسایه محسوب می شوند). |
و) واحدهای خطی خروجی را به صورت متر نگه دارید. |
ز) روی OK کلیک کنید. صبر کنید تا جدول parcel_nbrs ایجاد شود. |
۱۲) روی parcel_nbrs در فهرست مطالب کلیک راست کرده و جدول را باز کنید. چهار ویژگی را فهرست می کند |
src_PARCELID، شناسه شی چند ضلعی منبع nbr_PARCELID ، شناسه شی چند ضلعی همسایه چند ضلعی منبع. LENGTH، کل طول یال های منطبق بین یک چند ضلعی مبدا و یک چندضلعی همسایه. و NODE_COUNT، تعداد دفعاتی که یک چند ضلعی منبع و یک چندضلعی همسایه در یک نقطه تلاقی یا لمس می کنند. فیلدهای LENGTH و NODE_COUNT را از جدول حذف کنید زیرا برای این تحلیل مفید نیستند. |
۱۳) روی parcel_nbrs در فهرست مطالب کلیک راست کرده، به Data اشاره کنید و روی Export کلیک کنید. در گفتگوی صادرات داده، روی دکمه Browse کلیک کنید، به فهرست انتخابی خود بروید، Text File را به عنوان نوع ذخیره انتخاب کنید و نام parcel_nbrs.txt را تایپ کنید. روی save کلیک کنید تا به کادر گفتگوی صادرات داده بازگردید. روی OK کلیک کنید. جدولی از همسایگان بسته ایجاد و به عنوان یک فایل متنی ذخیره می شود. |
شرایط محیطی را راه اندازی کنید |
۱۴) بازگشت به Agent Analyst. در پنل Environment در پنجره Agent Analyst، روی Urban Growth Model کلیک کنید. روی دکمه Edit سمت راست در قسمت Fields کلیک کنید. |
۱۵) بر روی دکمه Edit از سمت راست به ویژگی Actions کلیک کنید. کادر گفتگوی Actions Editor ظاهر می شود. |
۱۶) در گفتگوی ویرایشگر اقدامات : |
الف) در لیست کشویی واقع در بالای Java Imports، initAgents را انتخاب کنید. یک خط کد def initAgents () : در کادر Source ظاهر می شود. برای تعریف تابعی به نام initAgents برای مقداردهی اولیه مدل ABM استفاده می شود. اغلب برای بارگذاری داده های محیطی و مقداردهی اولیه شرایط محیطی و حالات عامل ها استفاده می شود. این تابع همیشه ابتدا در ابتدای شبیه سازی توسط مدل اجرا می شود. در اینجا، ما از آن برای بارگذاری داده های محیطی و مقداردهی اولیه عوامل و شرایط محیطی استفاده می کنیم. از آنجایی که فاصله تا جاده ها به عنوان دو ویژگی عامل بسته به mytown اضافه شده است، فقط همسایه های بسته باید مقداردهی اولیه شوند. کد پایتون نشان داده شده در جدول ۹٫۶ را در زیر def initAgents() اضافه کنید. |
جدول ۹-۶ اسکریپت پایتون برای راه اندازی اولیه مدل ABM در کادر ۹-۴
۲) در کادر متن درست زیر Java Imports، چهار خط زیر را اضافه کنید. آنها چهار کتابخانه جاوا را وارد می کنند تا در تابع initAgents برای خواندن فایل ها، شکستن یک رشته به توکن ها و ساخت جداول هش استفاده شوند :
java.io.BufferedReader
java.io.FileReader
java.util.StringTokenizer
java.util.HashMap
۱۷) در همان گفتگوی : Actions Editor
الف) در لیست کشویی واقع در بالای Java Imports، writeAgents را انتخاب کنید. در کادر متنی Source، در زیرwriteAgents(self.Parcels, “C:\Databases\GIS4EnvSci\VirtualCity\ugmout.shp” اضافه کنید. این عمل خروجی را در ugmout.shp می نویسد.
ب) تابع updateDisplay برای به روز رسانی نمایش نقشه در ArcMap استفاده می شود. هیچ تغییری در کد تابع ایجاد نکنید.
ج) روی OK کلیک کنید.
بدون دیدگاه