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

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


ذخیره کردن منبع داده-موسسه چشم انداز هزاره سوم ملل-آموزش کاربردی GIS و RS

کپی کردن منبع داده به GIS سرورها را می‌توان مانند اجرای ArcGIS for Server روی شبکه‌ی اینترنت دانست. ازآنجاکه برای GIS سرورهایی که در شبکه‌ی اینترنت قرار دارند، اتصال به منبع داده‌ی محلی یک نقص است؛ ارسال یک کپی از منبع داده به شبکه، مؤثرتر است؛ اما اگر سرور شما روی یک شبکه‌ی محلی (مانند اینترانت) ایجادشده است، بهتر است که منبع داده‌ها را ذخیره کنید.

اگر سایت سرور شما روی همان شبکه‌ای است که ژئودیتابیس در آنجا قرار دارد، همیشه هر منبع داده‌ی جدیدی را ذخیره کنید.

ذخیره‌ی یک پوشه

پوشه‌ای که شامل یک ژئودیتابیس از نوع file و یا Personal است، برای تمام GIS سرورهای موجود روی سایت سرور، قابل‌دسترس است؛ بنابراین به‌جای کپی منبع داده در همه‌ی GIS سرورها، سرور به این پوشه متصل می‌شود. ابتدا باید ژئودیتابیس را به اشتراک بگذاریم تا از جاهای مختلف قابل‌دسترس باشد. پایگاه داده باید در مکانی باشد که سطح دسترسی بالایی داشته باشد، مانند یک سرور داده یا یک سیستم NAS.

برای این تمرین از WEB-SERVER01 استفاده می‌کنیم. ازآنجاکه از نصب نوع Production استفاده کردهایم، این ژئودیتابیس به‌عنوان یک انبار مخزن پیکربندی است. اگر از نصب آزمایشی استفاده کردید، می‌توانید این بخش با عنوان “ذخیره‌ی یک پوشه” را نادیده بگیرید و به بخش “استفاده از منبع داده‌ی ذخیره‌شده” بروید. ژئودیتابیس LandParcels را روی WEB-SERVER01 در مسیر C:\AGSA\Data\ کپی کنید. حال باید پوشه‌ی Data حاوی ژئودیتابیس را به اشتراک بگذاریم. روی پوشه‌ی Data راست کلیک و Properties را انتخاب کنید. سربرگ Share را انتخاب کنید و در لیست کشویی با عنوان Share type کلیک کنید. در این لیست حساب کاربری ArcGIS for Server که در نصب استفاده کرده‌اید، قرار دارد. بسته به پیکربندی،GIS\arcgis.server یا agsServer را انتخاب کنید. Add را کلیک کنید تا به GIS سرورهایی که به این پوشه دسترسی دارند، دسترسی داشته باشید. روی Share کلیک کنید. حالا به ژئودیتابیس موجود در پوشه‌ی \\WEB-SERVER01\Data دسترسی دارید.

Chrome را بازکنید و آدرس http://GIS-SERVER01:6080/arcgis/manger یا http://WEB-SERVER01/waadmin (در صورت نصب Web Adaptor) را وارد کنید تا ArcGIS Server Manager باز شود. نام کاربری و رمز حساب مدیر را وارد کنید تا وارد محیط ArcGIS Server Manager شوید. روی Site کلیک کنید. از قسمت سمت چپ Data Store را انتخاب کنید و روی دکمه‌ی Register Folder کلیک کنید. فرم Register Folder ظاهر می‌شود. در فیلد Name، عبارت GeoDB را بنویسید. Publisher Folder Path مسیری است که ژئودیتابیس در آنجا قرار دارد. پس برای این گزینه مسیر \\WEB-SERVER01\Data\ را وارد کنید. می‌توانید نام ماشین host را مشخص کنید که از این سیستم، سرویس نقشه‌ای را منتشر کردید. در اینجا از یکی از GIS سرورها به‌عنوان این سیستم استفاده کرده‌ایم. روی Create کلیک کنید.

