كل خريطة تفاعلية استخدمتها تقريباً مرسومة بـ Web Mercator. Google Maps وOpenStreetMap وMapbox وMapLibre وApple Maps وMapAtlas: جميعها تستخدم الإسقاط ذاته المعرَّف في قاعدة بيانات EPSG بـ EPSG:3857. السبب بسيط: إنه الإسقاط الذي يتناسب بسلاسة مع شبكة البلاطات ويحافظ على الأشكال قابلة للتعرف بأي تكبير ويعمل بشكل جيد كخلفية افتراضية لكل حالة استخدام خرائط تجارية تقريباً.
يشرح هذا الدليل ما هو الإسقاط فعلاً، ولماذا يشوّه المساحة بالطريقة التي يفعلها، ومتى ينبغي لك استخدام شيء آخر.
الإسقاط في 30 ثانية
الأرض كرة تقريباً. شاشة الحاسوب مستوية. إسقاط الخريطة دالة رياضية تحوّل المواضع على الكرة (خط العرض وخط الطول) إلى مواضع على السطح المستوي (x, y). كل إسقاط يقايض شيئاً ما: الشكل أو المساحة أو المسافة أو الاتجاه. لا يوجد إسقاط مثالي لجميع الاستخدامات، لهذا يوجد علم رسم الخرائط كتخصص.
Web Mercator يحافظ على الشكل والاتجاه. يشوّه المساحة. كلما ابتعدت عن خط الاستواء، زاد حجم المعالم مقارنةً بحجمها الحقيقي على أرض الواقع.
الرياضيات في فقرة واحدة
لخط الطول lng وخط العرض lat بالتقدير الدائري:
x = R * lngy = R * ln(tan(pi/4 + lat/2))
حيث R هو نصف قطر الأرض الكروية المستخدم في الإسقاط (6378137 متراً في EPSG:3857). تُعيّن شبكة البلاطات قيم x,y هذه إلى إحداثيات بكسل صحيحة عند كل مستوى تكبير، مع تكبير 0 يغطي العالم في بلاطة واحدة 256×256 وكل تكبير لاحق يضاعف الدقة.
حد خط العرض عند نحو ±85.0511 درجة لأن الصيغة تذهب إلى اللانهاية عند القطبين. لهذا تُقطع المناطق القطبية في كل خريطة Web Mercator رأيتها.
لماذا تتمدد المساحات نحو القطبين
سبب تزايد تشويه المساحة نحو القطبين أن المحور الرأسي y ليس خطياً في خط العرض. مصطلح ln(tan(...)) يجعل الفراغ بين خطوط العرض يتزايد مع التحرك شمالاً أو جنوباً. عند خط الاستواء، درجة واحدة من خط العرض تشغل المساحة الرأسية ذاتها كدرجة واحدة من خط الطول. أما في هلسنكي فدرجة واحدة من خط العرض تشغل ضعف المساحة الرأسية تقريباً.
تأثيران شهيران:
- غرينلاند وأفريقيا. في خريطة Web Mercator للعالم، تبدو غرينلاند بحجم أفريقيا تقريباً. في الواقع أفريقيا أكبر منها بنحو أربعة عشر ضعفاً. الوهم ذاته يجعل القارة القطبية الجنوبية تبدو كشريط متصل عبر قاع العالم.
- روسيا. تبدو روسيا ضخمة لأن معظمها يقع في نطاق خطوط العرض العالية حيث يضاعف التشويه الرأسي مساحتها الظاهرة.
لخرائط مستوى الشوارع لا يهم شيء من هذا. حي في برلين وحي في سيدني يصيَّران بشكلهما الحقيقي تقريباً. لكن للخرائط الموضوعية التي تقارن القيم عبر القارات، هذا التشويه مشكلة حقيقية.
EPSG:3857 مقابل EPSG:4326
ستجد كلا الكودَين EPSG في أي قاعدة كود جغرافي مكاني.
- EPSG:4326 (WGS84 خط العرض/الطول): زوايا. الطريقة التي تخزّن بها الإحداثيات. الطريقة التي يبلغ عنها GPS. الطريقة التي يرمّز بها GeoJSON. هذا النظام الإحداثي العالمي.
- EPSG:3857 (Web Mercator): إسقاط. الطريقة التي تتحول بها الإحداثيات إلى بكسلات للعرض.
في الإنتاج، اعمل بـ 4326 في كل مكان إلا عند حدود التصيير. أعمدة PostGIS: geometry(point, 4326). حمولات JSON: [lng, lat] في WGS84. إدخال مكتبة الخرائط: إحداثيات 4326 يسقطها المصيِّر داخلياً.
تخزين البيانات في 3857 خاطئ في الغالب. فور الحاجة لحساب مسافة أو الاستعلام من مزود خرائط مختلف أو تمرير البيانات عبر أداة GIS، يتعين عليك الإسقاط عكساً إلى 4326 وتكلّفك التحويل دقة.
لماذا فاز Web Mercator على الويب
حين أطلقت Google Maps عام 2005، اختار الفريق Web Mercator لأنه أبسط إسقاط ينتج بلاطات مربعة في كل مستوى تكبير. البلاطات المربعة تتسع بسلاسة في هرم أسس اثنين: التكبير 0 بلاطة واحدة، التكبير 1 أربع، التكبير 2 ستة عشر. كل مزود خرائط ويب رئيسي آخر اتبع الاصطلاح ذاته لأن مجموعات البلاطات كانت بحاجة للتبادل. بعد عشرين عاماً، Web Mercator هو الافتراض غير المعلن. كل نمط خريطة وكل محرك توجيه وكل تراكب تحليلي يفترض 3857 ما لم يُخبَر بغير ذلك.
التحول إلى إسقاط مختلف على الويب يعني إعادة بناء هرم البلاطات. ممكن تقنياً وبات أكثر شيوعاً لأوضاع العرض الكروي، لكن لخرائط مستوى الشوارع Web Mercator راسخ.
متى تستخدم شيئاً آخر
استخدم Web Mercator لكل خريطة تفاعلية على مستوى المدينة أو المنطقة أو الدولة. انتقل إلى إسقاطات أخرى في سيناريوهين:
- الخرائط الموضوعية العالمية التي تقارن القيم عبر المناطق: كثافة السكان ونتائج الانتخابات والمتغيرات المناخية. استخدم Albers Equal Area لأمريكا الشمالية وLambert Conformal لأوروبا وMollweide أو Equal Earth للكوكب كله.
- الخرائط القطبية. قرب القطبين ينهار Web Mercator. استخدم إسقاطاً استريوغرافياً قطبياً للقطب الشمالي والقطب الجنوبي.
للتحليل الداخلي بـ GIS، اعمل بزوايا WGS84 أو بنظام إسقاط محلي مصمم للدولة المعنية. أعِد الإسقاط عند وقت العرض فقط.
كيف تتعامل MapAtlas مع الأمر
تقدم MapAtlas بلاطات Web Mercator بشكل افتراضي لمنتج الخرائط الديناميكية بمخطط EPSG:3857 الذي تتوقعه كل مكتبة خرائط ويب حديثة. الإحداثيات المُعادة من Geocoding API وSearch API تكون دائماً بنظام WGS84 خط العرض/الطول (EPSG:4326)، فتخزّن الإحداثيات الأصلية وتترك للمصيِّر معالجة الإسقاط.
الأسئلة الشائعة
ما هو Web Mercator؟
Web Mercator هو إسقاط الخريطة المستخدم في Google Maps وBing Maps وApple Maps وOpenStreetMap وMapbox وMapLibre وMapAtlas وكل خريطة ويب تفاعلية تقريباً. إنه متغيّر من إسقاط Mercator الكلاسيكي مُكيَّف لنموذج بلاطات الويب. معرّفه في قاعدة بيانات EPSG هو EPSG:3857. يحوّل الإسقاط خط العرض وخط الطول (وهما زوايا على كرة) إلى إحداثيات x,y على خريطة مستوية، وهو كيف ينتهي المطاف بالأرض الكروية مصيَّرةً على شاشة مستطيلة.
لماذا يشوّه Web Mercator المساحة؟
يحافظ Web Mercator على الزوايا والأشكال محلياً لكنه يمدد المعالم كلما ابتعدت عن خط الاستواء. في ستوكهولم أو أنكوريدج تبدو المساحات نحو ضعف حجمها الحقيقي، وعند حدود الإسقاط القطبية يقترب التشويه من اللانهاية. لهذا تبدو غرينلاند بحجم أفريقيا في خريطة Web Mercator، بينما أفريقيا أكبر منها بأربعة عشر ضعفاً. التشويه هو ثمن الحفاظ على الأشكال قابلة للتعرف، وهو ما يريده معظم المستخدمين.
ما الفرق بين EPSG:3857 وEPSG:4326؟
EPSG:4326 هو WGS84 خط العرض وخط الطول، الطريقة العالمية لوصف موضع على الأرض كزاويتين. EPSG:3857 هو Web Mercator، إسقاط x,y مستوٍ لتلك الزوايا. تخزّن الإحداثيات في 4326 وتعرضها في 3857. مكتبات الخرائط الحديثة تتعامل مع التحويل تلقائياً، لكن خلط نظامَي الإحداثيات في قاعدة بياناتك أو كودك مصدر كلاسيكي للأخطاء.
متى ينبغي استخدام إسقاط مختلف؟
استخدم Web Mercator لأي خريطة تفاعلية للأغراض العامة: عرض الشوارع والملاحة ومحدد المتاجر والعقارات وتتبع الأسطول. انتقل إلى إسقاط متساوي المساحة كـ Albers أو Lambert أو Mollweide للخرائط الموضوعية التي تقارن قيماً عبر المناطق، خاصةً على نطاق القارات أو الكوكب. انتقل إلى إسقاط أزيموثي للمناطق القطبية أو عروض الكرة. للتحليل الداخلي بـ GIS، اعمل بإحداثيات WGS84 وابدأ الإسقاط عند وقت العرض فقط.

