আপনি এখন পর্যন্ত ব্যবহার করা প্রায় প্রতিটি interactive map Web Mercator-এ আঁকা। Google Maps, OpenStreetMap, Mapbox, MapLibre, Apple Maps, MapAtlas: সবই একই projection, EPSG database-এ EPSG:3857 হিসেবে চিহ্নিত। কারণটি সহজ: এটিই এমন projection যা tile grid-এ cleanly scale করে, যেকোনো zoom-এ shape চেনা যায় এবং প্রায় প্রতিটি business map use case-এর জন্য ভালো default backdrop হিসেবে কাজ করে।
এই গাইডে projection আসলে কী, কেন এটি যেভাবে area বিকৃত করে এবং কখন অন্য কিছু ব্যবহার করা উচিত তা ব্যাখ্যা করা হয়েছে।
৩০ সেকেন্ডে Projection
পৃথিবী মোটামুটি একটি sphere। Computer screen সমতল। Map projection হল একটি গাণিতিক function যা sphere-এ অবস্থান (ল্যাটিচিউড, লংগিচিউড) সমতল surface-এ অবস্থানে (x, y) রূপান্তর করে। প্রতিটি projection কিছু না কিছু trade off করে: shape, area, দূরত্ব, বা দিক। সব ব্যবহারের জন্য কোনো নিখুঁত projection নেই, যে কারণে cartography একটি discipline হিসেবে বিদ্যমান।
Web Mercator shape এবং দিক সংরক্ষণ করে। Area বিকৃত করে। বিষুবরেখা থেকে যত দূরে, মাটিতে প্রকৃত আকারের তুলনায় feature তত বড় দেখায়।
এক অনুচ্ছেদে গণিত
Radian-এ লংগিচিউড lng এবং ল্যাটিচিউড lat এর জন্য:
x = R * lngy = R * ln(tan(pi/4 + lat/2))
যেখানে R হল projection দ্বারা ব্যবহৃত spherical পৃথিবীর radius (EPSG:3857-এ ৬৩৭৮১৩৭ মিটার)। Tile grid এই x,y value-কে প্রতিটি zoom level-এ integer pixel coordinate-এ map করে, zoom 0 একটি ২৫৬x২৫৬ tile-এ বিশ্ব cover করে এবং প্রতিটি subsequent zoom resolution দ্বিগুণ করে।
Latitude bound প্রায় +/- 85.0511 ডিগ্রিতে সেট করা কারণ formula মেরুতে অসীমে যায়। এই কারণেই আপনি দেখা প্রতিটি Web Mercator world map-এ polar region clipped।
Area কেন Stretch হয়
মেরুর দিকে area বিকৃতি বাড়ার কারণ হল y-axis ল্যাটিচিউডে linear নয়। ln(tan(...)) term ল্যাটিচিউড line-এর মধ্যে spacing উত্তর বা দক্ষিণে যাওয়ার সাথে বাড়ায়। বিষুবরেখায়, এক ডিগ্রি ল্যাটিচিউড এক ডিগ্রি লংগিচিউডের মতো একই vertical space নেয়। হেলসিঙ্কিতে, এক ডিগ্রি ল্যাটিচিউড প্রায় দ্বিগুণ vertical space নেয়।
দুটি বিখ্যাত side effect:
- Greenland এবং আফ্রিকা। Web Mercator world map-এ Greenland আফ্রিকার প্রায় একই আকার দেখায়। বাস্তবে আফ্রিকা প্রায় চৌদ্দ গুণ বড়। একই illusion Antarctica-কে বিশ্বের নিচে একটি continuous strip দেখায়।
- রাশিয়া। রাশিয়া বিশাল দেখায় কারণ এর বেশিরভাগ অংশ high-latitude band-এ যেখানে vertical বিকৃতি apparent area গুণ করছে।
Street-level map-এর জন্য এর কিছুই গুরুত্বপূর্ণ নয়। Berlin-এর একটি neighbourhood এবং Sydney-র একটি neighbourhood উভয়ই প্রায় তাদের সত্যিকারের আকারে render করে। কিন্তু continent জুড়ে মান তুলনাকারী thematic map-এর জন্য এই বিকৃতি একটি বাস্তব সমস্যা।
EPSG:3857 বনাম EPSG:4326
যেকোনো geospatial codebase-এ আপনি উভয় EPSG code দেখতে পাবেন।
- EPSG:4326 (WGS84 lat/lng): angle। আপনি যেভাবে coordinate সংরক্ষণ করেন। GPS যেভাবে report করে। GeoJSON যেভাবে encode করে। এটি universal coordinate system।
- EPSG:3857 (Web Mercator): একটি projection। coordinate display-এর জন্য pixel-এ রূপান্তরিত হওয়ার উপায়।
Production-এ, শুধুমাত্র rendering boundary ছাড়া সর্বত্র 4326-এ কাজ করুন। PostGIS column: geometry(point, 4326)। JSON payload: WGS84-এ [lng, lat]। Map library input: 4326 coordinate যা renderer internally project করে।
3857-এ data সংরক্ষণ করা প্রায় সবসময় ভুল। যে মুহূর্তে আপনাকে দূরত্ব গণনা করতে, ভিন্ন map provider query করতে, বা GIS tool-এর মধ্য দিয়ে pipe করতে হবে, আপনাকে 4326-এ back project করতে হবে এবং conversion আপনার precision খরচ করবে।
কেন Web Mercator Web জিতেছে
২০০৫ সালে Google Maps launch করার সময়, team Web Mercator বেছে নিয়েছিল কারণ এটিই সহজতম projection যা প্রতিটি zoom level-এ square tile তৈরি করেছিল। Square tile power-of-two pyramid-এ cleanly slot করে: zoom 0 হল এক tile, zoom 1 হল চার, zoom 2 হল ষোল। প্রতিটি অন্য major web map provider একই convention অনুসরণ করেছিল কারণ tile set interchangeable হওয়া দরকার ছিল। বিশ বছর পরে, Web Mercator হল unspoken default। প্রায় প্রতিটি map style, প্রতিটি routing engine, প্রতিটি analytics overlay অন্যথা না বললে 3857 ধরে নেয়।
Web-এ ভিন্ন projection-এ switch করার মানে tile pyramid rebuild করা। এটি technically সম্ভব (Mapbox globe view সমর্থন করে, deck.gl custom projection সমর্থন করে) এবং global view mode-এর জন্য আরও সাধারণ হচ্ছে, কিন্তু street-level map-এর জন্য Web Mercator sticky।
কখন অন্য কিছু ব্যবহার করবেন
প্রায় প্রতিটি interactive city, regional বা country-level map-এর জন্য Web Mercator ব্যবহার করুন। দুটি পরিস্থিতিতে projection পরিবর্তন করুন:
- Thematic global map যা অঞ্চল জুড়ে মান তুলনা করে। Population density, নির্বাচনী ফলাফল, জলবায়ু variable, যেকোনো কিছু যেখানে visual area অর্থ বহন করে। উত্তর আমেরিকার জন্য Albers Equal Area, ইউরোপের জন্য Lambert Conformal, পুরো planet-এর জন্য Mollweide বা Equal Earth ব্যবহার করুন।
- Polar map। মেরুর কাছে Web Mercator ব্যর্থ হয়। Arctic এবং Antarctic-এর জন্য polar stereographic projection ব্যবহার করুন।
Internal GIS analysis (spatial join, দূরত্ব buffer, overlay analysis)-এর জন্য WGS84 angle বা দেশের জন্য designed local projected system-এ কাজ করুন (UTM zone, ইউরোপের জন্য ETRS89)। শুধুমাত্র display time-এ reproject করুন।
MapAtlas কীভাবে এটি পরিচালনা করে
MapAtlas Dynamic Maps product-এর জন্য default হিসেবে Web Mercator tile serve করে, প্রতিটি আধুনিক web map library আশা করে একই EPSG:3857 schema সহ। Geocoding API এবং Search API থেকে ফেরত আসা coordinate সবসময় WGS84 lat/lng (EPSG:4326)-এ, তাই আপনি source-of-truth coordinate সংরক্ষণ করেন এবং renderer-কে projection পরিচালনা করতে দেন। Projection tradeoff এবং কখন switch করতে হবে তার গভীর বিশ্লেষণের জন্য Map Projections guide দেখুন।
সাধারণ জিজ্ঞাসা
Web Mercator কী?
Web Mercator হল Google Maps, Bing Maps, Apple Maps, OpenStreetMap, Mapbox, MapLibre, MapAtlas এবং প্রায় প্রতিটি interactive web map ব্যবহৃত map projection। এটি web tile model-এর জন্য অভিযোজিত classic Mercator projection-এর একটি variant। EPSG geodetic database-এ এর identifier হল EPSG:3857। Projection ল্যাটিচিউড এবং লংগিচিউড (যা একটি sphere-এ angle) সমতল map-এ x,y coordinate-এ রূপান্তর করে, যা curved পৃথিবী একটি rectangular screen-এ render হওয়ার উপায়।
Web Mercator কেন area বিকৃত করে?
Web Mercator locally angle এবং shape সংরক্ষণ করে কিন্তু বিষুবরেখা থেকে যত দূরে feature তত বড় দেখায়। Stockholm বা Anchorage-এ, area তার প্রকৃত আকারের প্রায় দ্বিগুণ দেখায়; projection-এর polar limit-এ (প্রায় ৮৫ ডিগ্রি ল্যাটিচিউড), বিকৃতি অসীমের কাছে পৌঁছায়। এই কারণেই Web Mercator map-এ Greenland আফ্রিকার সমান আকার দেখায়, যদিও বাস্তবে আফ্রিকা চৌদ্দ গুণ বড়।
EPSG:3857 এবং EPSG:4326 এর মধ্যে পার্থক্য কী?
EPSG:4326 হল WGS84 ল্যাটিচিউড এবং লংগিচিউড, পৃথিবীতে একটি অবস্থান দুটি angle হিসেবে বর্ণনা করার universal উপায়। EPSG:3857 হল Web Mercator, সেই angle-গুলোর একটি flat x,y projection। আপনি 4326-এ coordinate সংরক্ষণ করেন (ল্যাটিচিউড, লংগিচিউড)। 3857-এ display করেন (projected pixel)। আধুনিক map library স্বয়ংক্রিয়ভাবে conversion করে, কিন্তু আপনার database বা code-এ দুটি coordinate system মিশিয়ে ফেলা bug-এর classic উৎস।
কখন ভিন্ন projection ব্যবহার করব?
যেকোনো general-purpose interactive map-এর জন্য Web Mercator ব্যবহার করুন: street view, navigation, store locator, real estate, fleet tracking। এলাকা জুড়ে মান তুলনাকারী thematic map-এর জন্য equal-area projection (Albers, Lambert, Mollweide) ব্যবহার করুন, বিশেষত continental বা global scale-এ। Polar region বা globe view-এর জন্য azimuthal projection। Internal GIS analysis-এর জন্য WGS84 lat/lng-এ কাজ করুন এবং শুধুমাত্র display time-এ project করুন।

