کاربرد GIS سرویس‌ها در تجزیه و تحلیل

کاربرد GIS سرویس‌ها در تجزیه و تحلیل


کاربرد GIS سرویس‌ها در تجزیه و تحلیل-موسسه چشم انداز-آموزش کاربردی GIS و RS

قبلاً سرویس‌هایمان را به تصویر درآوردیم و چند سرویس را با یکدیگر همپوشانی کردیم. هم‌چنین برای استفاده از سرویس‌هایمان، کد نوشتیم. حال می‌خواهیم سرویس‌ها را برای تجزیه و تحلیل آماده کنیم.

پیش نیازها

ابتدا باید سرویس‌های نقشه‌ای بیشتری مانند Inspection، Constructio و Outage را منتشر کنیم. می‌توانید فایل.mxd این سرویس‌ها را از مسیر Chapter03\Code\7364EN_03_Files\AGSA\Documents پیدا کنید. کلاس عارضه‌های Inspections_Scenario1،Inspections_Scenario2، Outage_Scenario1 و Outage_Scenario2 در ژئودیتابیس Utility قرار دارند. کلاس‌های عارضه‌ی پولیگونی Constructions_Scenario1 و Constructions_Scenario2 نیز در ژئودیتابیس Projects قرار دارند.
فایل‌‌های
1- Constructions_Scenario_1.mxd
2- Constructions_Scenario_2.mxd
3- Inspections_Scenario_1. Mxd
4- Inspections_Scenario_2.mxd
5- Outage_Scenario_1.mxd
6- Outage_Scenario_2.mxd
را به‌صورت سرویس نقشه‌ای با تنظیمات پیش‌فرض منتشر کنید. اگر منبع داده‌ی این فایل‌ها دچار خطا شد، مسیر داده را با ژئودیتابیس‌های Utility و Projects تنظیم کنید.
حال از این سرویس‌ها در تجزیه و تحلیل‌هایمان استفاده می‌کنیم. برای این کار از ArcMap یا QGIS استفاده کنید. در اینجا از ArcMap استفاده می‌کنیم.

دلیل قطعی برق در سناریو 1

