مقدمه
نمایش نقشه یکی از پایهایترین و پرکاربردترین سرویسهای مپ و دیگر ارائهدهندگان سرویسهای مکان-محور است. با استفاده از این سرویس میتوانید تصاویر نقشه جغرافیایی مربوط به مکان موردنظر خود را دریافت نموده و با یا بدون استفاده از ابزارهای مپ برای اهداف مختلف نظیر نمایش محل(های) روی نقشه به کاربر، دریافت موقعیت کاربر و یا بهعنوان پیشزمینهای برای استفاده از سرویسهای نقشهمحور دیگر مانند کروکی، مسیریابی و مانند آن در پلتفرمهای مختلف مانند وب و موبایل استفاده کنید.
در این مقاله به بررسی دو روش ارائه و نمایش نقشه یعنی بهصورت تصاویر رستری و تصاویر وکتوری میپردازیم.
تصویر وکتوری/رستری چیست؟
تصاویر کامپیوتری به دوستهی کلی پیکسلی (رستری [raster]) و برداری (وکتوری [vector]) تقسیم میشوند. تصاویر رستری بهصورت Bitmap هستند که متشکل از واحدهایی متناهی به نام پیکسل بوده و با توجه به اینکه هر پیکسل اطلاعات رنگ یک تکه از تصویر را در خود نگه میدارد، جزئیات ثابتی از تصویر را ذخیره میکنند.
در مقابل، تصاویر وکتوری دادههای تصویر را بهصورت روابط برداری میان نقاط و با استفاده از خطوط ذخیره کرده و این امکان را میدهند که تصویر را بدون افت کیفیت بهتوان بزرگنمایی نمود.
📌 در تصاویر رستری در اندازه ثابت، این پیچیدگی و تنوع رنگی تصویر است که روی حجم و زمان پردازش آن تأثیر میگذارد، نه پیچیدگی تصویری که سعی در نمایش آن را دارد. حال آنکه در تصاویر وکتوری پیچیدگی تصویر از نظر میزان خطوط و ترسیمات مستقیماً بر زمان پردازش و مصرف منابع مؤثر است.
تایلهای نقشه
کاشیهای نقشه نشاندهندهی جزئیات جغرافیایی متعدد و متفاوتی هستند، برای تولید هر یک از کاشیها، میتوان از تصاویر برداری یا رستری استفاده کرد. در هرکدام از این تصاویر، لایههای مختلفی از جزئیات با یکدیگر ترکیب شده تا دادههای نهایی هر کاشی را تشکیل دهند. رستری یا وکتوریبودن کاشیهای نقشه، هریک مزایا و معایب خاص خود را دارد که در ادامه به آنها خواهیم پرداخت.
تایلهای رستری
تایلهای رستری یک سری عکس هستند (معمولاً با فرمتهای PNG یا JPG) که به سمت کاربر فرستاده شده و مستقیماً نمایش داده میشوند. آنها یا به درخواست کاربر رندر شده و ارسال میشوند یا بهصورت ازپیشآماده، رندر و کششده و برای ارسال آماده هستند که طبیعتاً در این حالت سرعت بارگذاری بیشتری خواهند داشت. در این روش فضای ذخیرهسازی و قدرت پردازش سرور نقش بسیار مهمی در نتیجه و سرعت پاسخدهی به کاربران بازی خواهد کرد.
مزایای تایل رستری
- مناسب دادههای رستری مانند تصاویر هوایی و ماهوارهای
- بدون نیاز به محاسبات سمت کاربر
- سرعت بارگذاری بیشتر
- یکسانبودن بین پلتفرمهای مختلف (یعنی وب و موبایل میتوانند هر دو از یک API استفاده نمود)
- یکسانبودن در کلاینتها و پروایدرهای مختلف
- کششدن سریعتر و راحتتر
معایب تایل رستری
- استایلدهی ثابت و غیرمتغیر (برای ایجاد تغییر در جزئیات تصاویر نیازمند تولید مجدد آنها خواهیم بود)
- قابلیت ضعیف در بزرگنمایی تصاویر و بزرگنمایی گسسته
تایلهای وکتوری
تایلهای وکتوری، دادههای خام لایههای آن تکه از نقشه هستند که بهصورت رشتههای باینری (با فرمت PBF) ذخیره گردیدهاند. آنها به سمت کاربر فرستاده شده و در سیستم کاربر رندر و نمایش داده میشوند.
از همینرو و با توجه به این که رندر و نمایش نقشه بهطورکامل در سیستم کاربر انجام خواهدشد، برخلاف تایلهای رستری، قدرت کامپیوتر کاربر در نتیجهی نهایی کار به شکل مستقیم اثرگذار خواهد بود.
📌 برای رندرینگ و نمایش کاشیهای برداری، دادههای خام گرفته شده کاشی، بر اساس یک مستند استایلدهی (Style Specification) که نحوهی نمایش لایهها و ویژگیهای مختلف نقشه را مشخص میکند رسم شده و نمایش دادهمیشوند. البته اینکار بهصورت خودکار و بدون نیاز به دخالت کاربر انجام میپذیرد.
مزایای تایل وکتوری
- قابلیت استایلدهی متغیر (عدم وابستگی دادهها و نحوهی نمایش)
- صرفهجویی در زمان، حافظه و پهنای باند (فایلهایی که سمت کاربر فرستاده میشوند تا ۵۰ درصد کوچکتراند)
- قابلیت بزرگنمایی تصاویر و بزرگنمایی پیوسته
معایب تایل وکتوری
- نیاز به سختافزار مناسب و قدرتمند در سمت کاربر
چرا تایل؟
بهدلیل حجم بالای تصاویر خصوصاً در بزرگنماییهای بالا (نزدیکتر به سطح زمین) بارگذاری دادههای آن بهصورت یکباره و در قالب یک تصویر واحد، کاری دشوار و زمانبر خواهد بود. بههمینمنظور ارائهدهندگان سرویس نمایش نقشه، صفحهی تخت نقشه را به بخشهای مربعی یکسان یعنی همان کاشیها (tile) تقسیمبندی میکنند و در هنگام نمایش نقشه تنها کاشیهای مورد نیاز برای نمایش بخش مورد نظر کاربر که در صفحه نمایش او قابل مشاهده است را بارگذاری و به نمایش میگذارند.
همچنین با تکهتکه شدن تصاویر نقشه امکان بافر/کشکردن و انتقال سریعتر آنها بیشازپیش فراهم میشود؛ بنابراین کاشیهای رستری بهصورت از پیش رندر شده و کاشیهای وکتوری بهصورت دادههای خام ذخیره میشوند.
نمونهای از بارگذاری تایلهای نقشه رستری (جهت مشاهدهی بهتر، سرعت لود تایلها پایین آورده شده است).
نمونهای از بارگذاری تایلهای نقشه وکتوری [استایل light] (جهت مشاهدهی بهتر، سرعت لود تایلها پایین آورده شده است).
حالا دیگه وقتشه که نقشهی خودت رو داشته باشی، 😎 برای شروع استفاده از سرویسهای مپ، این پست رو مطالعه کن. 🤝