মানচিত্র এবং টাইল স্থানাঙ্ক

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

মানচিত্র জাভাস্ক্রিপ্ট API নিম্নলিখিত সমন্বয় সিস্টেম ব্যবহার করে:

  • অক্ষাংশ এবং দ্রাঘিমাংশের মান, যা বিশ্বের একটি বিন্দুকে অনন্যভাবে উল্লেখ করে। (গুগল ওয়ার্ল্ড জিওডেটিক সিস্টেম WGS84 স্ট্যান্ডার্ড ব্যবহার করে।)
  • বিশ্ব স্থানাঙ্ক, যা মানচিত্রের একটি বিন্দুকে অনন্যভাবে উল্লেখ করে।
  • পিক্সেল স্থানাঙ্ক, যা একটি নির্দিষ্ট জুম স্তরে মানচিত্রে একটি নির্দিষ্ট পিক্সেল উল্লেখ করে।
  • টাইল স্থানাঙ্ক, যা একটি নির্দিষ্ট জুম স্তরে মানচিত্রে একটি নির্দিষ্ট টাইল উল্লেখ করে।

বিশ্ব সমন্বয়

যখনই API-কে বিশ্বের একটি অবস্থানকে মানচিত্রের একটি অবস্থানে অনুবাদ করার প্রয়োজন হয়, এটি প্রথমে অক্ষাংশ এবং দ্রাঘিমাংশের মানগুলিকে একটি বিশ্ব সমন্বয়ে অনুবাদ করে৷ এপিআই এই অনুবাদটি সম্পাদন করতে Mercator প্রজেকশন ব্যবহার করে।

পিক্সেল স্থানাঙ্ক গণনার সুবিধার জন্য (নীচে দেখুন) আমরা ধরে নিই জুম স্তর 0-এ একটি মানচিত্র হল বেস টাইল আকারের একটি একক টাইল। তারপরে আমরা এই বেস টাইলে অক্ষাংশ এবং দ্রাঘিমাংশকে পিক্সেল অবস্থানে রূপান্তর করতে অভিক্ষেপ ব্যবহার করে জুম স্তর 0-এ পিক্সেল স্থানাঙ্কের সাপেক্ষে বিশ্ব স্থানাঙ্ক সংজ্ঞায়িত করি। এই বিশ্ব স্থানাঙ্ক হল একটি ভাসমান বিন্দু মান যা মানচিত্র অভিক্ষেপের উৎপত্তি থেকে নির্দিষ্ট স্থানে পরিমাপ করা হয়। মনে রাখবেন যেহেতু এই মানটি একটি ফ্লোটিং পয়েন্ট মান, এটি দেখানো হচ্ছে মানচিত্র চিত্রের বর্তমান রেজোলিউশনের চেয়ে অনেক বেশি সুনির্দিষ্ট হতে পারে। একটি বিশ্ব সমন্বয় বর্তমান জুম স্তর থেকে স্বাধীন, অন্য কথায়।

Google মানচিত্রে বিশ্বের স্থানাঙ্কগুলি মার্কেটর প্রজেকশনের উত্স থেকে পরিমাপ করা হয় (মানচিত্রের উত্তর-পশ্চিম কোণে 180 ডিগ্রি দ্রাঘিমাংশে এবং প্রায় 85 ডিগ্রি অক্ষাংশে) এবং পূর্ব দিকে (ডান) x দিক বৃদ্ধি এবং দক্ষিণের দিকে y দিকে বৃদ্ধি (নিচে)। যেহেতু বেসিক Mercator Google Maps টাইল 256 x 256 পিক্সেল, ব্যবহারযোগ্য বিশ্ব স্থানাঙ্ক হল {0-256}, {0-256}

উল্লেখ্য যে একটি Mercator প্রজেকশনের দ্রাঘিমাংশে একটি সীমিত প্রস্থ থাকে কিন্তু অক্ষাংশে একটি অসীম উচ্চতা থাকে। আমরা আনুমানিক +/- 85 ডিগ্রীতে মার্কেটর প্রজেকশন ব্যবহার করে বেস ম্যাপ ইমেজ কেটে ফেলি ফলে ম্যাপের আকৃতি বর্গাকার করতে, যা টাইল নির্বাচনের জন্য সহজ যুক্তির অনুমতি দেয়। মনে রাখবেন যে একটি অভিক্ষেপ বেস মানচিত্রের ব্যবহারযোগ্য স্থানাঙ্কের বাইরে বিশ্ব স্থানাঙ্ক তৈরি করতে পারে যদি আপনি খুঁটির খুব কাছাকাছি প্লট করেন, উদাহরণস্বরূপ।

পিক্সেল স্থানাঙ্ক

পিক্সেল স্থানাঙ্ক একটি নির্দিষ্ট জুম স্তরে মানচিত্রে একটি নির্দিষ্ট পিক্সেল উল্লেখ করে, যেখানে বিশ্ব স্থানাঙ্ক একটি প্রদত্ত অভিক্ষেপে পরম অবস্থানগুলিকে প্রতিফলিত করে। পিক্সেল স্থানাঙ্কগুলি নিম্নলিখিত সূত্র ব্যবহার করে গণনা করা হয়:

pixelCoordinate = worldCoordinate * 2zoomLevel