روی Validate All کلیک کنید تا ذخیره‌ی داده‌ها اعتبار سنجی شود. سپس باید پوشه‌ی خود را به‌صورت زیر ببینید.

برای اینکه ژئودیتابیس ذخیره‌شده را به‌صورت یک نقشه منتشر کنیم، باید از ماژول ArcMap استفاده کنیم تا به پوشه‌ی Data که به اشتراک گذاشته شده است، متصل شویم. برای این اتصال از آدرس \\WEB-SERVER01\Data\ استفاده می‌کنیم. حالا دومین سرویس نقشه‌ای را منتشر می‌کنیم که از یک منبع داده‌ی ذخیره‌شده استفاده می‌کند.

استفاده از منبع داده‌ی ذخیره‌شده

1- ArcMap را بازکنید و روی Add Data کلیک کنید.
2- روی آیکون Connect to Folder کلیک کنید و \\WEB-SERVER01\Data\ را تایپ کنید.
3- کلاس عارضه‌ی LandParcels را پیدا کنید و روی Add کلیک کنید.
4- مراحل برچسب‌گذاری و سمبولوژی را که قبلاً انجام دادیم، مجدداً انجام دهید و سرویس نقشه را منتشر کنید. مرحله‌‌ی انتشار سرویس نقشه را برای اولین سرویس نقشه‌ای قبلاً انجام داده‌ایم. نام سرویس را Parcels_FGDB_R بگذارید. هشداری برای ذخیره‌ی ژئودیتابیس ظاهر می‌شود. این عملیات برای ژئودیتابیس‌های کوچک که فقط خواندنی هستند، خوب کار می‌کند. چنانچه پایگاه داده بزرگ‌تر شود و ویرایش‌های بیشتری روی این ژئودیتابیس به اشتراک‌گذاری شده انجام شود، بازدهی ژئودیتابیس پائین خواهد آمد. هنگامی‌که کاربران؛ ژئودیتابیس موجود در پوشه‌ی به اشتراک‌گذاری شده (Data) را ویرایش می‌کنند، در نهایت ژئودیتابیسی با داده‌های ناسازگار به وجود خواهد آمد. راه حلی که پیشنهاد می‌شود انتقال ژئودیتابیس به یک ژئودیتابیس enterprise است. ژئودیتابیس enterprise می‌تواند شبکه‌های پیچیده را مدیریت کند و می‌توان ویرایش‌های زیادی روی آن انجام داد.

ذخیره‌ی داده‌ها در یک ژئودیتابیس enterprise

ژئودیتابیس enterprise یا همان SDE شرکت Esri برای دسترسی کاربران در یک شبکه‌ی پیچیده و گسترده به کار می‌رود و این حسن SDE است. پایگاه داده خود را روی یک سرور قدرتمند قرار دهید و اجازه دهید تا کاربران به آن دسترسی پیدا کنند. GIS سرور باید شامل پایگاه داده‌ی مشتریانی باشد که می‌خواهند به enterprise متصل شوند. مثلاً GIS سرور نمی‌تواند از پایگاه‌ داده‌ی Oracle 32 بیتی مشتری استفاده کند تا به ژئودیتابیس متصل شود زیرا GIS سرور یک نرم‌افزار 64 بیتی است؛ بنابراین باید پایگاه داده‌ی Oracle 64 بیتی مشتری را روی GIS سرور نصب کنید. نه‌تنها باید پایگاه داده‌ی صحیح مشتری را روی سرور نصب کنید، باید مطمئن شوید که مشتری و سرور از پارامترهای اتصال یکسانی استفاده می‌کنند (مانند نام پایگاه داده‌ی سرور، آدرس IP، پورت، نام کاربری و رمز عبور و نسخه‌ی SDE). اگر با SDE کار می‌کنید، باید این مراحل را قبل از ایجاد سرویس نقشه‌ای SDE خود انجام دهید.

SDE موردنظر در این مثال، روی یک سیستم به نام SDE-SERVER01، نرم‌افزار SQL Server Express 2008 R2 64 بیتی را اجرا می‌کند. هم‌چنین SQL Server Express 64 بیتی کاربر را روی GIS سرورهای GIS-SERVER01 و GIS-SERVER02 نصب‌کرده‌ایم. پیشنهاد می‌کنم که همان SQL Server ای که کاربر استفاده می‌کند را روی همه‌ی GIS سرورها نصب کنید. بعد از تکمیل نصب یک اتصال SDE به SDE-SERVER01 ایجاد می‌کنیم. تنظیمات حاصل از اتصال در یک فایل با پسوند.sde ذخیره می‌شود. از این فایل برای ذخیره‌ی یک پایگاه داده‌ی SDE استفاده می‌کنیم. ArcCatalog را بازکنید و به Database Connections بروید. روی Add Database Connection دو بار کلیک کنید. از لیست کشویی Database Platform، instance SQL Server را انتخاب کنید. در اینجا نمونه‌ای که از نوع SQL Server ساخته¬ایم، SDESQLExpress است. روی Connect کلیک کنید. نام اتصال را با الگوی User@CONNECTION-VERSION ایجاد کنید. نام اتصال در اینجا به‌صورت SDE@SDESQLExpress-DEFAULT است. نام این اتصال نشان می‌دهد که با استفاده از SDE به SQL server به‌عنوان یک کاربر متصل می‌شود و SDE.DEFAULT به‌عنوان نسخه‌ی پیش‌فرض است. روی اتصال ایجاد شده دو بار کلیک کنید تا مطمئن شوید که اتصال موفقی دارید. اگر این اتصال به‌خوبی کار کند، یک فایل اتصال به وجود می‌آید. فایل اتصال برای هر کاربری در دسترس است و در مسیر C:\Users\ username\AppData\Roaming\ESRI\Desktop10.x\ArcCatalog قرار دارد. فایل اتصال با پسوند.sde را در مسیر C:\AGSA\Connections کپی کنید. حالا آماده ایم تا منبع داده (ژئودیتابیس) را ذخیره کنیم.

بسته به پایگاه داده‌ی enterprise، مراحل بالا ممکن است کمی متفاوت باشد. در هر صورت این مراحل یک فایل اتصال با پسوند.sde می‌دهد که برای ثبت منبع داده به آن نیاز خواهیم داشت.

خوب حالا اتصال SDE را پیکربندی کرده‌ایم. از مرورگر Chrome وارد ArcGIS for Server Manager شوید. سپس مراحل زیر را انجام دهید.

1- روی گزینه‌ی Site بزنید.
2- از بخش سمت چپ Data Store را انتخاب کنید و سپس روی دکمه‌ی Register Database کلیک کنید.
3- روی Browse کلیک کنید و فایل اتصال با پسوند.sde را انتخاب کنید. این فایل را قبلاً در مسیر C:\AGSA\Connections قرار داده اید.
4- دقت کنید که تیک گزینه‌ی Match Publisher را بزنید. این گزینه بررسی می‌کند که آیا از پارامترهای اتصال مشابهی استفاده می‌کنیم؟
5- روی Register کلیک کنید.

خوب حالا این اتصال SDE از همه‌ی GIS سرورها قابل استفاده است. اگر این اتصال با موفقیت انجام شود بدین معنی است که GIS سرورها با موفقیت به این منبع داده می‌توانند متصل شوند. اگر خطایی ظاهر شد با این عنوان ” یکی از GIS سرورهای شما برای اتصال به این منبع داده با این پارامترها، شکست خورده است”، باید به هر کدام از GIS سرورها سر بزنید تا مطمئن شوید که پایگاه داده‌ی مشتری نصب شده است و می‌توانید به پایگاه داده متصل شوید. در این مثال پایگاه داده‌ی مشتری، SQL Server Express 2008 R2 64 بیتی است. دقت کنید که حتماً باید 64 بیتی باشد زیرا معماری سرور بر اساس 64 بیتی بنا شده است.

