خانه > آموزش > GIS > بهینه سازی نمایش داده های برداری

بهینه سازی نمایش داده های برداری

بهینه سازی نمایش داده های برداری

   یکی از حالتهای بهینه ­سازی، بهینه سازی نمایش داده های برداری با مقیاس کوچک است، (حالتی که قرار است در آن تمام داده ­های برداری فراخوانی شده و در مقیاس کوچک نمایش داده شوند­).
در سیستم­های مدیریت پایگاه داده مکانی، تابع ویژه ­ای برای تسریع در این حالت معرفی نگردیده است. همانطور که در مقاله قبل با عنوان ” بهینه سازی ذخیره و بازیابی داده های رستری” اشاره گردید، در چنین حالتی، شاخص گذاری مکانی کاملاً بی­ اثر می­ ماند. شکل­ زیر مدت زمان مورد نیاز جهت نمایش یک نمونه از داده ­های مکانی برداری را که شامل یازده لایه با حجم 980 مگابایت بوده است نشان می­دهد. همانگونه که ملاحظه میگردد در مقیاس 1:11,000,000 که همه عوارض در محدوده نمایش قرار می­گیرند و شاخص گذاری مکانی بی تاثیر می­شود، مدت زمان 80 ثانیه زمان لازم بوده است تا داده مذکور به نمایش درآید. همین نقشه در مقیاس 1:100,000 که تنها بعضی از عوارض نقشه در محدوده نمایش قرار میگیرند و شاخص گذاری مکانی کاملاً موثر می­باشد، در مدت یک ثانیه آماده می­شود.

Vector_Optimization_1

مدت زمان لازم برای نمایش نقشه نمونه

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

Vector_Optimization_2

ساده سازی داده های برداری در چهار مرحله

   داده­ های هریک از این سطوح، برای نمایش در محدوده ­ای از مقیاس، مناسب خواهند بود. با وجود آن­که روش­های بسیار متعددی برای ساده­ سازی نقشه­ ها وجود دارند، که لازم است در هر مورد روش مناسب همان مورد را انتخاب نمود، ولی بعضی از روش­ها رایج­تر از بقیه شده ­اند.
يکي از بهترين راه­­هاي انجام ساده سازي، الگوريتم داگلاس پوکر است. در اين الگوريتم، از يک محدوده تقریب عرضي، که به نسبت مقياس نقشه يا داده نهايي و تعداد نقاط آن تعيين مي­شود، به ساده سازي اقدام مي­شود.
تابع SDO_UTIL.SIMPLIFY در اوراکل نیز با این روش عمل می­کند. در ArcGIS نیز اغلب از توابع Simplify Line, Simplify Polygon برای این منظور استفاده می­شود.
در مرحله اول با در نظر گرفتن مقدار Offset اقدام به حذف vertexها میشود. هر لایه اطلاعاتی تا حدی می­تواند عمل حذف را بپذیرد و بعد از آن، تغییردادن مقدار Offset اثری در نتیجه نهایی نمی­گذارد. در نهایت، اکثر رشته­ های خطی تنها دارای دو راس ابتدا و انتها شده ­اند، و ادامه­ حذف رئوس باعث حذف خود رشته خواهد شد.
در مرحله دوم با ادغام رشته­ هایی که رئوس ابتدایی آنها با رئوس انتهایی دیگری نزدیکتر از مقدار حداقل تعریف شده باشد، رشته­ ی خطی جدیدی بوجود می­ آید که امکان حذف مجدد رئوس در آن فراهم می­گردد. برای این عمل، از تابع  Dissolve استفاده میگردد. در شکل زیر  تصویری از هر دو مرحله را خواهید دید. تصویر بالاتر حالتی را نشان میدهد که حذف vertex انجام شده و در تصویر پایین تر خطوطی که حذف vertex شده بودند با یکدیگر Dissolve شده اند.

Vector_Optimization_3

نمایش مراحل خلاصه سازی داده های برداری

   با توجه به حجم داده ­های نمونه، عموماً تعداد چهار یا پنج سطح ساده­ سازی برای اطلاعات لایه­ ها، کافی و مناسب ­می­باشد. برای ساده­ سازی بعضی از لایه­ های خطی بسیار سنگین (مثل آب­ریز و منحنی میزان)، میتوان با برنامه ­نویسی یک نوع ساده­ سازی با الگوریتم داگلاس پوکر را نیز انجام داد. این برنامه میتواند عملیات ساده­ سازی و Dissolve را همزمان انجام دهد و بدون آنکه ظاهر تصویر تغییر کند، رئوس اضافی به­ درستی حذف شده و حجم لایه­ ها نیز کاهش پیدا کند. جدول زیردو نمونه از لایه­ ها را همراه با سه سطح ساده­ سازی و محدوده نمایشی هریک نشان می­دهد.

Vector_Optimization_4

نتایج ساده سازی برداری دو لایه نمونه

شکل زیر مقایسه ­ای بین زمان پاسخگویی به ارائه نقشه نمونه در بزرگ­نمایی ­های مختلف، در دوحالت هرم نقشه ­ای و بدون هرم نقشه­ ای را نشان می­دهد. همانطور که ملاحظه می­گردد در حالتی که داده­ ها با معماری هرم نقشه ­­ای آرایش پیدا کردند تقریباً در تمام بزرگ­نمایی ­ها مدت زمان پاسخگویی یکنواخت بوده و در حدود 4 ثانیه می­ باشد. ولی در حالت بدون ساختار هرم نقشه ­ای، بخصوص در مقیاس کوچک، مدت زمان پاسخگویی طولانی ­تر شده و به بیش از 80ثانیه می­رسد.

Vector_Optimization_5

مقایسه زمان ارائه نقشه در حالت هرم نقشه ای و بدون هرم نقشه ای

   هنگامی­که برای هر لایه، تعداد 4 لایه جنبی دیگر به ­عنوان ساده­ سازی شده آن لایه برای نمایش در محدوده­ های بزرگ­نمایی مختلف تعریف می­شوند، از دید کاربر کمی پیچیدگی بوجود می ­آید. مثلا کاربر یک لایه را خاموش می­کند ولی متوجه می­شود در بزرگنمایی­ های بخصوصی باز روشن می­ماند و لازم است لایه ساده ­سازی شده مربوط به آن محدوده را نیز خاموش کند. همین مشکل هنگام روشن کردن لایه ­ها نیز مشاهده می­گردد. برای این منظور در نرم ­افزارهای کاربردی مانند ژئوسرور امکاناتی با عنوان Group Layers پیش بینی شده است.  با این امکان می­توان لایه اصلی و تمام لایه­ های ساده ­سازی شده مربوطه آن­را همراه با تعاریف محدوده نمایش داده و نحوه نمایش آن­ها در یک گروه لایه را تعریف نمود. این مجموعه از دید کاربر مشابه با یک لایه منفرد معمولی می­گردد که به راحتی قابل بهره­ برداری است.

درباره حسن واعظی

کارشناس نقشه برداری و کارشناس ارشد سنجش از دور و سیستمهای اطلاعات مکانی.
آشنا به زبانهای برنامه نویسی VB و VB.Net در نرم افزارهای مرتبط با GIS.
مدرس دوره های مختلف مقدماتی و پیشرفته ArcGIS.
hassanvaezi[at]gmail.com

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدبخشهایی که علامت دارند ضروری هستند. لطفاً آنها را تکمیل نمایید. *

*

*

code

theme