فعال کردن پروتکلهای سرویسهای نقشه-موسسه چشم انداز-آموزش کاربردی GIS و RS
ArcGIS for Server هر دو پروتکل SOAP و REST را برای همهی سرویسهای نقشهای فعال میکند. نه تنها میتوانید از این پروتکلها در هر سرویس نقشهای استفاده کنید، همچنین میتوانید استانداردهای (Open Geospatial Consortium (OGC را فعال و استفاده کنید. کمتر محصولی وجود دارد که این امکانات را در اختیار ما بگذارد.Esri در این تکنولوژی خوش درخشیده است و روند کاری واضحی دارد و از سرورها تا سالهای آتی پشتیبانی میکند. در ادامهی این بخش مختصراً استفاده از پروتکلهای SOAP و REST و سرویسهای WMS را توضیح میدهیم.
سرویسهای OGC
سرویسهای نقشهای، وبسرویسهای استاندارد شدهی Esri هستند و همهی کاربران نمیدانند که چطور از آنها استفاده کنند؛ بنابراین اگر سرویسی از Esri مانند سرویس نقشهای را منتشر کردید، کاربران را محدود به این استاندارد کردهاید. استانداردهای دیگری برای سرویسهای نقشهای که محتویات GIS را ارائه میدهند، وجود دارد.ArcGIS for Server این استانداردها را روی سرویسهایتان فعال میکند. استانداردهای OGC یکی از این استانداردها هستند و برای پشتیبانی از نیازهای متفاوت وبسرویسها طراحی شدهاند. وبسرویسهای OGC زیادی وجود دارند. جدول زیر پراستفاده ترین وبسرویسهای OGC را نشان میدهد.
وبسرویس OGC | توضیحات |
WMS | (Web map service (WMS: یک سرویس پایهای و مبنا است که فقط تصویر برمیگرداند و تصویر شامل هیچ اطلاعاتی نیست. |
WFS | (Web feature service (WFS: سرویس قدرتمندی است که از هر عنصر موجود در نقشه، یک دادهی XML برمیگرداند. |
WPS | (Web processing service (WPS: یک سرویس geoprocessing است که اجازهی اجرای دستور geocode را میدهد و نتایج را برمیگرداند. |
ایجاد سرویسهای WMS
ArcGIS for Server سرویس WMS را منتشر میکند. در حقیقت، چیزی که ArcGIS for Server را بهعنوان یک ناشر نقشه محبوب کرده است، رعایت استانداردهای باز است و برای استفاده در سازمانها راه حل خوبی است. WMS گزینهی خوبی است تا به کاربرانتان، هیجان دیدن نقشه هایتان را بدهید بدون اینکه بتوانند در اطلاعات و ویژگیهای نقشهتان جستجو کنند. کاربران فقط اجازهی دیدن نقشههای مبنا را دارند. برای انتشار یک سرویس WMS، هنگام انتشار نقشه در ArcMap تیک WMS را بزنید. از پوشهی C:\AGSA\Documents فایل Parcels_FGDB.mxd یا Parcels_SDE.mxd را انتخاب کنید. هر دوی این فایلها کار خواهند کرد. بعد از بازکردن ArcMap از منوی File گزینهی Share As را انتخاب کنید. سپس روی Service کلیک کنید. گزینهی Publish a Service را انتخاب کنید. روی next کلیک کنید. از لیست بازشو، اتصال Publisher@GIS-SERVER01 را انتخاب کنید و منتظر شوید تا اتصال برقرار شود. در فیلد Service Name عبارت Parcels_SDE_WMS را تایپ کنید. اگر Parcels_FGDB.mxd را انتخاب کردهاید، بهجای Parcels_SDE_WMS، مقدار Parcels_FGDB_WMS را تایپ کنید. همانطور که میدانید این سرویس یک فایل ژئودیتابیس را استفاده میکند و ژئودیتابیس را بهعنوان یک سرویس WMS منتشر میکند. روی Next کلیک کنید.
از قسمت سمت چپ روی Capabilities کلیک کنید. استانداردهای مختلفی را میبینید که میتوانید روی سرویستان فعال کنید. WMS را تیک بزنید. یک بخش جدید زیر Capabilities اضافه خواهد شد. WMS را انتخاب کنید. دقت کنید که URL مربوط به REST غیرفعال میشود. بدین دلیل است که WMS فقط SOAP را پشتیبانی میکند و این سرویس برای معماری بزرگی مانند REST طراحی نشده است. گزینهی Enter service properties below را تیک دار کنید. Metadata را برای سرویس WMS وارد کنید. بدین ترتیب کاربرانی که از سرویس استفاده میکنند، میتوانند از اطلاعات Metadata استفاده کنند. گزینهی Use layer names from the map document را فعال کنید بدین ترتیب نام سرویس، نام سند نقشه ای خواهد بود. روی Publish کلیک کنید تا سرویس نقشهای منتشر شود.
ایجاد سرویسهای WFS
WMS استانداردی است که 15 سال قدمت دارد و به دلیل سادگی خیلی از کاربران هنوز از آن استفاده میکنند. با انفجار اطلاعات اخیر، تصویر خامی که WMS برمیگرداند برای تجزیه و تحلیل کافی نیست. نتایج باید همراه با اطلاعات و metadata باشند تا کاربران بتوانند این عناصر را تجزیه و تحلیل مکانی کنند.OGC با استاندارد WFS آمده است. در این سرویس بهجای برگشت یک تصویر، نقشه به عوارضی تقسیم میشود. این عوارض با هم همپوشانی دارند. کاربر میتواند این عوارض را ترسیم کند. گزینهی WFS-T نیز سرویس نقشه را بهصورت تراکنشها منتشر میکند و امکان اضافه کردن، حذف و بهروزرسانی عوارض را میدهد.
مدت زیادی است که ArcGIS از مفهوم عارضهها برای پشتیبانی استاندارد جدید استفاده میکند. برای انتشار سرویس WFS مراحلی که در بخش “ایجاد سرویسهای WMS” آمده است را انجام دهید. نام سرویس را Parcels_SDE_WFS بگذارید. یا اگر FGDB را انتخاب کردهاید نام سرویس را Parcels_FGDB_WFS بگذارید. گزینهی WFS را تیک بزنید و گزینهی WFS را گسترش دهید. metadata of the service را انتخاب کنید. در حال حاضر ویرایش روی سرویس را فعال نخواهیم کرد. پس تیک Enable transactions را بردارید. روی Publish کلیک کنید. توجه داشته باشید که برای هر استاندارد OGC دوسرویس ایجاد کردهایم. یکی برای WMS و دیگری برای WFS. همچنین میتوانیم یک سرویس نقشهای با دو قابلیت WMS و WFS ایجاد کنیم. با این کار در زمان صرفه جویی میکنیم و بهجای دو سرویس، یک سرویس ایجاد میکنیم. هر چند بعضی مواقع باید چندین سرویس نقشهای ایجاد کنید تا روی کاربرانی که به هر سرویس دسترسی دارند، کنترل داشته باشید. فرض کنید که گزینههای WMS و WFS-T را روی سرویس نقشه فعال کردهاید و لینک SOAP سرویس WMS را با کاربری به نام Alice به اشتراک گذاشتهاید. Alice فقط از تصاویر استفاده میکند. لینک SOAP سرویس WFS را نیز به کاربری با نام Bob به اشتراک گذاشته اید. Bob منتشر دهندهی نقشه است. اگرچه Alice فقط لینک WMS را دارد، میتواند به سادگی لینک WFS را بسازد؛ زیرا این لینک در همان سرویس و با همان نام است. علاوه بر این هر مجوزی که به Alice دادهشده به Bob هم دادهشده است؛ بنابراین هر دوی آنها به سرویس دسترسی دارند. بدین ترتیب Alice به لینک WFS-T دسترسی خواهد داشت و Alice مجوز ویرایش دارد. اگر ما دو سرویس نقشهای ایجاد کنیم، به Bob لینک سرویس WFS-T را میدهیم و به Alice لینک سرویس WMS را میدهیم.
میتوانید گزینههای WMS و WFS را در یک سرویس نقشهای فعال کنید. دقت داشته باشید فعال کردن این گزینهها به برنامه ریزی دقیق و مراقبت نیاز دارند.
سرویسهای Geoprocessing
این سرویس، شامل عملیاتی است که روی دادههای مکانی انجام میشوند. مثلاً در سرویس Geoprocessing عمل ایجاد حریم، یک نقطه را میگیرد و عوارضی که در شعاع مشخصی از این نقطه هستند را برمیگرداند. قبل از به وجود آمدن این سرویس، توسعهدهندگان بایستی ابزارهای سفارشی را برنامهنویسی میکردند تا عملیات ایجاد حریم، به روز رسانی اطلاعات توصیفی عارضه و یا برش یک منطقه را انجام دهند؛ اما هنگامیکه Esri، model builder را ایجاد کرد، کاربران توانستند ابزارهای توکار را برنامهنویسی کنند تا برای ایجاد model و تحت وب استفاده کنند. این مدلها دوباره میتوانند در یک مدل بزرگتر بهعنوان یک زیرمدل استفاده شوند. این روند کاری ادامه داشت تا زمانی که ArcGIS for Server در سال 2006 ارائه شد. این پلتفرم امکان اجرای آن عملیات را روی سرویسها فراهم کرد. کاربران میتوانستند سرویسهای geoprocessing را صدا بزنند و نتایج را برگردانند. سپس Esri همهی توابع محلی را درون model ها قرار داد، نهایتاً این model ها را درون سرویسها قرار میداد. سرویسهای geoprocessing میتوانند بهعنوان استاندارد WPS منتشر شوند. Esri به تدریج عملیات محلی ArcGIS را درون ابزارهای geoprocessing قرار داد.
بررسی سرویسهای GIS
نحوهی ایجاد سرویس در ArcGIS for Server را توضیح دادیم؛ اما هنوز نحوهی استفاده از این سرویسها را یاد نگرفتیم. راههای زیادی برای تصویرسازی، تجزیه و تحلیل و ویرایش سرویسها وجود دارد. اگر سرویسها با استفاده از ArcMap کار میکنند، آنها را بررسی خواهیم کرد. ابتدا باید یک اتصال کاربر ایجاد کنیم. با استفاده از اتصال کاربر ، کاربران نهایی تنها میتوانند این سرویسها را بخوانند و ببینند. اگر به سرویس نقشهای با استفاده از اتصال publisher یا اتصال مدیر دسترسی داشته باشید، به کاربران هشداری نمایش داده میشود و کاربران از سرویس نمیتوانند استفاده کنند.
اگر میخواهید یک سرویس نقشه را آزمایش یا سرویس را برای تجزیه و تحلیل یا تصویر سازی استفاده کنید و یا اینکه بخواهید سرویس را با کاربران دیگر به اشتراک بگذارید، باید با اتصال کاربر به سرویس متصل شوید و نه با اتصال مدیر یا publisher.
ArcCatalog را بازکنید. از درخت Catalog، گره GIS Servers را بازکنید. روی Add ArcGIS Server دو بار کلیک کنید. گزینهی Use GIS services را انتخاب کنید. روی Next کلیک کنید. در فیلد Server URL آدرس URL سایت سرور را وارد کنید. اگر یک وب سرور اختصاصی نصبکردهاید، بهتر است که از آن استفاده کنید. اگر وب سرور ندارید، میتوانید یکی از وب سرورهای توکاری که در هر کدام از GIS سرورهای قراردارد، استفاده کنید. در اینجا لینک این وب سرور توکار https://GIS-SERVER01:6080/arcgis است. در اینجا از وب سرور با آدرس https://WEB-SERVER01/wa/ استفاده خواهیم کرد. در مرحلهی بعد کادرهای Authentication را خالی رها کنید. روی finish کلیک کنید. در تصویر زیر میبینید که اتصال ایجاد شده است. نام اتصال را به User@WEB-SERVER01 یا User@GIS-SERVER01 بستگی به سروری که به آن متصل شده اید، تغییر دهید.
روی اتصال دو بار کلیک کنید. لیست سرویسهایی که ایجاد کرده اید، ظاهر میشود. روی یکی از آنها کلیک کنید و سربرگ Preview را انتخاب کنید تا محتویات سرویس را ببینید. این آسان ترین راه دیدن سرویسهایی است که کار میکنند. میخواهیم این سرویسها را در ArcMap بررسی کنیم. پس باید یک layer file ایجاد کنیم. از ArcCatalog روی سرویس Parcles_FGDB راست کلیک کنید و Create Layer را انتخاب کنید. layer file را در مسیر C:\AGSA\Layers و با نام Parcels_FGDB.lyr ذخیره کنید. بدین ترتیب یک layer file با پارامترهای ضروری ایجاد میشود. Parcels_FGDB.lyr این سرویس را از هر ArcGIS forDesktop موجود در یک شبکهی محلی استفاده میکند.
ArcGIS for Desktop یک وب سرور یا یک GIS سرور درون خودش دارد. ArcCatalog را ببندید. ArcMap را بازکنید. روی Add Data کلیک کنید. در مسیر C:\AGSA\Layers قرار بگیرید و layer file را که ذخیره کرده بودید انتخاب کنید.ArcMap تلاش میکند تا با استفاده از اتصال کاربر که درون این layer file قرار دارد، متصل شود و دادهها را بهصورت خودکار تصویر سازی کند. هنگامیکه یک سرویس نقشهای به ArcMap اضافه میشود، بعضی از گزینهها قفل میشوند و کاربر را برای تغییر سرویس نقشه محدود میکند. مثلاً اگر روی یک لایه دو بار کلیک کنید، میبینید که بیشتر گزینهها بهصورت خاکستری و غیر فعال هستند و لایه را از تغییرات محافظت میکند.
در زیر نمونهای از سفارش یک مشتری و ارائهی کار به مشتری آمده است.
یکی از سفارش دهندگان وب اپلیکیشن، یک کلاس عارضه داشت که شامل اطلاعات زمین بود. کاربران میبایست بتوانند در منطقهی خاصی از این کلاس عارضه بزرگ نمایی کنند تا در آن قسمت یک پروژه انجام دهند. مشتری نمیخواست که کاربران از نقشه گزارش گیری کنند و یا برش و یا چاپ در مقیاس بزرگتر انجام دهند؛ زیرا این کلاس عارضه شامل اطلاعات حساسی بود. پیشنهادم این بود که تنها مجوز فقط خواندنی به کاربر ArcGIS for Server بدهیم. به مشتری گفتم که یک فایل.mxd ایجاد کند و کلاس عارضه را به فایل اضافه کند و مقیاس 2,000 را برای فایل تنظیم کند. کاربران نباید دادههای بالاتر از مقیاس 2,000 را ببینند. سپس یک سرویس نقشهای ایجاد کردم و یک اتصال کاربر به سرور و سپس یک layer file از سرویس نقشه ایجاد کردم. این layer file را با همهی کاربران به اشتراک گذاشتم. کاربران میتوانستند روی پروژه جستجو و بزرگ نمایی انجام دهند و با اطلاعات زمین فقط در مقیاس 2,000 کار میکنند. کاربران نمیتوانستند مقیاس را تغییر دهند و یا از دادهها برش و یا خروجی بگیرند زیرا منتشرکنندهی نقشه، مقیاس را تنظیم کرده است. با این وجود، مشتری نیاز کاربر را برآورده میکند.
برگرفته از کتاب نصب، اجرا و مدیریت Arc GIS for server
نویسنده: دکتر محمد بافقی زاده
نشر: انتشارات اکادمیک