উপরের সমীকরণ থেকে, লক্ষ্য করুন যে প্রতিটি ক্রমবর্ধমান জুম স্তর x এবং y উভয় দিকেই দ্বিগুণ বড়। অতএব, প্রতিটি উচ্চতর জুম স্তরের ফলাফল পূর্ববর্তী স্তরের চেয়ে চার গুণ বেশি রেজোলিউশনে পরিণত হয়। উদাহরণস্বরূপ, জুম লেভেল 1-এ, মানচিত্রে 4 256x256 পিক্সেল টাইলস থাকে, যার ফলে 512x512 থেকে একটি পিক্সেল স্পেস থাকে। জুম স্তর 19 এ, মানচিত্রের প্রতিটি x এবং y পিক্সেল 0 এবং 256 * 2 19 এর মধ্যে একটি মান ব্যবহার করে উল্লেখ করা যেতে পারে।

যেহেতু আমরা মানচিত্রের টাইল আকারের উপর বিশ্ব স্থানাঙ্ক ভিত্তিক করেছি, একটি পিক্সেল স্থানাঙ্কের পূর্ণসংখ্যা অংশটি বর্তমান জুম স্তরে সেই অবস্থানে সঠিক পিক্সেল সনাক্ত করার প্রভাব রাখে৷ লক্ষ্য করুন যে জুম লেভেল 0 এর জন্য, পিক্সেল স্থানাঙ্কগুলি বিশ্ব স্থানাঙ্কের সমান।

আমাদের কাছে এখন প্রতিটি জুম স্তরে মানচিত্রে প্রতিটি অবস্থান নির্ভুলভাবে বোঝানোর একটি উপায় আছে৷ মানচিত্র জাভাস্ক্রিপ্ট এপিআই মানচিত্রের জুম স্তর কেন্দ্রে (একটি LatLng হিসাবে) এবং ধারণকারী DOM উপাদানের আকার দেওয়া একটি ভিউপোর্ট তৈরি করে এবং এই বাউন্ডিং বক্সটিকে পিক্সেল স্থানাঙ্কে অনুবাদ করে। API তারপর যৌক্তিকভাবে সমস্ত মানচিত্র টাইল নির্ধারণ করে যা প্রদত্ত পিক্সেল সীমার মধ্যে থাকে। এই মানচিত্রের প্রতিটি টাইলগুলিকে টাইল স্থানাঙ্ক ব্যবহার করে উল্লেখ করা হয়েছে যা মানচিত্রের চিত্র প্রদর্শনকে ব্যাপকভাবে সহজ করে তোলে।

টালি স্থানাঙ্ক

উচ্চতর জুম স্তরের জন্য API সমস্ত মানচিত্রের চিত্র একবারে লোড করতে পারে না৷ পরিবর্তে, API প্রতিটি জুম স্তরে চিত্রগুলিকে মানচিত্র টাইলগুলির একটি সেটে বিভক্ত করে, যা অ্যাপ্লিকেশনটি বুঝতে পারে এমন একটি ক্রমে যুক্তিযুক্তভাবে সাজানো হয়। যখন একটি মানচিত্র একটি নতুন অবস্থানে বা একটি নতুন জুম স্তরে স্ক্রোল করে, তখন API নির্ধারণ করে কোন টাইলগুলি পিক্সেল স্থানাঙ্ক ব্যবহার করে প্রয়োজন, এবং সেই মানগুলিকে পুনরুদ্ধার করার জন্য টাইলগুলির একটি সেটে অনুবাদ করে৷ এই টাইল স্থানাঙ্কগুলি একটি স্কিম ব্যবহার করে বরাদ্দ করা হয় যা কোন প্রদত্ত বিন্দুর জন্য কোন টাইলটিতে চিত্র রয়েছে তা নির্ধারণ করা যৌক্তিকভাবে সহজ করে তোলে।

গুগল ম্যাপে টাইলগুলি পিক্সেলের জন্য একই উত্স থেকে সংখ্যাযুক্ত। Google-এর Mercator প্রজেকশন বাস্তবায়নের জন্য, মূল টাইলটি সবসময় মানচিত্রের উত্তর-পশ্চিম কোণে থাকে, যেখানে x মান পশ্চিম থেকে পূর্বে এবং y মান উত্তর থেকে দক্ষিণে বৃদ্ধি পায়। টাইলগুলি সেই উত্স থেকে x,y স্থানাঙ্ক ব্যবহার করে সূচিত করা হয়। উদাহরণস্বরূপ, জুম লেভেল 2 এ, যখন পৃথিবী 16টি টাইলগুলিতে বিভক্ত হয়, প্রতিটি টাইল একটি অনন্য x,y জোড়া দ্বারা উল্লেখ করা যেতে পারে:

বিশ্বের মানচিত্র চারটি সারি এবং টাইলসের চারটি কলামে বিভক্ত।

দ্রষ্টব্য যে পিক্সেল স্থানাঙ্কগুলিকে টাইল আকার (256) দ্বারা ভাগ করে এবং ফলাফলের পূর্ণসংখ্যা অংশ গ্রহণ করে, আপনি বর্তমান জুম স্তরে টাইল স্থানাঙ্কটিকে উপ-পণ্য হিসাবে তৈরি করেন।

উদাহরণ

নিম্নলিখিত উদাহরণ শিকাগো, IL-এর জন্য স্থানাঙ্ক প্রদর্শন করে: অক্ষাংশ/দ্রাঘিমাংশের মান, বিশ্ব স্থানাঙ্ক, পিক্সেল স্থানাঙ্ক এবং টাইল স্থানাঙ্ক। বিভিন্ন জুম স্তরে স্থানাঙ্ক মান দেখতে জুম নিয়ন্ত্রণ ব্যবহার করুন।

স্থানাঙ্কগুলি কীভাবে গণনা করা হয়েছিল তা দেখতে, কোডটি দেখুন