فرض کنید باید گزارشات مشتری‌ها را در مورد قطعی برق بگیرید و دلیل قطعی برق را پیدا کنید. زمانی که مشتری یک قطعی گزارش می‌کند، (Outage Management System (OMS به‌طور خودکار مکالمه‌ی آن‌ها را ضبط و پایگاه داده را با مهر زمان (برچسب زمان) به روز رسانی می‌کند. گزارشات قطعی از قبل مانند یک سرویس نقشه‌ای real-time در دسترس هستند و برای تجزیه و تحلیل می‌توانید از آن‌ها استفاده کنید. در این مثال، سه قطعی در شبکه‌ی برق در یک منطقه وجود دارد و دلیل قطعی را پیدا می‌کنید. گروه پروژه مجوز دسترسی به داده‌ها را می‌دهند تا برای تجزیه و تحلیل به شما کمک کنند.
ابتدا باید یک اتصال به سایت سرور که میزبان همه‌ی سرویس‌های نقشه‌ای موردنیازمان است، ایجاد کنیم. این اتصال نمایی از سرویس نقشه را فراهم می‌کند که این نما فقط قابل دیدن است. ArcMap را بازکنید و روی Add Data کلیک کنید ودر پنجره ظاهر شده، اتصال سایت سرور را بازکنید و سرویس‌های نقشه‌ای Electric،Parcels و Outage_Scenario_1 را به نقشه اضافه کنید. در نوار ابزار Tools روی Full Extent کلیک کنید تا extent کامل نقشه را ببینید. لایه‌های Outages، Electricity و Parcels را به ترتیب به پائین سرویس‌های نقشه‌ای دراگ کنید. نقشه باید به‌صورت زیر مشاهده شود:

در کابل برق، چندین قطعی وجود دارد و ممکن است همه‌ی این قطعی‌ها در اینجا نمایش داده نشوند و حتی شاید قطعی‌هایی هم وجود داشته باشد که گزارش نشده‌اند. بیائید خطا را پیدا کنیم. ظاهراً همه‌ی قطعی‌ها یک دلیل دارند. به داده‌های بیشتری برای تجزیه و تحلیل و پیداکردن دلیل قطعی، نیاز داریم.

سرویس نقشه‌ای Constructions_Scenario_1 را اضافه کنید. دو پروژه‌ی ساختمانی دور از شبکه‌ی برق، در منطقه وجود دارد. به نظر نمی‌رسد که این ساختمان‌ها دلیل قطعی برق باشند.

از آنجائی که هیچ پروژه‌ای در نزدیکی شبکه‌ی برق نیست، بهتر است بازدید‌های اخیری که در سرویس نقشه‌ای Inspections قرار دارد را بررسی کنیم. این سرویس را به نقشه اضافه کنید. همانطور که در تصویر زیر می‌بینید یک بازدید در حال انجام است. ابزار Identify را انتخاب و روی این بازدید کلیک کنید. یک واحد پشتیبانی پیدا خواهید کرد که شاید دلیل قطعی‌ها باشد.

حال که مشکل را پیدا کردیم به همه‌ی مشتری‌ها اطلاع می‌دهیم که یک گروه پشتیبانی در منطقه‌ی آن‌ها در حال کار هستند و باید تا یکساعت آینده به کارشان پایان دهند. در این مثال با استفاده از چندین سرویس نقشه‌ای، یک مشکل را پیدا و رفع کردیم.

دلیل قطعی برق در سناریو 2

ArcMap را بازکنید و روی Add Data بزنید. در پنجره ظاهر شده روی اتصال سایت سرور بزنید و سرویس‌های نقشه‌ای Electric، Parcels و Outage_Scenario_2 را به نقشه اضافه کنید. روی Full Extent بزنید. لایه‌های Outages، Electricity و Parcels را به ترتیب در زیر هم دراگ کنید. طبق گزارشات قطعی OMS، واضح است که یک عامل ناشناخته، برق پنج مجتمع تجاری نزدیک هم را قطع کرده است و برق منازل مشکلی ندارد. شکل زیر قطعی را نشان می‌دهد.

از آنجا که در سناریوی قبلی دلیل قطعی بازدید گروه پشتیبانی بود، بهتر است که برای این سناریو هم این بازدیدها را بررسی کنیم. به سایت سرور inspections متصل شوید و سرویس نقشه‌ای Inspections_Scenario_2 را اضافه کنید.

ظاهراً چند بازدید در منطقه وجود دارد. اگر از ابزار Identify استفاده کنید، در یک طرف منطقه‌ی قطعی، گروه خواندن کنتورها را می‌بینید و احتمالاً این گروه دلیل قطعی نیستند. از آنجایی که به پروژه‌ی داده‌ها دسترسی داریم، سرویس نقشه‌ای Constructions_Scenario_2 را می‌توانیم اضافه کنیم.

عملیات نصب یک لوله‌ی اصلی در سمت راست شبکه‌‌ی برق، در حال اجرا است. احتمالاً حفاری این عملیات، دلیل افتادن یکی از تیرهای چراغ برق است. با استفاده از سرویس‌های نقشه‌ای، به دلیل قطعی خیلی نزدیک می‌شویم. همه‌ی عملیات تصویر کردن، ویرایش و تجزیه و تحلیل در GIS سرورها انجام می‌شوند. GIS سرورها، درخواست‌ها را از REST یا SOAP را می‌گیرند و آن را پردازش می‌کنند. همیشه به یک URL برای اتصال به سایت سرور جهت عملیات تصویرکردن نیاز داریم. سپس سایت سرور بر اساس تاریخچه، GIS سرورهایی که در این سایت ثبت شده و قابل دسترس هستند را شناسایی می‌کند و درخواست را به آن GIS سرور ارسال می‌کند. GIS سرور انتخابی، درخواست را پردازش می‌کند. مثلاً اگر درخواست یک بزرگ نمایی در منطقه‌ی خاصی از نقشه باشد، GIS سرور در ژئودیتابیس جستجو می‌کند و داده‌ها را در آن منطقه‌ی خاص بازیابی می‌کند. در نهایت بر اساس پروتکل یا استاندارد انتخابی، نقشه را ترسیم می‌کند. نتیجه به‌صورت یک تصویر با فرمت PNG، KML یا SOAP XML برمی‌گردد. هنگامی‌که کاربر سعی در اتصال به سرویس نقشه‌ای با استفاده از یک REST URL دارد، این URL مستقیماً به یکی از GIS سرورها اشاره می‌کند. در این مثال، آدرس URL به‌صورت https://GIS-SERVER01:6080/arcgis/ است.

اگر GIS-SERVER01 به هر دلیلی دچار مشکل شود، حتی اگر GIS سرورهای دیگر در دسترس باشند، کاربر باید صبر کند تا مشکل GIS-SERVER01 رفع شود. به همین دلیل است که توصیه می‌کنیم حتماً از یک وب سرور اختصاصی استفاده کنید. مثلاً آدرس وب سرور ما https://WEB-SERVER01/arcgis/ است. در این وب سرور، درخواست به‌صورت متوازن بارگذاری می‌شود. در فصل ششم بسیاری از این مشکلات را بیان و رفع خواهیم کرد.

برگرفته از کتاب نصب، اجرا و مدیریت Arc GIS for server

نویسنده: دکتر محمد بافقی زاده

نشر: انتشارات اکادمیک

وب جی آی اس (WebGIS)


Fatal error: Uncaught TypeError: ltrim(): Argument #1 ($string) must be of type string, WP_Error given in /home/gisland1/public_html/wp-includes/formatting.php:4482 Stack trace: #0 /home/gisland1/public_html/wp-includes/formatting.php(4482): ltrim(Object(WP_Error)) #1 /home/gisland1/public_html/wp-content/themes/xtra/functions.php(3349): esc_url(Object(WP_Error)) #2 /home/gisland1/public_html/wp-content/themes/xtra/single.php(19): Codevz_Core_Theme::generate_page('single') #3 /home/gisland1/public_html/wp-includes/template-loader.php(106): include('/home/gisland1/...') #4 /home/gisland1/public_html/wp-blog-header.php(19): require_once('/home/gisland1/...') #5 /home/gisland1/public_html/index.php(17): require('/home/gisland1/...') #6 {main} thrown in /home/gisland1/public_html/wp-includes/formatting.php on line 4482