ضرورتی ندارد که ArcGIS for Desktop را روی GIS سروری که از اتصال SDE استفاده می‌کند، نصب کنید. مشتری پایگاه داده یک عنصر کلیدی است.

ArcGIS for Server برای استفاده از اتصال SDE درایورهای ضروری را نصب می‌کند.

ایجاد سرویس‌های نقشه‌ای با ژئودیتابیس enterprise

مقاوم‌ترین سطح دسترسی برای ایجاد سرویس‌های نقشه ای داشتن یک ژئودیتابیس enterprise است. اگر می‌خواهید به کاربران زیادی سرویس دهید، باید از سرویس نقشه‌ای SDE استفاده کنید. اگر بودجه‌ی خرید یک محصول تجاری مدیریت پایگاه داده DBMS را ندارید، هیچ نیازی به آن ندارید. می‌توانید از PostgreSQL یا SQL Server Express استفاده کنید که ArcGIS for Server از هر دوی آن‌ها پشتیبانی می‌کند.

پیشنهاد می‌شود که ژئودیتابیس enterprise خود را به‌عنوان منبع داده ذخیره کنید. هنگامی‌که از یک ژئودیتابیس enterprise استفاده می‌کنید، سرور نمی‌تواند از کپی آن استفاده کند.

در بخش ذخیره‌ی داده‌ها در یک ژئودیتابیس enterprise، یک اتصال enterprise ایجاد کردیم. حال با استفاده از این اتصال داده‌ها را از پایگاه داده به ArcMap اضافه می‌کنیم. بعد از اضافه کردن داده‌ها در ArcMap می‌توانیم به داده‌ها برچسب‌گذاری و سمبولوژی اعمال کنیم و سرویس نقشه‌ای را منتشر کنیم. این فایل را ذخیره کنید.ArcMap را بازکنید و مراحل زیر را دنبال کنید:

1- روی Add Data کلیک کنید.

2- به database connection بروید. SDE@SDESQLExpress-DEFAULT را انتخاب کنید. کلاس عارضه‌ی LandParcels را انتخاب کنید. مراحل سمبولوژی را که قبلاً انجام داده ایم، مجدداً انجام دهید.

3- فایل را با نام Parcels_SDE.mxd و در مسیر C:\AGSA\Documents\ ذخیره کنید.

مراحل انتشار سرویس نقشه‌ای مستقل از پایگاه داده است.

4- از منوی file گزینه‌ی Share As سپس Service را کلیک کنید. Publish a Service را انتخاب کنید و next را بزنید.

5- از لیست بازشو، اتصال Publisher@GIS-SERVER01 یا Publisher@WEB-SERVER01 را انتخاب کنید و صبر کنید تا اتصال برقرار شود.

6- در فیلد Service Name عبارت Parcels_SDE را تایپ کنید. این سرویس از یک ژئودیتابیس enterprise استفاده می‌کند.

7- روی next بزنید.

8- روی Analyse کلیک کنید.

شاید هشداری مبنی بر ثبت اتصال SDE ببینید. در این صورت سرور مجبور نیست داده را به GIS سرور کپی کند.

تا اینجا یک سرویس نقشه‌ای SDE ایجاد کردید. کاربر SDE کنترل کاملی روی ژئودیتابیس دارد و این موضوع خوبی نیست. یک راه حل این است که یک کاربر اختصاصی در DBMS ایجاد کنید. این کاربر اختصاصی را AGSSERVER می‌نامیم که تنها مجوز فقط خواندنی روی داده‌های مورداستفاده‌ی شما را دارد. با این راه حل، اتصالاتی که از سرور می‌رسند را برای کاربر AGSSERVER فیلتر می‌کنید. در این حالت در ArcCatalog باید یک اتصال SDE جدید ایجاد کنید. نام این اتصال AGSSERVER@SDESQLExpress-DEFAULT است. از آنجا که این یک اتصال جدید است، باید یک پایگاه داده‌ی جدید روی سرور ایجاد کنید. می‌توانید یک فایل اتصال.sde بگیرید و این فایل اتصال را منبع داده اضافه کنید. عمل اضافه کردن این فایل اتصال در ArcGIS for Server Manager انجام می‌شود که این عمل را قبلاً بیان کرده‌ایم.

اتصالات SDE، میانبر هستند. برای هر پارامتر اتصالی که متفاوت است، باید یک منبع داده‌ی جدید ثبت کنید؛ مانند موردی که در بالا توضیح دادیم و برای آن راه حل ارائه کردیم. مثلاً اگر بخواهید یک اتصال SDE دیگری ایجاد کنید که به نسخه‌ی دیگری اشاره می‌کند و یا کاربر دیگری می‌خواهد از این اتصال استفاده کند؛ باید یک اتصال جدید ایجاد کنید و یک فایل اتصال.sde مجزایی ثبت کنید.

ایجاد و انتشار offline

در مواقعی که ناشران و ایجاد کنندگان نقشه‌ی شما دسترسی مستقیم به سرور ندارند و مثلاً در سازمان دیگری هستند و Firewall از اتصال آن‌ها جلوگیری می‌کند. ArcGIS for Server توانایی ایجاد نقشه را به‌صورت offline می‌دهد و نقشه را در یک فایل تعریف سرویس با پسوند.sd ذخیره و سپس نقشه را با استفاده از این فایل منتشر می‌کند.

1- فایل Parcels.mxd را بازکنید. از منوی File گزینه‌ی Share As سپس Service را کلیک کنید.

2- در فرم ظاهر شده گزینه‌ی Save a service definition را انتخاب کنید. سپس Next را کلیک کنید.

3- از فرم Save a Service Definition گزینه‌ی No available را انتخاب کنید.

4- گزینه‌ی Include data in the sd file را تیک دار کنید. در فیلد Service Name عبارت Parcels_from_sd را تایپ کنید. Next را کلیک کنید. سپس مکان ذخیره‌ی فایل را مشخص کنید.

5- فایل را در مسیر C:\AGSA\ServiceDefinitions ذخیره کنید. Continue را کلیک کنید. روی دکمه‌ی Stage کلیک کنید تا فایل با پسوند.sd ذخیره شود.

حال باید سرویس نقشه را با این فایل منتشر کنیم. وارد ArcGIS Server Manager شوید. دکمه‌ی Publish Service را خواهید دید. روی آن کلیک کنید و فایل.sd خود را پیدا کنید. دقت داشته باشید که این فایل را از سیستم publisher کپی کرده باشید. در این مثال، این فایل کمتر از 1 مگابایت است. بعد از انتخاب فایل.sd دکمه‌ی Next را بزنید. بقیه تنظیمات را به‌صورت پیش‌فرض بپذیرید. روی next و سپس Publish کلیک کنید.

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

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

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

وب جی آی اس (WebGIS)


Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

Warning: ltrim() expects parameter 1 to be string, object given in /home/gisland1/public_html/wp-includes/formatting.php on line 4494

ArcCatalogArcGIS for ServerArcGIS for Server ManagerArcGIS Server ManagerArcMapChromeDataDatabase ConnectionsDBMSEnterpriseESRIfileFirewallgisGIS سرورGIS-SERVER01GIS-SERVER02LandParcelsofflinePersonalSDESQL ServerSQL Server ExpressWeb AdaptorWEB-SERVER01آدرس IPاینترانتبرچسب‌گذاریپایگاه‌ داده‌ی Oracleپایگاه داده‌ی سرورپورتپوشهپوشه‌ی Dataداده‌ی محلیذخیره کردن منبع دادهذخیره‌ی یک پوشهرمز عبورژئودیتابیسژئودیتابیس enterpriseژئودیتابیس LandParcelsسمبولوژیسیستم NASشبکهشبکه‌ی اینترنتشبکه‌ی محلیکپی کردن منبع دادهماژولماژول ArcMapمدیریت پایگاه دادهمرورگر Chromeنام کاربرینسخه‌ی SDE

بدون دیدگاه

دیدگاهتان را بنویسید