تاریخ و اهمیت نقشه های تحت وب

نقشه های تحت وب

برای دهه ها، اطلاعات جغرافیایی رقومی (دیجیتال) محدود به کامپیوتر های شخصی یا ابررایانه ها شده بود. در نتیجه امکان به اشتراک گذاری آن با سایر سازمانها دشوار بود. متخصصان GIS تنها از طریق کامپیوتر های شخصی یا شبکه محلی به داده ها دسترسی داشتند و دسترسی به نقشه های تحت وب امکانپذیر نبود.

برای دسترسی، مشاهده و تحلیل این داده ها، نرم افزار های تخصصی نیاز بود. این به روشنی دامنه مخاطبان این نوع داده ها را محدود کرده بود. با ظهور و توسعه اینترنت در اواسط دهه ۹۰ میلادی، امکان به اشتراک گذاری نقشه ها و سایر اطلاعات جغرافیایی به وجود آمده بود.

نقشه های تعامل پذیر

گام نخست به اشتراک گذاری فرمت تصویری نقشه ها در صفحات وب بود. با این حال مردم و سازمانها خیلی زود به ارزش نقشه هایی که بتوانند با کاربر در تعامل باشند، پی بردند. اولین نقشه های تعامل پذیر (Interactive Maps)، با کمک نسخه های اولیه نرم افزارهایی مانند Mapserver و Esri ArcIMS پدید آمدند. این نقشه ها به شدت کند و ناواضح بودند. همچنین با توجه به استاندارد های حال حاضر به هیچ وجه کاربر پسند نبودند. با این حال، این نقشه های تعامل پذیر در آن دوره تحول بزرگی محسوب می شدند. این ایده که می توان از یک مرورگر ساده وب برای دریافت اطلاعات از هر نقطه در نقشه استفاده کرد و فرمت رستری نقشه را مشاهده کرد، نویدبخش افق های جدیدی در این حوزه بود.

کتاب GIS Online معمولا در کتابخانه های اکثر دانشکده های علوم مکانی و جغرافیا یافت می شود. این کتابدرک روشن تری از نقشه های تحت وب در آن دوره را به مخاطب انتقال می دهد.

چالشهای تاریخی نقشه های تحت وب

نقشه های پویا در آن دوره دو چالش اساسی پیش روی خود می دیدند. سرعت و مقیاس پذیری (قابلیت مدیریت همزمان کاربران متعدد) چالشهای اساسی نقشه ها برای نمایش در اینترنت بود. سرور قادر به مدیریت همزمان تنها تعداد محدودی ازدرخواست ها بود.

بعدها از نقشه های رستری چیده شده در کنار هم (Tiled Maps) که از قبل تولید شده بود استفاده شد. این چالش ها با استفاده از تایلها تا حد زیادی مرتفع شدند. در واقع به جای اینکه هر بار سرور نقشه جدیدی را تولید کند، تنها یک بار این را انجام می داد. تنها در درخواست اولیه نقشه منطقه را در مقیاس های مختلف تولید و در حافظه ذخیره می کرد. زمانی که این کار انجام شود، سرور نقشه های رستری تولید شده را می تواند بصورت موزاییک پیوسته نشان دهد. هر درخواست از نقشه ی رستری از قبل تولید شده بسیار سریعتر از تولید نقشه جدید در هر درخواست انجام می شود. این خود اجازه استفاده همزمان چند صد کاربر را به سرور می دهد.

با ظهور وب، نقشه های گوگل و استفاده از فناوری AJAX، وقفه های ایجاد شده در هر بار بزرگنمایی نقشه، دیگر اتفاق نمی افتاد. در واقع نقشه ها بصورت پیوسته و بدون وقفه در هنگام بزرگنمایی نشان داده می شوند.

کارتوگرافی نقشه های اینترنتی

کارتوگراف ها (نقشه نگار ها) که از بسیاری از عناصر سنتی در طراحی نقشه ها بخاطر سرعت بالاتر چشم پوشی کرده بودند. اما آنها به توانایی تکنیک Tiling در نقشه های تحت وب پی برده بودند. با استفاده از این روش، دیگر تعداد لایه ها در نقشه سرعت سرور را نمی گیرد.

وقتی Tile های از پیش تولید شده را داشته باشیم یک نقشه زیبا با تمام عناصر زیبایی شناختی آن را درست به سرعت یک نقشه ساده و نه چندان جذاب می توان نمایش داد. جالب اینجاست که نقشه های تحت وب به فرصتی برای نمایش تکنیک های کارتوگرافی و تولید نقشه های جذاب تبدیل شدند. در نتیجه نقشه های پایه (Basemaps) سریع و دقیق نسل Web 2.0 پا به عرصه وجود گذاشتند. نمونه این نقشه ها را در گوگل، مایکروسافت، OSM و برخی دیگر از وبسایت های معتبر می توان یافت.

همزمان با افزایش قابلیت های مرورگر های وب برای ترسیم اشکال گرافیکی با استفاده از فناوری های SVG و WebGL، امکان تعامل پذیری نیز افزایش یافت. برای سالها، توسعه دهندگان وب از ابزار هایی مانند Adobe Flash Player و Microsoft Silverlight برای نشان دادن انیمیشن و ابزار های بزرگنمایی و کنترل نقشه استفاده می کردند. اخیرا، برنامه نویسان از امکانات جدید HTML5 که توسط اکثر مرورگر های مدرن پشتیبانی می شود به جای این افزونه ها استفاده می کنند.

میزان استفاده از نقشه های تحت وب

با اینکه نقشه های تحت وب از اواسط دهه اول قرن ۲۱ میلادی پا به عرصه وجود گذاشتند، هنوز میزان نقشه های ذخیره شده در کامپیوتر های شخصی برای نمایش و تحلیل نقشه ها، قابل توجه است.

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

اهمیت وب سرویس ها

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

  1. شما از طریق درخواست به وسیله یک برنامه سمت کاربر (کلاینت) وب سرویس را فراخوانی می کنید. برای اینکار درخواست معمولا از HTTP به عنوان یک پروتکل ارتباطی میان کلاینت و سرور استفاده می کنیم. این درخواست شامل بخشهای اطلاعاتی ساختار یافته ای هستند که به آنها پارامتر می گوییم. این پارامترها شامل دستورالعملهایی درباره چگونگی انجام این عمل است.
  2. سرور درخواست (Request) را می خواند و با در نظر گرفتن همه پارامترها، وب سرویس را اجرا می کند. این در واقع به تولید پاسخ (Response) منجر می شود که معمولا بصورت رشته متن (String) یا تصویر است.
  3. سرور این پاسخ را می فرستد و برنامه شما آن را اجرا می کند. نمودار ساده زیر، این روند را به تصویر کشیده است. پاسخ سرور در نهایت نقشه بارندگی را بدست می دهد.
نمونه ای از چرخه درخواست کاربر و پاسخ سرور در یک سرویس مکانی

درک بهتر مفاهیم با یک مثال

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

پارامترهای درخواست نقشه

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

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

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

صدها درخواست در هر مشاهده نقشه

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

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

مشاهده آنی (Real Time) درخواست های وب سرویس ها

در اینجا میخواهیم مثال ساده ای بزنیم. این مثال میتواند پشت صحنه ی درخواست های وب را در مرورگرتان وقتی در یک وب سایت کار می کنید نشان دهد. این دستورالعمل برای ابزار هایی است که در مرورگر فایرفاکس وجود دارند. کروم و سایر مرورگرها ابزار های مشابهی دارند که معمولا با عنوان ابزارهای توسعه (Developer Tools) یا ابزار های وب (Web Tools) شناخته می شوند. با ای حال پیدا کردن آنها در مرورگرتان نباید کار سختی باشد.

مراحل کار
  1. فایرفاکس را اجرا کنید و از منوی اصلی این گزینه ها را انتخاب کنید. Web Developer>Network با این کار پنجره ابزارهای توسعه در قسمت پایین مرورگر باز خواهد شد. در بالای این پنجره گزینه های inspector و consol و… را می توان دید. در حالت پیش فرض گزینه network فعال است که برای مشاهده ترافیک شبکه ای است. علاوه بر network گزینه console هم اهمیت دارد زیرا در صورتی که جایی در کُد جاوا اسکریپت مشکلی وجود داشته باشد، پیام های خطای آن را در این قسمت می توان یافت.
  2. اطمینان حاصل کنید که زبانه all در منو پایین تب ها فعال باشد (که شامل آیتم هایی مانند all و HTML و CSS و… خواهد بود.)
  3. این وبسایت را کلیک کنید. توجه داشته باشید که این سایت تنها از نرم افزار های مکانی متن باز و رایگان استفاده می کند.
  4. در این نقشه کمی بگردید و آن را بررسی کنید.
  5. در هنگام فرستادن درخواست ها توجه کنید که شما درخواست های زیادی را برای تایل ها مشاهده خواهید کرد.
  6. ماوس را روی یکی از درخواست ها ببرید تا URL کامل را ببینید. اگر پاسخ یک تصویر باشد با بردن ماوس روی تصویر کوچک جلوی URL تصویر بزرگتر نشان داده می شود.
  7. وقتی گزینه ای در لیست درخواست ها انتخاب می شود، قسمت سمت راست پنجره باز شده و اطلاعات فنی دیگری را در مورد درخواست و پاسخ به شما نشان می دهد.

فناوری های رایگان و متن باز و نقش آنها در تهیه نقشه های تحت وب

منبع

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *